BigQuery に Predictions データをエクスポートする

予測データを BigQuery にエクスポートしてさらに分析できます。BigQuery では、BigQuery SQL を使用してデータを分析したり、別のクラウド プロバイダにデータをエクスポートしたり、カスタム ML モデルのデータを使用したりできます。

BigQuery Export の有効化

開始するには、Firebase コンソールの [Predictions] パネルにアクセスし、ページの下部にある通知から [BigQuery をリンク] を選択します。また、左側のナビゲーション バーから [設定] > [プロジェクトの設定] をクリックし、[統合] > [BigQuery] > [リンク] を選択して開始することもできます。

BigQuery にエクスポートされるデータの概要

プロジェクトの各アプリについて、各ユーザーの予測データを含むテーブルが作成されます。評価セットの一部として予測レコードが使用された場合は、評価のラベルとスコアもエクスポートされます。評価ラベルは、「0」(予測がネガティブであった場合)と「1」(予測がポジティブであった場合)のいずれかになります。

ホールドアウト データや評価データとは何ですか。

すべてのデータがトレーニングに直接使用されるわけではありません。教師あり学習タスクでは一般的ですが、Predictions ではデータの 20% をホールドアウト データとして確保し、データの残り 80% のみを使用してモデルをトレーニングします。続いて、モデルのパフォーマンスを評価するために、トレーニング期間のデータに基づいてホールドアウト セットのユーザーに対して予測が生成されます。予測は、ラベル期間から生成されたラベルに基づいて、各ユーザーの実際の結果と比較されます。

エクスポートされたデータで可能な操作

BigQuery のエクスポートには、スコアとラベル付きホールドアウト データとともに、すべてのリスク プロファイルの元の予測データが含まれます。

元の Predictions データにアクセスする

すべてのリスク プロファイルの計算済み予測結果が得られるだけでなく、ユーザーごとの元スコアに加えてラベル付きホールドアウト データのセットも取得できます。このデータを使用すると、独自の Predictions のパフォーマンスを評価したり、UI で定義されている 3 つのリスク許容度プロファイルを超えるユーザー グループを作成したりできます。

データを BigQuery に転送する

BigQuery Data Transfer Service を使用すると、あらかじめ設定されたスケジュールに基づいて、Firebase 向け Google アナリティクス、Crashlytics、Google マーケティング プラットフォーム、Google 広告、YouTube からデータを BigQuery にフルマネージドで自動転送できます。その Predictions データを使用して、支出が予測されるユーザー数が最大になる集客チャネルの確認など、洗練された分析を実行できます。

Predictions のエクスポートには、アプリ インストールの一意のインスタンスを識別する instance_id フィールドが含まれます。この値は他のデータと組み合わせて使用できます。

Predictions をあらゆる場面で活用する

Predictions は Firebase Remote Config、Notifications、A/B Testing と統合されていますが、場合によっては Predictions の結果をサーバー側でアクセスしたり、別のサードパーティ ソリューションに push したりする必要があることを、Google は認識しています。データをエクスポートするには、BigQuery ウェブ UI を使用するか、CLI の bq extract コマンドを使用するか、API またはクライアント ライブラリ経由で抽出ジョブを送信します。現時点では、データのエクスポートは無料です。

CSV エクスポート用にすべての予測データを取得する

以下のサンプルクエリでは予測データをフラット化し、CSV 形式または Google スプレッドシートにエクスポートできるようにします。

SELECT
  FORMAT_TIMESTAMP("%Y%m%d",u.prediction_time) AS prediction_date,
  u.instance_id,
  u.app_id,
  u.project_id,
  u.prediction_time,
  p.prediction_name,
  p.score,
  p.id,
  p.evaluation_info.label,
  p.evaluation_info.score AS label_score,
  r.risk_profile_name,
  r.prediction_result
FROM
  Table_Name u,
  u.predictions p,
  p.risk_profiles r
ORDER BY
  u.prediction_time ASC
LIMIT 10

モデル評価(ホールドアウト)に使用される予測の詳細をすべて取得する

SELECT
  FORMAT_TIMESTAMP("%Y%m%d",u.prediction_time) AS prediction_date,
  u.instance_id,
  u.app_id,
  u.project_id,
  u.prediction_time,
  p.prediction_name,
  p.score,
  p.id,
  p.evaluation_info.label,
  p.evaluation_info.score AS label_score,
  r.risk_profile_name,
  r.prediction_result
FROM
  Table_Name u,
  u.predictions p,
  p.risk_profiles r
WHERE
  p.evaluation_info.label is not null
ORDER BY
  u.prediction_time ASC
LIMIT 10

予測データとアナリティクス データを組み合わせて高度な分析を実現

分析のために BigQuery エクスポートを有効にし、さらに高度な分析のためにアナリティクス イベントのデータを予測と結合できます。

予測されるアプリのアンインストールが最大の国を分析する

SELECT
  predictions.prediction_name,
  risk_profiles.risk_profile_name,
  events.geo.country,
  COUNT(1) AS count
FROM
  Analytics_Table_Name events,
  Predictions_Table_Name predictions_data,
  predictions_data.predictions predictions,
  predictions.risk_profiles risk_profiles
WHERE
  predictions.prediction_name = 'churn'
  AND risk_profiles.prediction_result = 'POSITIVE'
  AND predictions_data.user_id = events.user_id
GROUP BY
  predictions.prediction_name,
  risk_profiles.risk_profile_name,
  events.geo.country
ORDER BY
  risk_profiles.risk_profile_name

アナリティクスの取得チャネルデータを使用して、最も多くのユーザーが使用すると予測されるチャネルを確認する

SELECT
  predictions.prediction_name,
  risk_profiles.prediction_result,
  risk_profiles.risk_profile_name,
  events.traffic_source.source,
  COUNT(1) as user_count
FROM
  Predictions_Table_Name predictions_data,
  predictions_data.predictions predictions,
  predictions_data.predictions predictions,
  predictions.risk_profiles risk_profiles
WHERE
  predictions.prediction_name = 'spend'
  AND risk_profiles.prediction_result = 'POSITIVE'
  AND predictions_data.user_id = events.user_id
GROUP BY
  predictions.prediction_name,
  risk_profiles.prediction_result,
  risk_profiles.risk_profile_name,
  events.traffic_source.source
ORDER BY
   user_count desc, risk_profiles.risk_profile_name

料金

Predictions からのデータのエクスポートには料金がかかりません。また、BigQuery では無料の使用制限があります。詳細については、BigQuery の料金または BigQuery のサンドボックスをご覧ください。

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。