微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Firebase-BigQuery A/B-Test 目标分析

如何解决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 测试控制台的当前限制,我想制定一个解决方案:

  • 拉取当前 CVR 限制 6 之外的事件
  • 根据事件计数提取用户
  • 通过事件参数过滤这些事件

具体问题: 我想知道是否可以进一步优化下面的代码示例?我已经通过在顶部执行 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 举报,一经查实,本站将立刻删除。