Big QueryからData Studioでコンバージョンファンネルを作りましょう

# まずは
Timmyと申します。
日本語少しの人ですみません。神戸出身なので、関西弁が出てくる可能性があります（関西誇りなので、謝る必要ないやろ）。読みながら、カタコトで想像してください。関西弁のカタコト。はい。

# バックグラウンド
どんどんデータの世界になってます。

僕が3年間スタートアップをやったあと、５ヶ月前にプロダクトマネジャーとして[EDOCODE](https://www.edocode.co.jp/)に入りました。その間、データのパワーを上々に感じました。いいデータを見れば、数字でユーザーの行動をすごく想像できることになります。UX的なユーザーフローを作れることになって、ユーザーがどこから入ってどこから離脱して、ユーザーが何を期待して何が壁になって、改善や強化するべきのところが明確になります。

悪いデータを見れば、時間の無駄使いがいろんなところから現れます。例え、大きなデータ表を見ながら議論して、仕事が進んだ！の気持ちをしながら打ち合わせが解散します。ただし、次のアクションが不明の上に何も決めず、プロダクトが成長しません。

そうです、いいデータと悪いデータの違いはアクションに繋がることで評価するべきだと思います。あくまでもデータはツールです。目的ではないです。目的はユーザーに向けてよりいいプロダクトを開発することです。忘れないようにするんやで（関西弁出た）。

# Big Queryでデータをまとめましょう
今回の記事のためにECサイトを事例にしましょう。ユーザーがサイトに入ってから、購入するまでに「step1」と「step2」が購入転換するまでに必要のステップです。例えば、購入する前にログインしてから、ショップ詳細ページまで行くのが必要のケースがあるかも知れません。

その上、セグメントを作りましょう。例えばユーザーの地域、「関東」と「関西」とか。阪神タイガースのECサイトでしたら「関西」の方が上回るでしょ（色々の意味で）。

では、それぞれの[Big Query](https://console.cloud.google.com/bigquery)のビューを準備しましょう。
## ビュー作成
先は「step1」と「step2」のビューからしましょう。日付とセグメント別でステップをカウントしたらいいです。

###Step1 View
```sql
#standardSQL

SELECT
  DATE(step1_timestamp) AS report_date,
  FORMAT_DATE("%Y-%m",DATE(step1_timestamp)) AS report_year_month,
  COUNT(purchase_step1_id) AS purchase_step1_count,
  segment
FROM `project.data_set.step1_table`

GROUP BY report_date,report_year_month,segment
ORDER BY report_date DESC
```

###Step2 View
```sql
#standardSQL

SELECT
  DATE(step2_timestamp) AS report_date,
  FORMAT_DATE("%Y-%m",DATE(step2_timestamp)) AS report_year_month,
  COUNT(purchase_step2_id) AS purchase_step1_count,
  segment
FROM `project.data_set.step2_table`

GROUP BY report_date,report_year_month,segment
ORDER BY report_date DESC
```

###Purchase View
最後は「purchase」のビューです。こちらの方に購入金額とかを入れると、将来に分析できることになります。

```sql
#standardSQL

SELECT
  DATE(purchase_timestamp) AS report_date,
  FORMAT_DATE("%Y-%m",DATE(purchase_timestamp)) AS report_year_month,
  COUNT(DISTINCT user_id) AS distinct_user_count,
  COUNT(purchase_conversion_id) AS purchase_conversion_count,
  COUNT(purchase_conversion_id)/COUNT(DISTINCT user_id) AS purchases_per_unique_user,
  SUM(money) AS money_sum,
  SUM(money)/COUNT(DISTINCT user_id) AS money_per_unique_user,
  segment
FROM `project.data_set.purchase_table`

GROUP BY report_date,report_year_month,segment
ORDER BY report_date DESC
```
将来に一人当たりの購入回数とか購入金額を調べたくなるかも知れません。購入回数が増えたら、ユーザーがプロダクトへの喜びが上がってる証拠になります。購入金額が増えたら、ユーザーがアップグレードしてるかも知れません。また、購入金額がユーザー属性の情報になるかも知れません。

ユーザー行動がちょっとずつ見えてきた感じがしますね。

#Big QueryからData Studioでコンバージョンファンネル

Big Queryのビューをできあがったら、次はData Studioでチャートを作りましょう。データをビジュアル化したら、すごく理解しやすくなります。

まずは[Data Studio](https://datastudio.google.com/)で新しいレポートを作りましょう。個人的な意見ですが、黒い方のテーマは見やすくてオシャレ感がちょっとあると思います。
<img width="420" alt="Screen Shot 2019-12-19 at 21.07.06.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/536428/eb334a87-4ccb-843d-774b-99ce5e2f6bb6.png">
次は、線チャートを入れましょう。
<img width="351" alt="Screen Shot 2019-12-19 at 21.07.27.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/536428/c7b51553-f4c5-8829-9ca5-b7bfdf019174.png">

線チャートを入れたら、そのチャートを先に作ったBig Queryのビューと接続する必要があります。データソースから接続しましょう。

![Screen Shot 2019-12-19 at 21.02.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/536428/426d07f1-9e1d-53b4-df09-53d48944603e.png)
Big Queryのビューが接続できる上、サイトの[Google Analytics](https://analytics.google.com/analytics/web/)も接続することができます。サイトのセッション数をGAから引っ張るのが便利だと思います。
下記のスクリーンショットみたいにそれぞれのデータを入れましょう。
![Screen Shot 2019-12-19 at 21.22.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/536428/32153422-7577-21bf-9ddd-14a3899da6c5.png)
Big QueryやGoogle Analyticsのデータを接続できたら、次はチャートの設定です。
![Screen Shot 2019-12-19 at 21.24.38 2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/536428/39b002c4-3be4-d608-e306-4b0b93932842.png)
こちらのように日付やMetricを入れるだけで終わりになります。
![Screen Shot 2019-12-19 at 20.54.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/536428/8883b7f8-cdde-f948-c766-2cd0a620628f.png)
チャートをできたら、Data Studioのフィルターやテキストタイトルや、様々なカスタマイズや機能を入れることができます。例えば、先に入れた地域の「segment」がフィルター機能で簡単に選択できます。素早くそれぞれの環境の調子が確認できることになります。

##コンバージョンファンネル
KPIの世界の中、コンバージョンファンネルは基礎と思えばいいと思います。コンバージョンファンネルはすごくパワーが持ってます。このようなコンバージョンファンネルを見るだけで、ユーザーがどんな行動してるのをイメージができます。例え、ユーザーが「step1」を問題なくしてくれて、だけど「step2」が全然してくれないとか。それを理解できれば、次のアクションが明確になります。「step2を改善しましょう」になりますね。

#まとめ
すごくGoogleの宣伝になりますが、Googleがいろんな便利なツールを提供してくれてます。Big QueryやGoogle Analyticsやそれぞれのツールを効率的に紐つけれるようにしてくれて、Data Studio一つのところに整理することができます。

ユーザー行動をイメージできるチャートを作って、次のアクションに繋げましょう。よりいいプロダクトを開発できる、いいデータを使いましょう。

ほな、また。