トレジャーデータ(Treasure Data)ブログ

トレジャーデータ(Treasure Data)ブログです。

本サイトは移転しました。新サイトにリダイレクトします。

「まずチャートを決めてから集計を決める」という視点の重要性について

本記事は移転しました。新サイトにリダイレクトします。

トレジャーデータはクラウドでデータマネージメントサービスを提供しています。

 

本ブログでは,可視化についてその手法やツールの紹介に関する記事をたくさん出しておりますが,今回は従来と異なった可視化手法を紹介することで多くの分析者に新たな考え方を提供できればと思っています。

従来の可視化方法について

すごく当たり前の話ですが,可視化ツールというのは分析・集計された結果テーブルをインプットとして読み込むことで手続きが進んでいきます。可視化のためのチャートは非常に多く,ケースバイケースでその結果テーブルを最適に表現してくれるものを選ぶことになります。

しかしこの可視化というのはその表現方法があまりにも多いために,適切なチャートを選ぶのに苦労したり,意図したチャートで表そうとしても結果テーブルがそれにフィットしない項目で出されていたりと,それなりに苦労がありました。

そういった可視化の困難さに立ち向かい,素晴らしい解決方法を見いだしたのが Tableau です。Tableauは結果テーブルを読み込んだ際に,自動的にカラムごとに「ディメンジョン」か「メジャー」に分類します。そして「ディメンジョン」は描画領域のx-軸,y-軸に設定し,「メジャー」はそのディメンジョンでの集計値としてセルに設定します。そうするだけで自動的に可視化が行われ,しかも選択可能なチャートタイプを切り替えることによってダイナミックにチャートが変化していきます。そのマウスによる直感的な操作によって最適なチャートを見いだすのを非常に容易にしてくれました。

f:id:treasure-data:20140626130105p:plain

トレジャーデータの提案する可視化方法について

さて,Tableau とは違った方法でトレジャーデータはどのようにして可視化の心労を軽減しているのでしょうか?

それは「集計後の結果テーブルをインプットに可視化する」という思想では無く,「チャートのタイプを決めてからそれに合うように集計結果を出す」という根本的な考え方を覆すものです。

そしてそのトレジャーデータの思想を忠実に実現してくれるツールこそがダッシュボード:Metric Insights なのです。

Metric Insights では,ウィジェットの設定画面でまずチャートタイプと集計インターバルを選択します。この時点では集計結果を得られてはいません。例えばチャートタイプに「折れ線グラフ」,集計インターバルを「デイリー」に選んだとすると,Metric Insights は集計結果の2番目のカラムには日単位時間,2番目のカラムにはその日での集計値が出るように制限を行います。

f:id:treasure-data:20140704105453p:plain

分析者はここで初めて(制約に沿った出力となるように)集計クエリを記述するのです。このような方法で集計を行うと,一気にチャートまでアウトプットが出てしまいますから,何も悩む必要がありません。

このような方法を実際に行うためには,各チャートタイプが「どのような結果テーブルの可視化に向いているか」という特徴を知る必要があります。逆にこのチャートタイプの特徴を理解さえすれば,この手法は従来の方法よりも圧倒的に手軽で早く集計結果の可視化を実現してくれます。

以下では,チャートタイプごとの特徴を見ていくことにします。

チャートタイプごとの特徴を知る

1. 折れ線チャート

折れ線チャートは x-軸が(連続的な)時間である時に用いられる最も基本的なタイプです。日次のPVや売上推移を見るときに使われます。

1-1. Single-y軸 折れ線チャート(+移動平均など)

f:id:treasure-data:20140703130415p:plain

上図は,Hourly での売上を表す1種類の折れ線チャートになります。重ねて描画されている点線のラインは移動平均や過去の同時期の推移になります。

必要な結果テーブル構成

f:id:treasure-data:20140703211550p:plain

この折れ線チャートを書くためのインプットは時間カラムと値カラムの2カラムです。

1-2. Double-y軸 折れ線チャート

f:id:treasure-data:20140703130428p:plain

上図は,2種類の折れ線チャートを左右のy軸を使って推移を見ています。

必要な結果テーブル構成

f:id:treasure-data:20140703161100p:plain

このためのインプットテーブルはx-軸となる時間カラムと,左と右のy-軸となる2つのセグメントの3カラムのテーブルとなっています。

2. 棒グラフ(1セグメントテーブルチャート)

棒グラフは折れ線チャートと区別なく使われるケースも多いですが,以下の違いに着目して下さい。

  • 折れ線チャートは x-軸が連続,または秒・時・日といった小刻みな離散時間に適用する。折れ線チャートは「推移」をみるための手法。
  • 棒グラフは,x-軸がカテゴリなどの順序を持たない値や,月・年といった大きざみな離散時間に適用する。
2-1. 棒グラフ

f:id:treasure-data:20140703130551p:plain

上図は,x-軸に顧客名をとった売上棒グラフです。顧客名自身は順序を持たないので高さはまちまちのチャートでも良いですが,y-軸の値での順序付けが可能なので上のような左から売上の多い順に顧客名を並べています。

必要な結果テーブル構成

f:id:treasure-data:20140703151152p:plain

このためのインプットテーブルは上のような項目名と値のシンプルな2カラムです。

2-2. 陳列棒グラフ

f:id:treasure-data:20140703130642p:plain

上図はx-軸が日時という時間軸なのですが,同じ日付内で4セグメントを比較したい場合は折れ線チャートよりも棒グラフの方が好まれます。

必要な結果テーブル構成

f:id:treasure-data:20140703151519p:plain

このチャートのためのインプットテーブルは,x-軸である時間カラムと,各セグメントを表す4つのカラムからなります。

2-3. スタック棒グラフ

f:id:treasure-data:20140703130657p:plain

上図は,x-軸が年時のグラフです。トータルと各々のセグメントの貢献(割合)を年で比較してみるために好都合なチャートですね。

必要な結果テーブル構成

f:id:treasure-data:20140703160651p:plain

上のスタック棒グラフに必要なインプットテーブルは上のようになります。

3. 円グラフ

円グラフは全体に対して各々のセグメントがどれくらい貢献しているのかの割合を表現します。

f:id:treasure-data:20140703133630p:plain

必要な結果テーブル構成

f:id:treasure-data:20140703150628p:plain

このインプットテーブルは項目名とその値のシンプルな2カラムです。ただし,項目には漏れが無く,各項目値の総和が全体の値と等しくなっている必要があります。

4. ファンネルチャート

ファンネルチャートは入口と出口とその間の数ステップにおいて,ステップ順に数値が減っていく(離脱していく)データに対して有効です。

例えばゲームのチュートリアルでの,入口から出口(ユーザー登録)までの離脱状況を見る場合などにとても役に立ちます。

f:id:treasure-data:20140703135050p:plain

必要な結果テーブル構成
f:id:treasure-data:20140703145203p:plain

このインプットテーブルは上のような(順序を持った)各ステップ名称とその値の最低2カラム構成となっています。

5. バブルチャート(2セグメントテーブルチャート)

f:id:treasure-data:20140703132014p:plain

必要な結果テーブル構成

f:id:treasure-data:20140703213305p:plain

バブルチャートを初めとした2つのセグメントの組み合わせのチャートは,x-軸とy-軸に設定されるセグメントの2カラム(ここでは「Color」と「Model」)と,その格子点での大きさを表す値(ここでは「Purchases」)の構成を持ちます。さらにアディショナルとして,バブルの色でさらにもう1つのセグメント(「Gender」)を表現しています。

 

トレジャーデータに関するお問い合わせは support@treasure-data.com まで。