狠狠撸

狠狠撸Share a Scribd company logo
Kenichi Tatsuhama
GDG Shikoku Organizer / Sansan, Inc
Google Analytics
データ分析ハンズオン
はじめに
Proprietary + Con?dential
自己紹介
● 辰濱健一
● 徳島県神山町在住
● Twitter : @tatsuhama50
● 仕事@Sansan, Inc.
○ モバイルアプリ開発(主に Android)
○ 現在は Web サービスの海外展開の開発
● プライベート
○ 楽器演奏
○ 旅行(JALマイル修行経験者)
Proprietary + Con?dential
本ハンズオンのゴール
● 固有のサービス?ツールに限らず、一般的なデータの分析?可視化方
法を知る
● SQL を叩かなくても、データを可視化することができる体験をする
Proprietary + Con?dential
本ハンズオンの内容
● Google Analytics のデータを分析?可視化してみる
○ BigQuery でも叩いてみる
● Google データポータルを使って分析?可視化してみる
○ SQL 不要!
Proprietary + Con?dential
本ハンズオンの流れ
● 座学
○ ツールの紹介
○ データ構造の確認
○ 分析方法
● ハンズオン
○ Google Analytics のサンプルデータを見てみる
○ BigQuery で分析
○ データポータルで分析
ツールについて
Proprietary + Con?dential
Google Analytics(データソース)
● サイトやアプリのユーザー 像 を 詳 しく
分 析し、ご自 身のマーケティングやコ
ンテンツ、商品などの成果を的確に評
価できるツール
● Web サイトのユーザ行動分析によく
使われる
● 無料でも利用できる
● https://marketingplatform.goo
gle.com/intl/ja/about/analyti
cs/
Proprietary + Con?dential
Google Analytics(データソース)
Google Analytics のダッシュボードでも、
十分分析はできる
Proprietary + Con?dential
Google データポータル(分析ツール)
● インタラクティブなダッシュボードと 魅
力 的 なレポートを 使 ってデータのパ
ワーをフル活用し、ビジネス上の意思
決定をさらにスマートなものにできる
● 無料で利用できる
● さまざまなツールをデータソースに 利
用できる
● https://marketingplatform.goo
gle.com/intl/ja/about/analyti
cs/
Proprietary + Con?dential
Google データポータル(分析ツール)
Proprietary + Con?dential
ツールについて補足
● データソースは Google Analytics に限らず、何でも良い
○ YouTube Analytics
○ Firebase Analytics
○ CSV 出力した家計簿
○ etc …
● ツールも Google データポータルに限らず、何でも良い
○ Google Spread Sheet
○ Tableau
○ Kibana
○ Microsoft Excel
○ etc …
本ハンズオンが、みなさんのデー
タの活用のきっかけになれば幸
いです
Google Analytics の
サンプルデータをみる
Proprietary + Con?dential
背景
● Google Analytics は BigQuery にデータをエクスポートで
きる
○ https://support.google.com/analytics/answer/3416092?hl=ja
#
● 今回のハンズオンでは BigQuery にエクスポートされたサンプ
ルデータを使う
○ Google Analytics のダッシュボードで十分分析ができる場合は、
BigQuery エクスポートを使わなくても良い
○ 逆にダッシュボードでは設定できない細かな分析を行いたいときには使う必
要がある。
Proprietary + Con?dential
BigQuery の準備
● 資料
○ https://cloud.google.com/bigquery/docs/sandbox
● 手順
○ https://console.cloud.google.com/bigquery を開く
○ Google アカウントで認証するか、まだアカウントを作成していない場
合は新規作成します。
○ 利用規約に同意します。
○ BigQuery サンドボックスを使用する前に、プロジェクトを作成する
必要があります。プロンプトに従って新しいプロジェクトを作成しま
す。(名前は自由)
○ プロジェクトを作成すると、Cloud Console に次のようなサンド
ボックス バナーが表示されます。
Proprietary + Con?dential
BigQuery の準備
● SANDBOX と表示されていればまず課金されません
● 既に使っている人でも、無償枠や $300 分のクレジットもあるので、ハン
ズオンの範囲では課金されません
Proprietary + Con?dential
Google Analytics のサンプルデータ
● https://console.cloud.google.com/marketplace/produc
t/obfuscated-ga360-data/obfuscated-ga360-data?proje
ct=lexical-script-761
● 実在する e コマースストアである Google Merchandise Store
から収集した、難読化された Google アナリティクス 360 のデー
タ
Proprietary + Con?dential
Google Analytics のサンプルデータ
● 2016/08 ? 2017/08 まで
のデータ
● BigQueryに出力されている
● BigQueryのサンドボックス
や無償枠でも利用できる
● 一 部データはマスクされてい
る
● プロジェクトを 選 択 して
[データセットを 表 示 ]をク
リック
先ほど作ったプロジェクトを選択
データセットを表示をクリック
Proprietary + Con?dential
BigQuery での见え方
Proprietary + Con?dential
BigQuery での见え方
スキーマを確認できる
Proprietary + Con?dential
スキーマの詳細
● https://support.google.com/analytics/
answer/3437719?hl=ja#
● 今回は以下のフィールドを使います
○ date : 日付(例:20170801)
○ geoNetwork.country : 国
○ device.operatingSystem : OS
Proprietary + Con?dential
BigQuery での见え方
プレビューを確認できる
具体的なデータの内容
や形式が分かって良い
ですね。
Proprietary + Con?dential
BigQuery での见え方
RECORD 要素もプレビューできる
RECORD 要素につい
ては次で説明します
Proprietary + Con?dential
BigQuery のデータ構造
● RDB のように単純な正規化された
テーブルではない
● 各行に配列(REPEAT)、構造体
(RECORD)、構造体の配列なども保
持している
● これらを抽出するには UNNEST 関
数を使う
● https://developers-jp.googleblog.c
om/2017/04/bigquery-tip-unnest-f
unction.html
Proprietary + Con?dential
BigQuery での见え方
パーティション分割テーブル(日付ごと)
パーティション分割
テーブルについては次
で説明します
Proprietary + Con?dential
パーティション分割テーブル
● クエリの高速化やコスト削減につな
がる
● 日付等でテーブルが分割されてい
る(横断検索も可能)
● https://cloud.google.com/bigquery
/docs/partitioned-tables
Proprietary + Con?dential
BigQuery の料金とコスト最適化
● Links
○ BigQuery の料金
○ BigQuery におけるコスト最適化のベストプラクティス
● 探索結果ではなくて探索量で課金
○ LIMIT では節約にならない
○ 不要な列を抽出しない方が安い( SELECT * はアンチパターン)
● 対応
○ クエリを試すときはデータの少ないパーティションテーブルで行う
○ クエリが正しいことが分かったら探索範囲を広げていく
Proprietary + Con?dential
BigQuery の料金とコスト最適化
● 実行するクエリの探索量は事前にわかる
列数や探索するパーティションテーブルの数によって変わ
る
例)
● 201707* より 20170701 の方が少ない
● SELECT * だと多い
Proprietary + Con?dential
【Trial time】
データやデータ構造を眺めたりしてみて下さ
い
列を絞ると探索データ量が変わることも確認
してみて下さい
BigQuery で集計する
Proprietary + Con?dential
クエリをたたいてみる
[クエリ]をクリック
Proprietary + Con?dential
クエリをたたいてみる
新たにエディタタブが開かれる
デフォルトで SELECT
文が入っているので列
名を指定すればすぐに
使える
Proprietary + Con?dential
クエリをたたいてみる
以下を抽出してみる
● 日付(date)
● 国(geoNetwork.country)
● OS(device.operatingSystem)
末尾の LIMIT 1000 は
外しています
Proprietary + Con?dential
クエリをたたいてみる
国別アクセス数を出してみる
※今は 20170801 のテーブルだけなの
で date は常に 20170801
Proprietary + Con?dential
集計関数について
COUNT などの集計関数はグループ化と一緒に使う必要がある。
それができていないと、
SELECT list expression references column date which is neither grouped nor aggregated at [1:8]
のエラーになる
←グループ化の処理をコメントアウトすると発生
Proprietary + Con?dential
クエリをたたいてみる
検索範囲(日付)を広げる
20170801 -> 2017*
Proprietary + Con?dential
【Trial time】
他のプロパティも使って、様々なクエリを実行
してみて下さい。
何か傾向が見えてきましたか?
※SQL を学ぶことが本ハンズオンの目的ではないのでほどほどで大丈夫です
データポータルで分析する
Proprietary + Con?dential
データポータルの画面
フィルタ
グラフ
グラフの設定
Proprietary + Con?dential
データポータルの機能
さまざまなデータソース
さまざまなグラフ
Proprietary + Con?dential
データポータルで分析してみよう
● 例題
○ Google Analytics の 2017/07 のデータを使う
○ 1. 日付別ログの件数(表)
○ 2. 日付別&OSごとのログの件数(ピボットテーブル)
○ 3. 月間アクセスの多い国を地図で表示(地図)
Proprietary + Con?dential
完成イメージ
● 1. 日付別ログの件数(表)
このぐらいなら SQL で
頑張れそう
Proprietary + Con?dential
完成イメージ
● 2. 日付別&OSごとのログ
の件数
SQL でできそうな気もし
つつ…大変?
や、できない??
Proprietary + Con?dential
完成イメージ
● 3. 月間アクセスの多い国を地図で表示
SQL では無理ですね
Proprietary + Con?dential
データポータルで分析してみよう
● 下準備
○ Google Analytics の 2017/07 範囲で以下の列を抽出
■ date
■ geoNetwork.country
■ device.operatingSystem
このクエリを実行して、データポータルを開く
*じゃなくても、
_TABLE_SUFFIX で
細かく指定可能
Proprietary + Con?dential
クエリ結果からデータポータルに飛べる
Proprietary + Con?dential
データポータルに飛んだ直後の画面
国ごとのログの件数が表示されている
1. で欲しいのは国ごとで
はなく、日付ごとの表
Proprietary + Con?dential
ディメンジョンを変更する
「ディメンジョン」とは「次
元」のこと。
グラフで言えば軸
Proprietary + Con?dential
ディメンジョンを変更する
country を削除してから
date を追加
(ドラッグアンドドロップ)
Proprietary + Con?dential
ディメンジョンを変更する(動画)
Proprietary + Con?dential
【Point】
● ディメンジョンを変更することで、
表の軸を変更できる
● SQL を書かなくても集計できる
Proprietary + Con?dential
ピボットテーブルを作る
作りたいテーブル
(行:date, 列:翱厂)
Proprietary + Con?dential
ピボットテーブルを作る(動画)
Proprietary + Con?dential
マップで可視化する
作りたいマップ
Proprietary + Con?dential
マップで可視化する(動画)
Proprietary + Con?dential
【Point】
● 様々なグラフでデータの可視化が可能
● SQL を書かなくても集計できる
Proprietary + Con?dential
補足
● 今回のハンズオンでは、BigQuery でクエリをかけた結果(一時的な
テーブル)に対してデータポータルで分析したが、BigQuery の元々
のテーブルをデータソースに設定することもできる
● データソースのテーブルが更新されると、データポータルのデータも
変わるので、動的な KPI のレポート資料としても使える
BigQuery が難しけれ
ば、Spread Sheet を
ソースとしてみると良い
かも。
Proprietary + Con?dential
And more...
● Google Analytics のデータの分析
○ 基本的なクエリの例
■ https://support.google.com/analytics/answer/4419694?hl=ja#basicQu
eryExamples
○ 高度なクエリの例
■ https://support.google.com/analytics/answer/4419694?hl=ja#advance
dQueryExamples
● Firebase & BigQuery で Android アプリの成?を支える
○ /kenichitatsuhama/firebase-bigquery-android
Proprietary + Con?dential
Thank you

More Related Content

Google Analytics のデータ分析ハンズオン