私が思う、Tableauでよくある集計パターンの紹介

簡単な集計をしただけのダッシュボードでも、少し考えるともっといいダッシュボードにできるかもしれません。
2019.01.09

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

こんにちは、yoshimです。
ちょっと前までは「Tableauを使った、データの利活用推進」といった業務をやっていたので、その経験に基づいて集計パターンを4つほど紹介します。「分析のストーリー」、「機械学習」等には触れていませんが、結構同じような集計をしている人も多いんじゃないかな、と思います。
「Tableau server」にパブリッシュして、「様々な社内ユーザーが利用するワークブックファイル」となることを想定しています。
かなり主観的な内容になっているのでご注意ください。

目次

1.やること

事業会社で「Tableau serverの担当者」になると、「ユーザー部門から課題を聞いて整理する」、「どの指標をどのような観点で計測するかを検討する」、「ダッシュボードに落とし込む」といった作業を実施することがあるかと思います。(私はそうでした)

「様々な部署・人」から話を聞いていくうちに、「結構似たようなダッシュボードに行き着くなぁ」と思うことが多く、「引き出しを増やしておくこと」の重要性を感じたものです。
なので、今回のエントリーでは4つほど「私が思う、よくある集計パターン」を紹介してみようと思います。
具体的には、下記の4ダッシュボードを作成しました。

  • 1.KPI一覧画面
  • 2.顧客属性
  • 3.業績
  • 4.「顧客属性×業績」の推移

なお、今回はTableauの操作方法については言及しません。
また、私が適当にエクセルで生成した使うデータを利用しています。

2.各ダッシュボードの説明

全部で4つのダッシュボードを作成したので、それぞれのダッシュボードについて説明しようと思います。

2-1.KPI一覧画面

よくある「KPI一覧画面」です。

ここでは参考までに「総会員数(左上)」、「業績概要(右上)」、「業績詳細(下)」ごとに集計しています。 Tableauユーザーとしては帳票形式ではなくもっと綺麗に可視化したいところですが、「Vizに慣れていないが、帳票形式には慣れ親しんでいる人が多い」場合は、このようなクロス集計の結果に落とし込むこともしょうがないのかと思っています。
(Vizの見方に慣れるまでは)

また、「実績の目標達成率」や「前月との比較」も一緒に表示することが多かったのですが、ここは組織によって変わるところかと思います。
このような「基本的な集計値」を「沢山の人が見る」といったダッシュボードを作成する際に私が考えていた判断基準は下記の3点です。

  • 表示する項目数を少なくする
  • 「この図ってどう見たらいいの?」という質問が来ないような見せ方を心がける
  • 場合によっては、クロス集計を使うことを優先する

この粒度のレポートだと、「データ分析の民主化」というよりも「BI使うと、こういうことが簡単にできて便利だね」ということを実感してもらうことが一番重要なんだと思います。

2-2.顧客属性

続いて、「顧客属性」について集計したダッシュボードです。

左上では「性別・年代・顧客区分」等の「1要素」に基づいた円グラフを表示しています。
「顧客区分」については「新規顧客」や「離反予備」等の区分を定義して、その定義に基づいて顧客数を集計しています。
(指定した期間以上来店しなかった顧客を「離反」、「離反」しそうな顧客を「離反予備」とここでは記述しています。)

左下では「2つの要素」に基づいた集計結果を表示させます。
ここでは、「性×年代」ごとの顧客数を折れ線グラフで表示させています。私は折れ線グラフが好きなのですが、可視化手法としては「棒グラフ」の方が適しているんだと思います。

また、右側には顧客居住都道府県に基づいた集計結果を表示させています。
地図でビジュアライズしたものに加え、冗長ですが同じ内容をクロス集計でも表示しています。
これは、「地図の方が直感的にもわかりやすそうだが、とはいえクロス集計の方が慣れている方も多い」といった事情から、このようにクロス集計結果も同じ場所に表示しておくことも多かったためです。
(Tableau利用推進の目的はあくまでも「データを皆で活用すること」であり、「クロス集計から脱却すること」では無いので。)

あと、フィルターについても少しだけ言及しておきます。
ここでは「アプリ」のケースで紹介しますが、「全アプリ」と「特定のアプリのみ」のいずれかを選択できるようにフィルターを作成しました。

下のフィルターも同様です。

一つのダッシュボードに複数のシートを表示する場合は、「左上にシンプルなシート」を載せておいて、右や下に「もう少し複雑なシート」を載せておくといいかもしれません。
ダッシュボードを見る時の視線の動きとしては、基本的には左上から入る人が多いので、まずはわかりやすいシンプルなシートが最初に目に入ることを目的としています。
(折角いいシートを作っても、見てもらえないと辛いので)

2-3.業績の月次集計

続いて、業績の集計です。またクロス集計が出て来ました。
「定期的に行う集計を自動化する」という、BIの効果が一番目に見えやすい使い方かと思います。
「営業部門の週次MTGのフォーマットに合わせた帳票を作成している」といった方も多いのではないでしょうか?

こちらでは、「売上・利用回数・顧客数・レシート単価・顧客単価」等の基本的な集計値を「当月・前年対比」の2項目で集計していますが、「目標達成率」等を使うこともあります。
「顧客数(ユニークユーザー数)」を集計する所には注意が必要で、もし「ライブ接続」等で集計する場合にはデータソースが「会員ID」の単位でデータを保持していないといけません。ともすると、処理に毎回時間がかかってしまいます。
なので、このような集計をする場合は、あらかじめRedshift等で集計をしておいて、その結果をTableauserverに抽出、といった対応をすることが多いです。

また、日付を「日次 or 月次」で選択できるようにしていますが、単純にドリルダウン等で粒度を変えられるようにしてしまうと「顧客数(ユニークユーザー数)」が求められないので、「日次、月次」ごとに集計した結果を縦に結合したマートを使っています。

「アプリ区分」、「アプリ名」等のフィルターについては、「2-2.顧客属性」同様です。

2-4.「顧客属性×業績」の推移

続いて、これまで見てきた要素を掛け合わせた集計結果をビジュアライズしてみましょう。
つまり、「顧客属性」ごとに「業績」を集計した結果を、ビジュアライズする形です。

「2-3.業績の月次集計」での業績集計結果も、気になる集計値がずらっと表示されているのはいいのですが、いまいち直感的では無いのが気になりました。
ここでは、もう少し集計結果を直感的に理解することを目的として、折れ線グラフを使って、集計結果を時系列に沿って確認します。

ここでもやはり、「フィルターで何を指定できるか」といったことが重要です。
例えば今回のダッシュボードでは「集計区分」として「どの区分ごとに集計値を求めるか」ということを指定できるようにしています。
先ほどまでは「年代」にしていた「集計区分」を「性別」にすると、

こんな感じです。

「集計値」もフィルターで変更できるようにしましょう。
例えば、先ほどまでは「売上」を指定していましたが、これを「客数」に変更すると、

このように「客数」での集計結果が表示されます。

「集計値」、「どの単位で集計するか(集計区分)」をユーザーがフィルターで選べるようになっていると便利です。
また、ここでの注意点として、「指定したアプリの傾向を全アプリと比較する」といった点が重要です。
今回は「アプリ」でご紹介していますが、アプリに限らず何かしらの集計をする際は、「何かと比較する」と特徴がわかりやすくなります。
この時は比較対象を何にするか、という点も考慮しないといけませんね。

3.まとめ

今回は「Tableau server」にパブリッシュして、「様々な社内ユーザーが利用するワークブックファイル」を想定して、ダッシュボードを4つほどご紹介しました。
ごちゃごちゃ書いたのですが、「ユーザーの気持ちになってVizを作ろう」ということがメインで、具体的には下記の3点が本エントリーの要点です。

  • ユーザーがVizに慣れていないうちはクロス集計も使おうよ
  • このVizを見たら、自分だったらどんな集計をしたくなるかを考えてフィルターやパラメータは作成しよう
  • 冗長だろうと、クロス集計結果も近くに表示させると喜ぶ人もいるよ

また、慣れてきたら「ストーリー機能」を使って、分析の道筋を記述したほうがよりユーザーフレンドリーかと思います。
Tableauをよく使っている人にはあまり参考にならなかったかもしれませんが、これからTableauを使ってみよう、という方の参考になれば幸いです。