2017-08-23 101 views
0

爲了快速跟蹤Flurry和Firebase事件報告之間的月度比較,我編寫了以下簡單腳本以獲取每月1)事件計數和2)觸發這些事件的唯一用戶計數事件。Firebase BigQuery每月事件計數

從理論上講,我從BigQuery(鏈接到相同的Firebase帳戶)獲得的數據應該與下面的Firebase Analytics控制檯具有相同的輸出。我只添加了一個隨機示例屏幕截圖,以指示我正在討論哪些事件。

enter image description here

# 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; 

結果:

  • 從大量查詢輸出的EVENT_COUNT是完全一樣在我的控制檯輸出,但不同USER_COUNT超出約5K-10K對於大部分事件。理論上,Firebase Analytics控制檯的用戶數據應與BigQuery輸出完全對齊,但不會。

我的問題:

  • 是我的查詢不正確,或者是它的分析控制檯輸出錯誤的數據?
  • 我的查詢是否可以更優化?
  • 我可能沒有考慮像Timestamps這樣的東西?

謝謝!

回答

2

這裏有一些潛在的可能性。

  1. 查看關於COUNT(DISTINCT)here的回答/評論。

  2. 今年早些時候,Analytics推出了基於HLL的用戶指標,以便在用戶屬性和受衆羣體過濾用戶指標時爲客戶提供更大的靈活性。所以,儘管您的事件數量可能與BigQuery和您的Google Analytics報告之間完全匹配,但您的用戶數量可能會略有不同。

+0

太好了,謝謝!我在維基百科鏈接描述的原始值上增加了2%的錯誤率,它大約相當於我上面提到的10K(「HyperLogLog算法能夠估計大於109的基數,典型錯誤率爲2%,使用1.5kB的存儲器「)。 – Dirk