【问题标题】:Firebase BigQuery Active user and Interface DiscrepancyFirebase BigQuery 活动用户和界面差异
【发布时间】:2019-02-07 20:50:10
【问题描述】:

在 2018 年 12 月 18 日至 2018 年 12 月 21 日这个日期范围内,我在 Firebase 控制面板中有 1,512 个活跃用户。

我执行了这个查询并得到以下结果:

SELECT
 COUNT(DISTINCT user_pseudo_id ) as active_user_count
FROM
  -- PLEASE REPLACE WITH YOUR TABLE NAME.
  `xxxxxx-xxxxx.analytics_000000000.events_*`
WHERE
  event_name = 'user_engagement'
  AND event_timestamp >
      UNIX_MICROS(TIMESTAMP_SUB(CURRENT_TIMESTAMP, INTERVAL 200 DAY))
  -- PLEASE REPLACE WITH YOUR DESIRED DATE RANGE.
  AND _TABLE_SUFFIX BETWEEN '20181218' AND '20181221'

我有 1326 个活跃用户,这与我的 Firebase 仪表板相差甚远。

但是当我包含 event_date 时,我似乎得到了更准确的计数,如下所示:

SELECT
SUM(active_user_count)
FROM(

SELECT
 COUNT(DISTINCT user_pseudo_id ) as active_user_count,
 event_date
FROM
  -- PLEASE REPLACE WITH YOUR TABLE NAME.
  `xxxxxxx-xxxxxx.analytics_xxxx.events_*`
WHERE
  event_name = 'user_engagement'
  -- Pick events in the last N = 20 days.
  AND event_timestamp >
      UNIX_MICROS(TIMESTAMP_SUB(CURRENT_TIMESTAMP, INTERVAL 200 DAY))
  -- PLEASE REPLACE WITH YOUR DESIRED DATE RANGE.
  AND _TABLE_SUFFIX BETWEEN '20181218' AND '20181221'
  GROUP BY event_date)

我的用户数是 1497。我不明白为什么如果我按日期分组并求和,我会得到一个更准确的数字。

第一个查询应该得到与第二个查询相同的号码吗?

谢谢,

【问题讨论】:

    标签: firebase google-bigquery


    【解决方案1】:

    我不明白为什么如果我按日期分组并求和,我会得到更准确的数字。
    第一个查询应该得到与第二个查询相同的数字吗?

    简短的回答是——不,不应该!!

    第一个查询的作用是 - 它计算整个期间内不同用户/帐户的数量。因此,如果同一用户/帐户在超过一天的时间内处于活动状态 - 此用户/帐户将只计算一次!

    第二个查询的工作方式完全不同 - 它首先计算每一天的活跃用户 - 因此同一用户(在上面的示例中)将分别计算每一天 - 所以当最终所有这些每日计数被求和时 - 那用户被计算的次数与该用户活跃的天数一样多 - 因此差异

    希望这可以帮助您进行进一步的故障排除

    同时,我会推测 Firebase Dashboard 中活跃用户的定义 - 因为他们似乎使用了您的第二个查询的遵循逻辑(与第一个查询相比) - 但这是我的疯狂猜测

    【讨论】:

    • 他们似乎没有遵循任何一种方法。第一次,我的 MAU 减少了 20%,第二次几乎增加了 100%。
    猜你喜欢
    • 2019-07-22
    • 2017-04-12
    • 1970-01-01
    • 2020-04-16
    • 1970-01-01
    • 2020-05-19
    • 2019-10-02
    • 2022-11-29
    • 1970-01-01
    相关资源
    最近更新 更多