2017-08-23 22 views
0

FlurryとFirebaseのイベントレポートの間で毎月の比較を高速化するために、以下のこの単純なスクリプトを使用して月間1)イベントカウントと2)これらをトリガーしたユニークユーザーの数イベント。Firebase BigQuery月間イベント数

理論上、BigQueryから取得したデータ(同じFirebaseアカウントにリンクされている)は、以下のFirebase Analytics Consoleと同じ出力を提供する必要があります。私は、私が話しているイベントを示すスクリーンショットをランダムな例だけ追加しました。

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; 

結果:

  • BigQueryの出力からEVENT_COUNTはまさに私のコンソールの出力と同じであるが、明確なUSER_COUNT約5K-10Kで出ていますほとんどのイベントで理論的には、Firebase Analytics ConsoleのユーザデータはBigQuery出力と正確に一致する必要がありますが、そうではありません。

私の質問:

  • は私のクエリが正しくない、またはそれが解析コンソールが間違ったデータを出力するのですか?
  • クエリをさらに最適化できますか?
  • おそらくTimestampsのようなものは考慮しませんか?

ありがとう!

答えて

2

潜在的にいくつかのことがあります。

  1. 答え(COUNT(DISTINCT)hereを参照してください。

  2. 今年の早い段階で、ユーザー属性とユーザー層でユーザーメトリックをフィルタリングする際の柔軟性を顧客に提供するため、AnalyticsではHLLベースのユーザー指標を公開しました。したがって、イベント数はBigQueryとアナリティクスのレポートとで正確に一致しますが、ユーザー数は若干異なる場合があります。

+0

ありがとう!私はwikipedia-linkで記述されているように元の値に2%のエラーレートを追加しました。これは私が上に述べた約10Kに相当します( "HyperLogLogアルゴリズムは、> 109のカディナリティを典型的なエラーレート2%、1.5kBのメモリを使用する)。 – Dirk

関連する問題