Jav*_*rez 6 firebase google-bigquery firebase-analytics
根据Firebase Analytics文档(https://support.google.com/firebase/answer/6317517#active-users),有效用户数是指在指定日期启动会话的唯一身份用户数.此外,根据文档,每次启动会话时,都会session_start
发送带有名称的事件.我试图使用BigQuery的导出获得该指标,但我的查询给出了不同的结果(BigQuery上的15636,FB分析上的14908)
我也试过转换到不同的时区,看看是否可能是问题,但无论我尝试哪个时区,我都没有得到相同(或类似)的结果
我应该运行哪个查询来获得针对活跃用户的Firebase Analytics信息中心获得的相同结果?
我的疑问是
SELECT EXACT_COUNT_DISTINCT(user_dim.app_info.app_instance_id)
FROM table_date_range([XXXXX.app_events_], timestamp('2016-11-26'), timestamp('2016-11-29'))
WHERE DATE(event_dim.timestamp_micros) = '2016-11-27'
AND event_dim.name ='session_start'
Run Code Online (Sandbox Code Playgroud)
谢谢
更新
在@djabi的回答后,我改变了我的查询使用user_engagement
而不是session_start
现在它的效果要好得多.尽管如此仍然存在一些细微的差异(根据日期,它们在16K的范围内从10以下到50以下).
我曾尝试过再次使用不同的时区,DATE(date_add(event_dim.timestamp_micros,1,'hour'))
但我从来没有得到Firebase Analytics仪表板上的确切数字.
新数字足以被认为是统计上可接受的,但想知道是否有人有建议改进查询并获得确切的结果?
当前查询是:
SELECT
COUNT(*) AS active_users
FROM (
SELECT
COALESCE(user_dim.user_id, user_dim.app_info.app_instance_id) AS user_id
FROM
TABLE_DATE_RANGE([XXXXX.app_events_], TIMESTAMP('2016-11-24'), TIMESTAMP('2016-11-29'))
WHERE
DATE(event_dim.timestamp_micros) = '2016-11-25'
AND event_dim.name ='user_engagement'
GROUP BY
user_id )
Run Code Online (Sandbox Code Playgroud)
注意:目前我们没有发送user_id,所以COALESCE
总会返回app_instance_id
,以防有人提出可能是问题
离线设备的数据需要等待整整3天才能上传。您的查询根据事件时间戳正确过滤事件,并且您提取了 3 天的数据,但距离今天只有一天半,这足以上传所有数据。尝试包括昨天起的 3 天。
还可以尝试使用 user_engagement 事件而不是 session_start。我相信活跃用户计数基于 user_engagement 而不是基于 session_start 事件。
此外,FB 报告需要一些时间来处理,因此您可能需要在第二天查看 FB 报告。
FB 报告是根据帐户的时区完成的,并且事件以 UTC 为时间戳,因此 FB 报告中的日期与 UTC 日历日不同。您还想控制这种差异以获得匹配的数字。
归档时间: |
|
查看次数: |
1332 次 |
最近记录: |