我正在尝试查看 Firebase 预测的准确度。我已将 firebase 预测和分析事件导出到 BigQuery。为了测试预测的性能,我编写了一个查询来收集churn
事件的预测,然后将其与app_remove
分析中的事件结合起来。问题是对于很多很多用户来说,app_remove
事件是在预测日期之前记录的!好像 google 等待用户流失,然后将流失的预测放在表中。我错过了什么吗?
这是我的代码:
SELECT
b.day AS prediction_day,
b.user_id,
c.day AS churn_day
FROM
(
SELECT
MIN(day) AS day,
user_id
FROM
(
SELECT
CAST(u.prediction_time AS DATE) AS day,
u.user_id,
p.id,
p.probability,
p.observed_label
FROM
`Predictions_table` AS u,
u.predictions AS p
)a
WHERE
a.probability > 0.2
AND a.id = 'churn'
AND NOT (a.user_id IS NULL OR a.user_id = '')
GROUP BY
user_id
)b
LEFT JOIN
(
SELECT
MAX(day) AS day,
user_id
FROM
(
SELECT
CAST(TIMESTAMP_MICROS(event_timestamp) AS DATE) AS day,
user_id
FROM
`Analytics_table`
WHERE
event_name = 'app_remove'
AND NOT (user_id IS NULL OR user_id = '')
)e
GROUP BY
user_id
)c
ON b.user_id = c.user_id