如何解决Firebase-BigQuery A/B-Test 目标分析
Firebase 有这个简洁的小功能,可以自动生成 sql 以确定 A/B 测试实验的每个变体记录的分析事件的事件计数。
SELECT
"Experiment_Name" AS experimentName,CASE userProperty.value.string_value
WHEN "0" THEN "Baseline"
WHEN "1" THEN "Variant A"
WHEN "2" THEN "Variant B"
WHEN "3" THEN "Variant C"
WHEN "4" THEN "Variant D"
END AS experimentvariant,event_name as eventName,COUNT(*) AS count
FROM
`<id>.events_*`,UNnesT(user_properties) AS userProperty
WHERE
(_TABLE_SUFFIX between '20210625' AND '20210721')
AND userProperty.key = "firebase_exp_number"
GROUP BY experimentvariant,eventName
我想解决的问题的上下文:鉴于 Firebase A/B 测试控制台的当前限制,我想制定一个解决方案:
具体问题:
我想知道是否可以进一步优化下面的代码示例?我已经通过在顶部执行 SELECT *
并在底部添加 WHERE
子句尝试了一些优化。
with base AS (
SELECT *
FROM `<id>.analytics_<number>.events_*`
WHERE (_TABLE_SUFFIX between '20210625' AND '20210721')
)
SELECT
event_date AS _date,"Experiment_Name" AS experimentName,COUNT(event_name) AS event_count,COUNT(disTINCT user_pseudo_id) AS event_users_distinct,ROUND(COUNT(event_name)/COUNT(disTINCT user_pseudo_id),2) AS _avg
FROM
base,UNnesT(user_properties) AS userProperty,UNnesT(event_params) AS param
WHERE
userProperty.key = "firebase_exp_number"
AND platform = "ANDROID"
AND (
param.key = "firebase_screen"
AND event_name = "screen_view"
AND param.value.string_value = "specific_screen_name"
)
AND app_info.version = "0.0.1"
GROUP BY _date,experimentvariant,eventName
提前致谢:)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。