firebase - Firebase vs BigQuery:不同的用户不匹配
问题描述
我无法理解 Firebase 控制台和 BigQuery 之间计算不同用户的差异,请您帮我理解它们吗?
- 在 bigquery 中,我运行以下查询:
select x.daytime, count(distinct x.user_pseudo_id) from (
select _TABLE_SUFFIX daytime, user_pseudo_id
from `analytics_186900506.events_*`
where _TABLE_SUFFIX BETWEEN '20200501' AND '20200531'
and event_name="session_start"
and platform ='ANDROID'
) x
group by x.daytime
order by x.daytime
- 在 firebase 控制台中,我选择 event="session_start",按 Platform=Android 和 2020 年 5 月 1 日至 31 日期间过滤。然后我将结果导出到 csv 文件。
我检测到在先验不再修改的时间段内,每天不同用户的数量存在 0-5% 的差异,他们已经超过 1 周了。一般来说,bigquery 中的结果要么与 Firebase 匹配,要么略高。在 bigquery 中查看数据,也不适合我认为这是由于时区的差异。查询中有错误吗?
解决方案
您的查询似乎很好;但是,不建议使用 session_start 事件进行比较:
永远不要比较像 session_start 或 user_engagement 这样经常触发的事件。
在同一个答案中,还有一些关于 Firebase 中 count 方法的有趣信息可以解释差异:
此外,Google Analytics for Firebase 正在使用 HyperLogLog (HLL) 近似算法来计算用户数。这在按用户属性和受众过滤用户指标时提供了更大的灵活性,但可能会导致事件计数出现差异。
如果您希望计算活跃用户,也许使用“user_engagement”事件可以帮助进一步减少差异。
最后,如果您想深入了解您观察到的差异,我建议您直接联系 Firebase 支持
推荐阅读
- python - 是否可以通过aws cli / boto3获取忘记密码的验证码?
- flutter - Flutter:如何让 TextField 专注于提交?
- node.js - 连接到 MongoDb Atlas 服务器时出错
- java - 在java中创建一个saop消息
- c++ - sscanf 到 uint8 在 vxWorks 平台上不起作用
- random - FFMpeg random 是否会为连续执行生成相同的伪随机数序列?
- excel - 如何将工作表作为值复制到另一个工作表
- android - Android FlexBox 布局仅显示固定数量的行
- windows - 脚本运行时 PowerShell 更新变量
- c# - 实现一个接口,该接口继承自两个具有相同方法的接口