将预测数据导出至 BigQuery

您可以将预测数据导出至 BigQuery 以用于进一步分析。借助 BigQuery,您可以使用 BigQuery SQL 分析数据,将数据导出至其他云服务商,或将该数据用于自定义机器学习模型。

启用 BigQuery 导出

首先,访问 Firebase 控制台的 Predictions(预测)面板,然后在页面底部的通知中选择“关联 BigQuery”。您也可以从左侧导航栏中选择设置 > 项目设置,然后选择集成 > BigQuery > 关联以开始操作。

哪些数据会导出至 BigQuery?

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

什么是留出/评估数据?

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

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

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

访问原始预测数据

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

将数据转移到 BigQuery 中

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

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

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

尽管 Firebase 预测已与 Firebase 远程配置、通知和 A/B 测试相集成,但我们了解您可能需要从服务器端访问预测结果或将其推送到其他第三方解决方案。您可以通过以下方法导出数据:使用 BigQuery 网页界面、使用 bq extract CLI 命令,或通过 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

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

您可以为 Analytics 启用 BigQuery 导出功能,并将 Analytics 事件数据与 Firebase 预测搭配使用,以实现更强有力的分析。

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

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

使用 Google 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 沙盒

发送以下问题的反馈:

此网页
需要帮助?请访问我们的支持页面