【Databricks】メトリクスビューを使用してGenieの回答精度を向上させる

目次

はじめに

データ分析を行う際、一般的にはSQLを記述してデータベースに問い合わせを行います。しかしSQLには一定の専門知識が必要であり、ビジネスユーザーにとってはハードルが高い場面も少なくありません。

Databricks Genieはこの課題を解決するAI機能です。自然言語で質問を入力するだけでSQLを自動生成・実行し、分析結果を返してくれます。

ただし、指標の定義があいまいな状態ではGenieはカラム情報のみから推測して回答するため、ユーザーの意図と異なる結果が返ってくることがあります。

そこで活用したいのがメトリクスビューです。指標の計算ロジックをあらかじめ定義しておくことで、Genieはより正確にユーザーの意図を汲み取った回答を返せるようになります。

本記事では架空のアンケートデータを使用し、メトリクスビューあり・なしの2つのGenieで回答精度を比較します。

Databricks Genieとは

Databricks Genieは、Databricksプラットフォーム上のAI対話型データ分析機能です。自然言語で質問を入力するだけでSQLクエリを自動生成・実行し、結果を返してくれます。SQLに不慣れなビジネスユーザーでもデータに直接アクセスできる点が大きな特徴です。

メトリクスビューとは

メトリクスビューとは、ビジネス指標の計算ロジックや使用するカラムをあらかじめ定義しておく仕組みです。Genieはこの定義を参照することで、曖昧な質問に対しても意図に沿った正確な回答を生成できます。

メトリクスビューがない場合、Genieはカラム名や型情報だけを頼りに回答を生成します。たとえば「NPSを教えて」という質問に対して、本来の計算式(推奨者割合 − 批判者割合)ではなく、nps_scoreの単純平均を返してしまうことがあります。メトリクスビューで定義を明示することで、ビジネス上の意図と一致した回答が得られるようになります。

使用するデータ

データの概要

Databricks製品に関する架空の顧客満足度アンケートデータを使用します。2024年に収集された回答を模したもので、顧客属性・製品利用状況・各種満足度スコア・再購入意向などを含んでいます。

カラムとその説明

カラム名説明値の例
response_id回答を一意に識別するID1, 2, 3
response_date回答日付2024-01-17, 2024-08-02
age_group回答者の年代20代, 30代, 40代
gender回答者の性別男性, 女性
region回答者の居住地域北海道, 東北, 近畿, 九州・沖縄
product_category利用製品カテゴリBIダッシュボード, MLプラットフォーム, データ分析ツール, クラウドストレージ
usage_period製品の利用期間1年未満, 3年以上
nps_scoreNPSの元となるスコア(0〜10の整数)7, 1, 10
satisfaction_overall総合満足度(1〜5の整数)3, 1, 5
satisfaction_supportサポート満足度(1〜5の整数)4, 1, 5
satisfaction_price価格満足度(1〜5の整数)3, 1, 5
repurchase_intent再購入意向高, 中, 低
free_comment自由記述テキストUIが直感的で使いやすいです。

実験概要

メトリクスビューを設定しないGenieスペース(Genie A)と、メトリクスビューを設定したGenieスペース(Genie B)の2つを用意し、同一の質問を投げかけて回答を比較します。

比較に使用する質問は以下の3つです。

Q1. 最も満足度が高い製品カテゴリはどれですか?

Q2. 優良顧客(ロイヤル顧客)は何人いますか?

Q3. 解約リスクが高い顧客の割合は何%ですか?

Q1は複数の満足度カラムのうちどれを使うかの解釈が変わりやすい質問です。Q2・Q3は「優良顧客」「解約リスク」という概念がデータに存在しないため、メトリクスビューによる定義がなければGenieは正しく回答できません。

作成するメトリクスビュー

総合満足度スコアメトリクス

satisfaction_overallsatisfaction_supportsatisfaction_priceの3カラムを均等加重平均した値を、製品カテゴリごとの満足度比較に使用する指標として定義します。

version: 1.1
source: since_workspace_aws.experiment.survey_data_sample
comment: 製品カテゴリごとの総合満足度を比較するためのメトリクスビュー

dimensions:
  - name: product_category
    expr: product_category
    display_name: 製品カテゴリ

measures:
  - name: avg_satisfaction_score
    expr: |
      (AVG(satisfaction_overall)
       + AVG(satisfaction_support)
       + AVG(satisfaction_price)) / 3
    display_name: 総合満足度スコア
    comment: overall・support・price の3つの満足度スコアを均等に加重平均した値
    synonyms: ['満足度', '総合スコア', '平均満足度']

優良顧客数メトリクス

「優良顧客」をNPSスコアが9以上、かつ総合満足度が4以上、かつ再購入意向が「高」の顧客と定義し、その件数を集計する指標です。この定義はビジネス固有のものであり、メトリクスビューなしではGenieは推測できません。

version: 1.1
source: since_workspace_aws.experiment.survey_data_sample
comment: 優良顧客(ロイヤル顧客)の件数を集計するためのメトリクスビュー

dimensions:
  - name: product_category
    expr: product_category
    display_name: 製品カテゴリ

  - name: age_group
    expr: age_group
    display_name: 年代

  - name: region
    expr: region
    display_name: 地域

measures:
  - name: loyal_customer_count
    expr: COUNT_IF(nps_score >= 9 AND satisfaction_overall >= 4 AND repurchase_intent = '高')
    display_name: 優良顧客数
    comment: NPS 9以上、総合満足度 4以上、再購入意向「高」をすべて満たす顧客の件数
    synonyms: ['ロイヤル顧客数', '優良顧客', 'ロイヤルカスタマー']

解約リスク顧客率メトリクス

「解約リスクが高い顧客」をNPSスコアが6以下、かつ総合満足度が2以下、かつ再購入意向が「低」の顧客と定義し、全体に占める割合(%)を集計する指標です。

version: 1.1
source: since_workspace_aws.experiment.survey_data_sample
comment: 解約リスクが高い顧客の割合を集計するためのメトリクスビュー

dimensions:
  - name: product_category
    expr: product_category
    display_name: 製品カテゴリ

  - name: age_group
    expr: age_group
    display_name: 年代

  - name: region
    expr: region
    display_name: 地域

measures:
  - name: churn_risk_rate
    expr: COUNT_IF(nps_score <= 6 AND satisfaction_overall <= 2 AND repurchase_intent = '低') / COUNT(*) * 100
    display_name: 解約リスク顧客率
    comment: NPS 6以下、総合満足度 2以下、再購入意向「低」をすべて満たす顧客の割合(%)
    synonyms: ['チャーンリスク率', '解約リスク率', '離脱リスク顧客率']

結果

Q1. 最も満足度が高い製品カテゴリはどれですか?

GenieA:

GenieB:

考察:

Genie AはsatisfactionカラムのうちSatisfaction_overallのみを参照して回答を返しました。一方Genie Bはメトリクスビューの定義に従い、satisfaction_overall・satisfaction_support・satisfaction_priceの3カラムを均等加重平均した総合満足度スコアで比較しています。

使用するカラムの違いにより、結果がわずかに異なっています(A:3.0782、B:3.0602)。このように「満足度」という曖昧な言葉に対して、Genieがどのカラムを使うかはメトリクスビューなしでは保証されません。

Q2. 優良顧客(ロイヤル顧客)は何人いますか?

GenieA:

  • 回答

GenieB:

  • 回答

考察:

Genie Aは「ロイヤル顧客」という概念をデータから推測し、repurchase_intentが「高」の件数のみで回答しました(533件)。一方Genie Bはメトリクスビューの定義に従い、NPS 9以上・総合満足度 4以上・再購入意向「高」の3条件をすべて満たす顧客のみを優良顧客として集計し、182件を返しています。

Genie Aの回答は条件が不十分で過大評価になっており、ビジネス上の正しい定義とは異なる結果です。独自の複合条件が必要な指標こそ、メトリクスビューによる定義が不可欠であることがわかります。

Q3. 解約リスクが高い顧客の割合は何%ですか?

GenieA:

  • 回答

GenieB:

  • 回答

考察:

Genie Aは「解約リスク」という概念を推測し、repurchase_intentが「低」の割合のみで回答しました(30.47%)。一方Genie Bはメトリクスビューの定義に従い、NPS 6以下・総合満足度 2以下・再購入意向「低」の3条件をすべて満たす顧客の割合として集計し、20.47%を返しています。

Genie Aは単一カラムで判断しているため過大評価となっており、実際のリスク顧客を正確に特定できていません。解約リスクのようなビジネス固有の複合指標は、メトリクスビューで明確に定義することで初めて正確な回答が得られます。

まとめ

メトリクスビューを設定することで、Genieはビジネス上の定義に基づいた正確な回答を返せるようになります。設定がない場合、Genieはカラム情報のみから推測して回答するため、NPSのような特定の計算ロジックが必要な指標では誤った結果を返す可能性があります。Genieを実務で活用する際は、メトリクスビューの整備が回答精度を高める重要なステップとなります。

CTA
  • URLをコピーしました!
  • URLをコピーしました!
この記事を書いた人
目次