Firebase イベント データ分析のための Google Cloud 活用方法 (1) Firebase イベント データのスキーマ

Keiji Yoshida
google-cloud-jp
Published in
10 min readApr 20, 2020

--

本連載について

モバイルやウェブ アプリケーションの KPI を改善させるためには、ユーザーの日々の利用状況や行動を適切に把握した上で、施策を検討して実施することが重要となります。特に、実際に KPI 改善施策を検討して実施する企画者やマーケターが、自分自身でデータを分析し、その結果にもとづいて施策を検討できるようになることは、「現状把握 → 施策検討 → 施策実施 → 効果測定」という KPI 改善のサイクルを迅速に回すために必要不可欠となっています。

Firebase SDK で開発されているアプリケーションについては、Google Analytics for Firebase を利用することで、ユーザーのイベント データを簡単に Google Analytics で収集できるようになっています。さらに、収集したイベント データを BigQuery へエクスポートすることにより、企画者やマーケターが BigQueryデータポータルなどを活用して、自分自身でデータの可視化やレポーティング、詳細なユーザー行動の分析などを行い、データ分析にもとづいた KPI 改善施策の検討と実施を迅速に行うことができるようになります。

本連載では、KPI 改善施策を検討して実施されるサービスの企画者やマーケターの方へむけて、Firebase イベント データを分析するための Google Cloud のプロダクトの活用方法をご紹介します。

連載記事一覧

  1. Firebase イベント データのスキーマ(本記事)
  2. SQL の基礎
  3. データポータルでのレポート作成
  4. BigQuery でのデータの探索
  5. AutoML Tables での特徴量の重要度の確認

本記事について

第 1 回目の本記事では、Firebase イベント データの BigQuery 公開サンプル データセットの表示方法と、Firebase イベント データのスキーマ情報をご紹介します。

1. BigQuery 公開サンプル データセットの表示

この節では、BigQuery 公開サンプル データセットを BigQuery Web UI で表示するための手順をご紹介します。

1.1. BigQuery Web UI の起動

https://console.cloud.google.com/bigquery へアクセスします。BigQuery Web UI が起動し、以下のような画面が表示されます。

BigQuery Web UI

1.2. 「firebase-public-project」プロジェクトの固定

BigQuery Web UI の左側にある「データを追加」をクリックし、そこで展開されるメニューの「プロジェクトを固定」をクリックします。

「データを追加」→「プロジェクトを固定」をクリック

「プロジェクトの固定」というタイトルのモーダル ウインドウが表示されます。「プロジェクト名を入力」という項目の入力欄に「firebase-public-project」を入力して「固定」をクリックします。

項目「プロジェクト名を入力」に「firebase-public-project」を入力して「固定」をクリック

1.3. 「firebase-public-project」プロジェクトの確認

左側のプロジェクト一覧に「firebase-public-project」プロジェクトが表示されることを確認します。

左側のプロジェクト一覧に「firebase-public-project」プロジェクトが表示される

「firebase-public-project」プロジェクトを展開すると「analytics_153293282」データセットが表示され、これをさらに展開すると、「events_(114 個)」という表記のテーブルが表示されることを確認します。

「analytics_153293282」データセットと「events_(114 個)」という表記のテーブルが表示される

この「events_(114 個)」という表記は、「events_20181003」などの「events_YYYYMMDD」という形式の名前の付いたテーブルが 114 個存在しているということを示しています。

1.4. BigQuery 公開サンプル データセットの内容

「firebase-public-project」プロジェクトの「analytics_153293282」データセットの「events_YYYYMMDD」テーブルには、モバイル アプリケーション「Flood-It!」の Firebase イベントのサンプル データが格納されています。このアプリケーションは、スクリーン上のパネルをタップして、所定の手順以内でスクリーン上のパネルの色を一色に染めることがゴールとなっている、個人プレイ用のパズム ゲームです。

モバイル ゲーム「Flood-It!」の Firebase イベントのサンプル データが BigQuery に格納

2. Firebase イベント データのスキーマの理解

この節では、BigQuery へエクスポートされる Firebase イベント データの、テーブル構成とスキーマをご紹介します。

2.1. テーブル構成

BigQuery Web UI の左側で「events_(114 個)」という表記のテーブルをクリックすると、画面右側に「events_YYYYMMDD」テーブルの情報が表示されます。

「events_YYYYMMDD」テーブルの情報が表示される

画面右側の「2018–10–03」と表示されているプルダウンをクリックすると、以下のような日付の一覧が展開されます。

「2018–10–03」と表示されているプルダウンをクリックすると、日付の一覧が展開される

この展開内容には「2018–06–12」から「2018–10–03」までの日付が含まれています。これは、「events_20180612」から「events_20181003」までの 114 個のテーブルが存在していることを意味しています。

Firebase から BigQuery へエクスポートされるデータは、このように「events_YYYYMMDD」という形式で、日単位でシャード化されたテーブルに格納されます。例えば、「events_20180612」テーブルには、2018 年 6 月 12 日分の Firebase イベント データが格納されます。つまり、今回使用する「firebase-public-project」プロジェクトの公開サンプル データセットには、2018 年 6 月 12 日から 2018年 10 月 3日までの、114 日分の Firebase イベント データが含まれているということになります。

なお、Firebase から BigQuery へエクスポートされるデータは、前述の通り「events_YYYYMMDD」という形式で日単位でシャード化されたテーブルに格納されますが、ご自身で BigQuery のテーブルを作成される際は、クエリ実行性能の観点から、パーティション分割テーブルを使用されることをおすすめします。シャード化されたテーブルとパーティション分割テーブルの違いについては、Google Cloud 公式ドキュメント「パーティション分割テーブルの概要 | BigQuery | Google Cloud」の節「日付 / タイムスタンプ パーティショニングとシャーディング」をご参照ください。

2.2. 「events_YYYYMMDD」テーブルのスキーマ

「events_YYYYMMDD」テーブルのスキーマは、Firebase ヘルプ ページ「BigQuery Export のスキーマ — Firebase ヘルプ」に記載されていますので、詳細についてはこちらをご参照ください。この項では、「events_YYYYMMDD」テーブルの主なカラムをご紹介します。

2.2.1 イベント関連の主なカラム

「events_YYYYMMDD」テーブルのイベント関連の主なカラム

2.2.2. ユーザー関連の主なカラム

「events_YYYYMMDD」テーブルのユーザー関連の主なカラム

2.2.3. デバイス、位置情報関連の主なカラム

「events_YYYYMMDD」テーブルのデバイス、位置情報関連の主なカラム

2.3. Firebase でデフォルトで自動的に収集されるイベント

Firebase SDK が使用されているアプリケーションでは、いくつかのイベントについては、デフォルトで自動的に収集されるようになっています。自動的に収集されるイベントの一覧は、Firebase ヘルプ ページ「自動的に収集されるイベント — Firebase ヘルプ」に記載されていますので、詳細についてはこちらをご参照ください。この項では、その中の一部のイベントについて、イベントの event_name とそのイベントの概要をご紹介します。

  • session_start:セッションの開始
  • screen_view:スクリーンの移動
  • user_engagement:フォアグラウンドでの動作時に定期的に収集される
  • first_open:インストール後の初回起動
  • in_app_purchase:アプリ内購入
  • app_exception:クラッシュまたは例外の発生

おわりに

第 1 回目の本記事では、Firebase イベント データの BigQuery 公開サンプル データセットの表示方法と、Firebase イベント データのスキーマ情報をご紹介しました。次回の第 2 回目の記事「SQL の基礎」では、BigQuery で Firebase イベント データを集計、分析するために必要となる SQL の基本的な書き方をご紹介します。

--

--