2016-11-28 44 views
3

据火力地堡分析文档(https://support.google.com/firebase/answer/6317517#active-users),用户活跃数是谁发起在某一天的会议独特的用户数。另外根据文档,每次会话开始时都会发送一个名为session_start的事件。我试图使用BigQuery的导出来获取该指标,但我的查询给了我不同的结果(BigQuery上的15636,FB分析上的14908)差异导出

我也尝试转换到不同的时区以查看是否可能是问题,但不管是哪个时区我尝试我从来没有得到相同(或相似)的结果

哪个查询我应该运行得到火力地堡分析仪表盘我得到相同的结果为活跃用户?

我的查询是

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' 

感谢

更新

@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) 

注:目前,我们不发送USER_ID,所以COALESCE总是会返回app_instance_id,万一有人会建议,可能是这个问题

回答

3

您需要等待整整3天才能上传离线设备的数据。您的查询根据事件时间戳正确过滤事件,并从3天内提取数据,但从今天起只有一天半的时间,这足以让所有数据上传。尝试包括从昨天起3天。

也尝试使用user_engagement事件,而不是session_start。我相信活动用户数是基于user_engagement而不是session_start事件。

而且FB报告需要一点来处理,所以你要怀特,检查FB第二天报道。

FB报告上的帐户时区进行,这样的日子在FB报告是从UTC日历天不同的事件在UTC时间戳的。你想控制这种差异以及获得匹配的数字。

+0

这是辉煌的。谢谢! 当改变由user_engagement在session_start的数量仍然不完全一样,但都是非常非常接近。 我试着搞时区,但最好的结果是当我不改变它,所以我假设时区实际上是UTC(这是有道理的,因为我的客户是基于伦敦)。 如果有更多的信息,如果没有其他人在 –

+0

,我会接受你的回答,因为这个文档说的是“独特发起会话的用户“_”。但它似乎经验你是正确的和文档是不是(因为它是可以看到的用户参与,而无需启动一个会话,按[此的其他问题(http://stackoverflow.com/questions/38967231/firebase -analytics数据视差)) –

+0

文档是不正确。它会很快修复。感谢您提出这个问题,它帮助我发现我们的文档已损坏。干杯。 – djabi

0

对于Android的统计我使用:的

user_dim.device_info.resettable_device_id 

代替

user_dim.app_info.app_instance_id 

,它产生的结果。

1

会话被默认在相应的应用程序,它可以改变为10秒的用户活动进行测量。尝试将会话开始时间计数更改为尽可能少的数字,然后您可能会得到更接近您期望的数字。