【问题标题】:Firebase BigQuery Monthly Event CountsFirebase BigQuery 每月事件计数
【发布时间】:2018-02-01 01:55:47
【问题描述】:

为了快速跟踪 Flurry 和 Firebase 事件报告之间的每月比较,我在下面编写了这个简单的脚本来获取每月 1) 事件计数和 2) 触发这些事件的唯一用户计数。

理论上,我从 BigQuery(链接到同一个 Firebase 帐户)获得的数据应该提供与下面的 Firebase 分析控制台相同的输出。我只添加了一个随机示例屏幕截图来指示我正在谈论的事件。

# My Standard SQL - Script
SELECT 
  event.name as event_name,
  COUNT(event.name) as event_count,
  COUNT(DISTINCT user_dim.app_info.app_instance_id) as users
FROM `project_id.com_game_example_IOS.app_events_*`,
  UNNEST(event_dim) as event
WHERE (_TABLE_SUFFIX BETWEEN '20170701' AND '20170731')
------ Inclusive for both the start-date and end-date.
GROUP BY event_name
ORDER BY event_count DESC
LIMIT 10;

结果:

  • BigQuery 输出中的 event_count 与我的控制台中的输出完全相同,但对于大多数事件,不同的 user_count 相差约 5K-10K。理论上,Firebase 分析控制台的用户数据应该与 BigQuery 输出完全一致,但事实并非如此。

我的问题:

  • 是我的查询不正确,还是分析控制台输出了错误的数据?
  • 我的查询可以进一步优化吗?
  • 我可能没有考虑像Timestamps 这样的东西吗?

谢谢!

【问题讨论】:

    标签: google-bigquery firebase-analytics


    【解决方案1】:

    这里有几件事可能在起作用。

    1. 查看关于 COUNT(DISTINCT)here 的答案/cmets。

    2. 今年早些时候,Analytics 推出了基于 HLL 的用户指标,以便在按用户属性和受众过滤用户指标时为客户提供更大的灵活性。因此,虽然 BigQuery 和 Analytics 报告之间的事件计数可能完全匹配,但您的用户计数可能会略有不同。

    【讨论】:

    • 太好了,谢谢!如维基百科链接所述,我在原始值上添加了 2% 的错误率,它大约相当于我上面所说的 10K(“HyperLogLog 算法能够估计 > 109 的基数,典型错误率为2%,使用 1.5 kB 内存”)。
    猜你喜欢
    • 1970-01-01
    • 2015-05-26
    • 2019-10-06
    • 2016-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多