【データ可視化入門】BigQueryのデータをLooker Studio(データポータル / Data Studio)で可視化する

visualization 入門

この記事について

この記事はGoogleのLooker Studio(データポータル / Data Studio)を利用した可視化をテーマにしています。簡単なダッシュボードを作成することを通じてLooker Studioの機能や操作方法を紹介します。今回はECサイトを模したデータがGoogleのBigQueryに溜まっていると仮定し、ビジネスに役立つレポートを作成することを目指します。

Looker Studio概観

Looker Studioとは、Googleが提供するBIツール※のことを言います。名称が何度か変わっており、データポータルやData Stuioと呼ばれることもあります。

Googleアカウントさえ持っていれば、営業チームの売上進捗やマーケティングチームのKPIといった社内に溢れるさまざまな指標を見やすく可視化し、誰にでもわかりやすく伝えられるようになります

無料であるにもかかわらず、BIツールとして十分な性能を誇ります。メリット・デメリットがありますので一旦以下に整理しておきます。

※BIツールはBusiness Intelligenceの略です。自社が持つデータを可視化し、企業活動の分析や意思決定に貢献するソフトやサービスのことです。

メリット

  • 【操作性】データの接続さえしてしまえばあとはダッシュボードの要素を配置していくだけ。直感的な操作になっており初心者にもわかりやすいです。
  • 【汎用性】連携可能なサービスが非常に多く(800超!)、ビジネスで利用しているあらゆるシステムのデータを可視化することが可能です。
  • 【機能性】コントロールフォームというパーツが用意されており、フィルタリングや期間設定で自由自在な分析が可能になるなど、ダッシュボードとして十分な機能性を有しています。
  • 【柔軟性】 グラフの種類が豊富で自分の作りたいイメージに沿った表現ができます。グラフの書式設定やダッシュボードの装飾についてもある程度自由が効きます。
  • そして、これほどまでのハイスペックなのに無料です!

デメリット

  • シンプルである分、ダッシュボードを作り込む余地はそこまで残されていません。Looker Studioに少し慣れてくるとかゆい箇所が出てくるかもしれません。しかし、データを扱うと言う面では十分な機能を有しておりその点は安心できると思います。

ダッシュボードをつくってみる

今回は、Looker Studioの使い方をわかりやすく解説するために、ECサイトを運営している会社を想定したサンプルダッシュボードを実際に作ってみます。このようなイメージのものを目指します。

ls_sample_dashboard

サンプルなのでとても簡素で荒いものですが、 ECサイトで重要な指標は追えるようになっています。またLooker Studioに典型的な手法(パターン)はしっかりとカバーしています。その手法とは、

  1. 単体のテーブルを可視化する
  2. カスタムクエリを利用する(SQLのアウトプットを可視化する)
  3. 複数のデータソースを繋げて、新しいデータを生み出してから可視化する

です。


how_to_make

これらのパターンを理解し、Looker Studioでの可視化をマスターしてください。 そして可視化やレポーティング業務を通じて、ビジネスの成長に貢献できるようになりましょう(データアナリストの基本を確認したい方はこちらの記事へ)。

セットアップを行う

BigQueryのデータを可視化するための初期設定を順を追って説明します。非常に簡単です。

  1. ますはGoogleアカウントにログインしてください。もしアカウントを持っていなければ作成しましょう。
  2. Looker Studioのページにアクセスします。
    https://cloud.google.com/looker-studio?hl=ja
    Looker Studioやデータポータル、Data Studioと検索してもページは見つかるはずです。
    ページにアクセスしたら、さっそく「使ってみる」をクリックしてみましょう。


  3. 「空のレポート」を選択してみてください。
    ※初回はプロフィール設定や利用規約への同意画面になるので、確認しながら進んでください。


  4. 「データのレポートへの追加」(または「データを追加」)でBigQueryを選択すると、BigQueryのプロジェクトをデータソースとして取り込む準備が完了します。


データソースを取り込む

データソースとは、「データの源」の意味であり可視化対象のデータのことをいいます。今回はBigQueryのデータをビジュアライズしていくため、 BigQueryのデータがデータソースに該当します。

データソースを指定する以下の画面ではアカウントが利用権限を持っているプロジェクトのみ選択できるようになっています。プロジェクトをクリックしテーブルまで指定することで、テーブルのデータを取り込みます。 まずはとりあえず、記念すべき最初のデータソースとして t_usersテーブル を選択し追加してみます。

今回のサンプルデータはt_purchases, t_users, t_itemsの3つのテーブルで、それぞれ購入情報、ユーザ情報、商品情報となります。
t_purchasesテーブルを中心とし、user_idとitem_idを介して3つのテーブルが繋がっています。

※サンプルデータが必要であれば、こちらのExcelをダウンロードしてください。

作成していく

まずはイメージを固めよう

すぐにでもダッシュボードを作りたい気持ちかもしれませんが、まずは一度立ち止まって、何を可視化すると良いのかを考えましょう。

ECサイトを運営する会社という仮定をしているので、 ビジネスの目的はサイトでの販売額を伸ばすことだと考えられます。 今回はそのために大事な(1)会員数の推移、(2)国別販売額の推移、(3)簡単な会員プロファイルをチェックしてみましょう。

各指標の意義を一言で説明するとそれぞれ以下のとおりです。

(1)会員数の推移…既存顧客である会員の規模と増加の傾向を把握する
(2)国別販売額の推移…どの国への販売に注力すればよいのかを確認する
(3)簡単な会員プロファイル…会員の種類ごとに反応してもらいやすい施策を検討する

(1)会員数の推移

会員数はt_usersのテーブルの行数を集計すればわかります。というのも、このテーブルは以下のようにそれぞれのユーザの属性や登録日が格納されているデータで、1人につき1行となっているからです。



t_usersはすでに取り込み済みなので、早速グラフを追加してしまいましょう。

編集モードになっていることを確認し、「グラフを追加」をクリックして 折れ線グラフを選択します。時系列での推移を見るときのような場合は折れ線グラフが変化をよく表してくれるので適しています。適当な場所でクリックするとグラフが登場します。

同じような見た目の「時系列グラフ」というものもありますが、時系列グラフだと行数が多すぎてエラーになることもあります。通常の「折れ線グラフ」を探してください。ただし、時系列グラフで作成してしまっても以下で説明する「パネル」いつでも簡単に切り替えができます(後述)。


右側に出てきたパネルで、ディメンジョンにはregister_dateを、指標にはRecord Countを設定してみてください(パネルはグラフなどの対象物を選択してるときに登場します)。 これだけで可視化ができてしましました。


「〇〇別の××を可視化する」というときの〇〇をディメンジョン、××を指標と言います。たとえば「日付別の会員数を可視化する」のときは日付がディメンジョンで会員数(= Record Count)が指標になるというような具合です。

ただ、これだと日付毎の会員獲得数をグラフ化しており、細かすぎてニーズに合いません。毎日の大きすぎる会員数の変化に一喜一憂してしまうことになりビジネス上の価値判断ができません。 そこで、この日付データを年月データに加工してしまいたいと思います。

「ディメンジョン」のregister_dateの部分をクリックすると「フィールドを作成」という項目がでてくると思います。これでregister_dateの代わりになるregister_monthを作ってしまいましょう。新しいフィールドを作成するときは、計算式を利用します。日付・日時を特定の部分(今回はmonth)まで切り詰める DATETIME_TRUNC(register_date, month) を計算式に入れることで、 1か月間の会員獲得数をグラフ化することができ、わかりやすいグラフになりました(ついでに名前もregister_monthとしておきましょう)。


最後に、今の状態だとなぜか年月の順番がおかしくなっているので(現在はどうやら会員登録が多い月順に並んでいる)パネル下部にある「並べ替え」をクリックしてregister_monthの昇順にしてみます。 ちゃんとした時系列データになりました。

これで可視化は完了ですが仕上げに「コントロールを追加」から「期間設定」(日付コントローラー)をつけてみましょう。これでそれぞれの人が見たい期間を自由に設定することができるようになります。

この日付コントローラーの影響を受けるグラフにするかどうかは、パネルの下の方にある「デフォルトの日付範囲」という部分の設定で決まります。ここが「自動」だとこのコントローラーの影響を受けますが、「カスタム」でこのコントローラーの影響を受けない特定期間を設定しておくこともできます。

(2)国別販売額推移を算出する

国別販売額も、1つのテーブルにデータが揃っていれば会員数推移と同じ手順で可視化することが可能です。ですが今回は、データが複数のテーブルに分割されていることを想定し、「統合機能」を利用してみます。

国別販売額推移を表すのに必要なデータは、日付ユーザの居住エリア販売額ということになります。今回のデータでは、日付と購入数量は t_purchases に、商品単価は t_itemsテーブル に、購入者の居住エリアは t_usersテーブル にあるようです。これら3つのテーブルをうまくつなぎ合わせることで初めて可視化することが可能になります。 この手法を統合と呼びます。

SQLでいうJOINや、ExcelでいうVLOOKUPなどに相当します。
SQLのJOINについては詳細な記事がありますので、確認したい方はこちらの記事へどうぞ。

まずはまだ取り込んでいない2つのデータソースを取り込みましょう。「データを追加」ボタンでBigQueryのプロジェクトから t_purchasest_items を持ってきます(データソースの取り込み方はt_usersの手順と同じです)。終わったら、リソースタブから統合の管理を選択します。




t_purchasesを 1番左に指定して残りの2つのテーブルを右に表示させていきます。 そして、これらのテーブルを繋ぐキーとなるID(user_iditem_id)を含め必要なカラムをすべて表示させます。
結合の方法として左外部結合を選択したのち、結合キーとなるIDを指定していきます。これで必要な情報が全て揃ったテーブルができました(=3つのテーブルが1つのテーブルになったということ)。



ここまできたら先程の会員推移とやることは同じです。グラフを選択してディメンジョンと指標を指定していくだけです。 今回は円グラフと棒グラフをつくりますので、まずは円グラフを選択し左下に配置してください。国別の可視化をおこなうのでディメンジョンはcountryになりますね。そして、指標には販売額の合計を利用するので、price * qtyとするのが良さそうです。会員数推移でディメンジョンのフィールド作成をやりましたので、それを今回は指標の部分で行います。計算式は sum(qty*price) です。

ここまでできたら次は棒グラフです。 この円グラフをコピーして隣にペーストしてください。 実はグラフを指定した後でも別のグラフに変えることが可能です。 新しい円グラフが選択されてパネルが出ている状態で、画像にある部分をクリックして棒グラフに変更します。




棒グラフに変わったら、国別に加え年月別でも可視化するのでディメンジョンを調整します。ディメンジョンにpurchase_monthを選び(purchase_monthは、register_monthのときと同じようにpurcase_dateから新規フィールド作成します)、内訳ディメンジョンにcountryを設定します。すると以下のようになっていると思います。



そして、合計金額がいつでもわかるようにスコアカードも追加しましょう。「グラフを追加」ボタンでスコアカードを探してください。これはディメンジョンなどは設定できませんが、シンプルゆえに意外と役に立ちます。指標は sum(qty*price)Record Count にします。

最後にコントロールを追加からプルダウンリストをセットして特定の国のみ表示できるようにしておきます。



しっかりと可視化できていますね。ここでご紹介したい便利な機能がクロスフィルタリング機能です。たとえばこの円グラフや棒グラフのピンクの部分をクリックするとPhilippinesのみのデータが表示されます。これはスコアカードを含めたその他のグラフにも影響するので、Philippinesに着目した分析が可能になります。理屈としてはコントロールのプルダウンと同じですが、UIUXを向上させるためにユーザがとれるアクションの選択肢を増やしておくということになります。クロスフィルタリング機能をONにするには、グラフのパネルの下の方にあるグラフインタラクション設定をいじります(最近のLooker Studioはデフォルトで設定されている気がします)。

このようなプルダウンやクロスフィルタリングでグラフをポチポチしていくと思わぬ発見が出てくることがあります※ので積極的に活用しましょう。

※作成したダッシュボードの棒グラフは、Chinaの青い部分が占める割合が大きすぎてその他の国の傾向が掴みづらいです。その対策として特定の国だけに着目して可視化してみるということは非常に効果的です。

(3)簡単な会員プロファイル

会員を常連・新規参入・離脱などにわけることで、それぞれに適したマーケティングを行えます。ここではそれらの人数の内訳をざっくりと把握できる可視化を行います。

ただし、少し慣れてくれば直感でわかるようにはなりますが、Looker Studioには会員が常連なのか新規参入なのかを判断するために役立ちそうな機能はありません。少し込み入った分析を行うケースでは、自分でSQLを書いてその結果を可視化するという方法が必要になります。

今回は最後に購入した日付購入回数から、それぞれの会員を2軸で点数化(RecencyスコアFrequencyスコア)するSQLを準備しています。具体的には以下のクエリです。

with
purchase_wide as (
  select
    t1.user_id, t1.purchase_date, t1.qty, t3.price
  from `sandbox-sinkcapital.MOCK_ec_store.t_purchases` as t1  
    left outer join `sandbox-sinkcapital.MOCK_ec_store.t_items` as t3 using(item_id) 
)
, user_rf as (
    select
        user_id
      , max(purchase_date) as recent_date
      , date('2022-01-01') - max(purchase_date) as recency
      , count(1) as frequency
    from purchase_wide
    group by user_id
)
, user_rf_rank as (
    select
        user_id, recency, frequency
      , ntile(5) over(order by recency desc) as r_grade
        , ntile(5) over(order by frequency asc) as f_grade 
    from user_rf
)
select * from user_rf_rank

このアウトプットをデータソースとし可視化していきます。 今までは「データを追加」で最近のプロジェクトやマイプロジェクトから選択していたと思いますが、ここではカスタムクエリを選択してください。 ここに該当プロジェクトを選択してSQLを書けば、アウトプットをLooker Studioに持ってくることができます。


SQL結果を取り込めたらあとは今までと同じです。今回は購入した時期と頻度に関して2軸で分析していくため、クロス集計形式で可視化するのが良さそうです。 ヒートマップ付ピポットテーブルをダッシュボードに配置していきましょう。
指標等の設定は次のとおりです( r_gradef_gradeは新規フィールド作成ではなく、SQLアウトプットのカラムそのままです)。以上でプロファイルの可視化ができました。

なお、クエリに登場する ntile(n) over(order by COLNAME)というものはウィンドウ関数と呼ばれるものの一種で、COLNAMEの順番に従ってn個にランク付けするという意味です。これをRecencyやFrequencyの簡易的なスコアにしています。ただし、各ランクに所属するレコードが同じ数になるようにグループ分けするという仕様のせいで、本来であればここでの利用は適切とは言えません。たとえば会員全体の1割だけが購入経験ありで残りの9割が購入0回の場合を考えます。5ランクに分けると1ランクあたり2割の会員が割り振られるので、購入0回でもランク5からランク1全てありえることになります。購入ゼロの場合のランクは1というようなcase when を使ったスコア付けロジックの方が趣旨に沿っています。

(4)ダッシュボードを整える

グラフの設置が終わったら細かい部分を整えていきます。 ダッシュボードとしての見た目を整えるために図形やテキストの追加を行います。挿入タブから挿入したいオブジェクトを選択し配置していきます。

また各グラフのフォントサイズなどの個別調整をしたいときは、修正したいオブジェクトをクリックしてパネルを表示させてから、スタイルタブも利用して調整していきます。操作はわかりやすいので、できることだけざっと列挙していきます。

  • フォントの種類やサイズ
  • 色の変更
  • 凡例の設置
  • 表示形式
  • 軸タイトルの表示
  • 表のヘッダー

最終的にこのようなダッシュボードになりました。

ls_sample_dashboard

押さえておきたい大事な考え方

Looker Studioは簡単でとてもわかりやすい分、できない事はそれなりに存在します。ここまで読んでくれた皆さんが少しやってできなさそうであれば、それはきっとできないことです。少しもどかしく感じることがあるとは思いますが、「ダッシュボードを作り込む必要がない」というふうに前向きに考えることも大切です。

ダッシュボードを共有する

このダッシュボードはGoogleアカウントを持っている人と共有することもできますしPDFの形式でダウンロードしてそれを配布することも可能です。特に前者はリアルタイムで好きなタイミングで相手も見ることができるようになるため非常に便利です。

Googleアカウントでの共有は、上の方(挿入タブがあるところと同じ高さ)に表示されている共有ボタンで簡単に設定できます。ダウンロードはファイルタブから行います。

まとめ

今回は3つのグラフでLooker Studioの活用方法を紹介してみましたがそれ以外にもいろいろなグラフや機能があります。いろいろ試してみてビジネスに役立つダッシュボードを作ってみてください。

本記事内容をご利用される前にご確認お願いします

  • SinkCapitalギルドメンバーが記載したギルド内部向け記事を一般公開したものです
  • 記載内容の情報鮮度や正確性に問題があった場合も、本記事の内容を利用したことによるあらゆる問題には一切責任を負いかねます
  • 要望や指摘、意見等あれば気軽にコメントいただけると幸いです
  • 弊社にご興味のあるかたは是非弊社HP相談フォームを御覧ください

コメント

タイトルとURLをコピーしました