我正在将数据从Firebase导出到BigQuery,但是Firebase中显示的数字与我通过USER_ENGAGEMENT事件对(DISTINCT)个用户进行计数时在BigQuery中手动提取的数字不同。
在Firebase中,我定义了“所有用户”受众。 在相对的受众群体信息中心的“活动”图(显示每天的活跃用户与上个月的活跃用户)中,我看到4月1日的用户为388.597。
我有从Firebase到BigQuery的标准实时提取文件,其中集成了事件数据,我想在这里找到相同的数字。
这是我在BigQuery中使用的查询
SELECT
PARSE_DATE('%Y%m%d', event_date) AS Date
, COUNT(DISTINCT user_pseudo_id ) AS Active_Users
FROM
`xxxx.analytics_162988291.events_*`
WHERE FORMAT_DATE('%Y-%m', PARSE_DATE('%Y%m%d', event_date)) = FORMAT_DATE('%Y-%m', DATE_ADD(CURRENT_DATE(), INTERVAL -EXTRACT(DAY FROM CURRENT_DATE()) DAY))
and event_name = 'user_engagement'
GROUP BY Date
ORDER BY Date;
在4月1日,BigQuery返回了391394个不同的用户,比Firebase多2797个。
我在Firebase vs BigQuery Active Users Discrepancies处发现这可能是由于时区设置所致。我的项目设置为GMT + 1,而BigQuery使用UTC命名表。但是,在我的查询中,我已经按照EVENT_DATE进行了分组。 可以肯定的是,我还是逐日比较了4月份的两个数字。这些是数字:
Firebase BigQuery Difference
388 597 391 394 -2 797
378 393 374 023 4 370
372 890 374 601 -1 711
364 520 366 367 -1 847
375 903 374 479 1 424
453 630 452 077 1 553
476 413 476 401 12
398 481 396 227 2 254
378 338 375 531 2 807
368 699 369 699 -1 000
363 063 363 436 -373
369 874 368 441 1 433
460 472 454 647 5 825
481 832 487 214 -5 382
395 781 392 564 3 217
370 940 366 189 4 751
122 434 122 549 -115
342 249 344 086 -1 837
371 934 367 609 4 325
391 817 391 765 52
390 550 391 367 -817
412 276 408 876 3 400
377 219 379 659 -2 440
370 611 366 901 3 710
367 272 365 267 2 005
365 307 369 399 -4 092
438 676 439 990 -1 314
471 515 471 363 152
392 256 395 532 -3 276
369 500 368 416 1 084
Total
11 581 442 11 566 069 15 373
如果这是一个时区问题,我会认为总差异应该与其他任何一天都没有太大差异,但是差异却更为明显。
另外,由于我使用的是StandardSQL,COUNT(DISTINCT)应该准确。
在这一点上,我怀疑Firebase将“用户活动”定义为不同的内容,但我不明白该怎么做。
帮助!
编辑
通过阅读Firebase -> BigQuery how to get active users for that month, week, day,我开始注意到人们使用的分组字段与我使用的分组字段(user_pseudo_id)不同,但是看起来我的表events_ *没有其他app_info。*字段了
app_info.id STRING
app_info.version STRING
app_info.install_store STRING
app_info.firebase_app_id STRING
app_info.install_source STRING
这仅仅是一个分组问题吗?
答案 0 :(得分:0)
我相信答案隐藏在Firebase文档中的这句话后面:“ ...该日期范围内的活跃用户,包括前一个日期范围内的百分比波动。”(请参见此处的参考https://support.google.com/firebase/answer/6317517?authuser=0#active-users)。这意味着Firebase首先会像您一样准确地计算活动用户,然后根据前几天的用户波动添加一些数字。