转到控制台

将预测数据导出至 BigQuery

您可以将 Firebase 预测数据导出到 BigQuery 以进行进一步分析。借助 BigQuery,您可以使用 BigQuery SQL 来分析数据,将数据导出至其他云提供商,甚至可以将这些数据用于自定义机器学习模型。

启用 BigQuery 导出

  1. 在 Firebase 控制台中转到集成页面。

  2. BigQuery 卡片中,点击关联

  3. 按照屏幕上的说明启用 BigQuery。

当您将项目关联到 BiqQuery 时:

  • Firebase 会将您的现有数据的副本导出到 BigQuery。

  • Firebase 会安排定期将您的数据从 Firebase 项目同步到 BigQuery。

  • 默认情况下,您项目中的所有应用都会关联到 BigQuery,而且您以后向项目中添加的所有应用也都会自动关联到 BigQuery。您可以控制哪些应用可发送数据

要停用 BigQuery 导出,请在 Firebase 控制台中取消关联您的项目

哪些数据会导出至 BigQuery?

对于项目中的每个应用,数据导出会创建一个表,其中包含每个用户的预测数据。如果预测记录用作了评估集的一部分,则评估标签和得分也会一并导出。如果预测结果为负,则评估标签为 0;如果预测结果为正,则评估标签为 1。

什么是留出/评估数据?

并非所有数据都会直接用于训练。与监管学习任务的典型情况一样,Firebase 预测会将 20% 的数据作为留出数据,仅使用其余 80% 的数据来训练模型。然后,为了评估模型的效果,系统会根据训练期的数据为留出数据集内的用户生成预测,并根据标签期生成的标签,对比每个用户的预测结果和实际结果。

您可以对导出的数据执行哪些操作?

BigQuery 导出的数据中包含每种风险概况的原始预测数据,以及得分和已加标签的留出数据。

访问原始预测数据

除了为每种风险概况计算出的预测结果外,您还可获取每个用户的原始得分以及已加标签的留出数据集。您可以使用该数据来评估自己的预测的效果,或者创建界面中定义的三种风险容忍概况范畴以外的用户组。

将数据转移到 BigQuery 中

借助 BigQuery Data Transfer Service,您可按预定安排将数据从 Google Analytics(分析)、Crashlytics、Google Marketing Platform、Google Ads 和 YouTube 自动转移到 BigQuery,整个过程完全由系统托管。然后,您就可以使用这些预测数据执行复杂的分析,例如了解哪个流量获取渠道吸引的预计可能会花钱的用户数量最多。

导出的预测数据中包含 instance_id 字段,即每个应用安装实例的唯一标识符。您可以将此值与其他数据一起使用。

在其他产品中使用预测数据

由于 Firebase 预测与 Firebase 远程配置、Firebase 云消息传递和 Firebase A/B 测试相集成,您可能希望从服务器端访问预测结果或将其推送到其他第三方解决方案。目前,您可免费导出数据。

您可以通过以下方式导出数据:

获取所有预测数据以导出为 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

将预测数据与 Analytics 数据搭配使用,以实现更强大的分析

您可以为 Google Analytics(分析)启用 BigQuery 导出功能,然后将 Analytics 事件数据与预测搭配使用,以实现更强大的分析。

分析哪个国家/地区的预测流失率最高

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

使用 Analytics 中的流量获取渠道数据,了解哪些渠道带来的预计可能会花钱的用户最多

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

价格

从 Firebase 预测中导出数据是免费的,并且 BigQuery 提供宽裕的免费使用限额。如需了解详细信息,请参阅 BigQuery 价格BigQuery 沙盒