Firebase イベント データ分析のための Google Cloud 活用方法 (3) データポータルでのレポート作成
本連載について
モバイルやウェブ アプリケーションの KPI を改善させるためには、ユーザーの日々の利用状況や行動を適切に把握した上で、施策を検討して実施することが重要となります。特に、実際に KPI 改善施策を検討して実施する企画者やマーケターが、自分自身でデータを分析し、その結果にもとづいて施策を検討できるようになることは、「現状把握 → 施策検討 → 施策実施 → 効果測定」という KPI 改善のサイクルを迅速に回すために必要不可欠となっています。
Firebase SDK で開発されているアプリケーションについては、Google Analytics for Firebase を利用することで、ユーザーのイベント データを簡単に Google Analytics で収集できるようになっています。さらに、収集したイベント データを BigQuery へエクスポートすることにより、企画者やマーケターが BigQuery やデータポータルなどを活用して、自分自身でデータの可視化やレポーティング、詳細なユーザー行動の分析などを行い、データ分析にもとづいた KPI 改善施策の検討と実施を迅速に行うことができるようになります。
本連載では、KPI 改善施策を検討して実施されるサービスの企画者やマーケターの方へむけて、Firebase イベント データを分析するための Google Cloud のプロダクトの活用方法をご紹介します。
連載記事一覧
- Firebase イベント データのスキーマ
- SQL の基礎
- データポータルでのレポート作成(本記事)
- BigQuery でのデータの探索
- AutoML Tables での特徴量の重要度の確認
本記事について
部署やチーム内で KPI を定常的にモニタリングする方法のひとつとして、その KPI をグラフ化して表示するレポートを作成し、それを部署やチーム内で共有して定常的に閲覧する、という方法があります。第 3 回目の本記事では、Google のレポート作成ツールであるデータポータルを活用して、KPI をグラフ化して表示するレポートの作成方法をご紹介します。
1. データポータルへのアクセス
https://datastudio.google.com/ へアクセスします。以下のようなデータポータルのトップページが表示されます。
2. データソースの作成
画面左上の「作成」をクリックし、そこで展開されるメニューで「データソース」をクリックします。
「Google コネクタ」で「BigQuery」を選択します。
以下のようなデータソース作成ページが表示されます。
一番左のエリアで「カスタムクエリ」を選択し、次の「課金プロジェクト」エリアで現在ご利用されているプロジェクトを選択します。一番右の「カスタムクエリを入力」エリアで以下のクエリを入力し、右下の「日付パラメータを有効にする」をチェックします。
select
f.event_date
, count(distinct f.user_pseudo_id) as new_users
, round(
countif(date_diff(e.event_date, f.event_date, day) = 1)
/ count(distinct f.user_pseudo_id)
, 3
) as retention_day1
, round(
countif(date_diff(e.event_date, f.event_date, day) = 3)
/ count(distinct f.user_pseudo_id)
, 3
) as retention_day3
, round(
countif(date_diff(e.event_date, f.event_date, day) = 7)
/ count(distinct f.user_pseudo_id)
, 3
) as retention_day7
, round(
countif(date_diff(e.event_date, f.event_date, day) = 14)
/ count(distinct f.user_pseudo_id)
, 3
) as retention_day14
from
(
select distinct
parse_date('%Y%m%d', event_date) as event_date
, user_pseudo_id
from
`firebase-public-project.analytics_153293282.events_*`
where
_table_suffix between @DS_START_DATE and @DS_END_DATE
and event_name = 'first_open'
) f
left outer join
(
select distinct
parse_date('%Y%m%d', event_date) as event_date
, user_pseudo_id
from
`firebase-public-project.analytics_153293282.events_*`
where
_table_suffix between
format_date(
'%Y%m%d'
, date_add(
parse_date('%Y%m%d', @DS_START_DATE)
, interval 1 day
)
)
and format_date(
'%Y%m%d'
, date_add(
parse_date('%Y%m%d', @DS_END_DATE)
, interval 14 day
)
)
) e
on
e.user_pseudo_id = f.user_pseudo_id
and date_diff(e.event_date, f.event_date, day) in (1, 3, 7, 14)
group by
f.event_date
order by
f.event_date
このクエリは、特定の期間における、各日の新規獲得ユーザー数と、その新規獲得ユーザーの 1, 3, 7, 14 日後の継続率を算出するものです。たとえば、「2018 年 8 月 1 日〜 10 日」を対象の期間とした場合のクエリの実行結果は、以下のようになります。
このクエリ実行結果からは、たとえば、以下のようなことがわかります。
- 8 月 1 日の新規獲得ユーザー数は 54 人であり、これらのユーザーの、1, 3, 7, 14 日後の継続率はそれぞれ、24.1%, 14.8%, 9.3%, 0% である
- 8 月 2 日の新規獲得ユーザー数は 61 人であり、これらのユーザーの、1, 3, 7, 14 日後の継続率はそれぞれ、24.6%, 9.8%, 9.8%, 6.6% である
画面右上の「接続」ボタンをクリックします。
「event_date」の「タイプ」を「日付(YYYYMMDD)」へ変更し、画面右上の「レポートを作成」ボタンをクリックします。
3. 「期間」フィルタの設置
レポート作成画面にて、初期表示されているテーブルを消去します。上部のメニューから「挿入」→「期間」(メニューの下の方の、カレンダー アイコンが表示されている「期間」)を選択して設置します。画面右側の「期間のプロパティ」で、「デフォルトの日付範囲」を 2018/08/01 — 2018/08/31
に設定します。
4. 「テキスト」の設置
上部のメニューから「挿入」→「テキスト」を選択して設置します。テキストの内容に「継続率」を入力し、画面右側の「テキストのプロパティ」で、「フォント」を 24px
に設定します。
5. 「複合グラフ」の設置
上部のメニューから「挿入」→「複合グラフ」を選択して設置します。画面右側の「データ」エリアで、「ディメンション」に event_date
を設定します。「指標」に new_users
, retention_day1
, retention_day3
, retention_day7
, retention_day14
を設定します。「並べ替え」に event_date
(昇順)を設定します。画面右側の「スタイル」エリアで、 new_users
の系列(系列番号 1)のみ「棒」、「軸:左側」を設定し、それ以外の系列については「折れ線」、「軸:右側」を設定します。グラフの色は、お好みのものを設定します。
以上で、日別の「新規獲得ユーザー数」と、それらのユーザーの「1, 3, 7, 14 日後の継続率」をグラフで表すレポートを作成することができました。
6. レポートの閲覧
画面右上の「ビュー」ボタンをクリックすることで、作成したレポートを閲覧することができます。
作成されたレポートより、2018 年 8 月においては、1 日後の継続率は 11% 〜 39% の間で推移しており、同様に 3 日後の継続率は 0% 〜 25% の間で推移していることがわかります。
おわりに
第 3 回目の本記事では、Google のレポート作成ツールであるデータポータルを活用して、KPI をグラフ化して表示するレポートの作成方法をご紹介しました。次回の第 4 回目の記事「BigQuery でのデータの探索」では、BigQuery で SQL を実行することで、データを探索する方法をご紹介します。