トレジャーデータ流 データ分析の始め方〜データサイエンティストがもたらす新しい価値〜
本記事は移転しました。新サイトにリダイレクトします。
*トレジャーデータはデータ収集、保存、分析のためのエンドツーエンドでサポートされたクラウドサービスです。
本記事は 2014年06月27日に開催されたデータサイエンティストサミット2014での講演内容になります。
トレジャーデータの提案する分析の始め方,分析プロセスは一般的なデータ分析プロセスとは異なったアプローチをとります。現在データ分析に携わっており,様々な事情でなかなか分析を始められない方々へ,この内容が周囲への声かけや説得材料になってもらえることになれば幸いです。
私は元々大学で数学科統計専攻していて,学生時代からデータ分析とはどうあるべきかを追究してきました。
またソーシャルゲーム会社でデータ分析基盤を作ったり集計のためのデータベースとしてMongo DBに可能性を感じ,コミュニティ運営などの活動もおこなってきました。
そんな中でトレジャーデータに誘われ,自分の分析に対する哲学やプロセスを現実社会に適用できることへのチャレンジの場をしてこれ以上無いチャンスと思い,転職。今トレジャーデータとともに活躍の場を拡げていけていることに喜びと誇りを感じております。
今回紹介するのは,データサイエンティストの視点からの分析アプローチについてです。
左図の一般的なビジネスプロセスと併せて,右図のようにデータをより抽象化して捉え,クエリテンプレートと可視化テンプレートを適用するというトレジャーデータ流の分析プロセスを提案します。
一般的なデータ分析プロセス
「目標」「仮説」が無くては
実際にデータ分析に関わる多くの人は,分析を始めるに当たって上司や周囲から「目標」や「仮説」を求められることが多いと思います。それが明確であるがゆえにデータ分析が活き,その「確証」(または否定)を元にビジネスプロセスが回っていくと考えられています。
データ分析を始めるのにはそれなりのコストと時間がかかりますので,きちんとビジネスプロセスを回していけるのか,または「費用対効果」があるのか,を分析の前にきちんと説得しないといけない苦労があるのも実際のところでしょう。
しかしながら,実のところ自社のサービスや製品において「目標」や「仮説」を初めから持っているケースは少なく,逆に現場の分析者はまず「データから仮説や目標を見いだしたい」と思っているはずです。
なかにはデータ自身を持っておられない,またはデータはあるけど中身を把握していないといった地点からスタートしない分析者も多々おられることも実状ではないでしょうか。
そのような事情でなかなか分析を始める事ができない方々に,トレジャーデータ流の分析アプローチを紹介します。
トレジャーデータ流分析プロセス
「目標」「仮説」が無くても
トレジャーデータが可能にする分析アプローチは,現場の分析者が直面する様々な悩みに応えうるもので,現状何もデータも案も無いようなところから一定の成果物を得ることを保証する分析するプロセスとなっています。
トレジャーデータが提案するデータ分析アプローチは,
- データ収集をとにかく始めよう
- 深く考えずにデータをまず「見る」ことから始めましょう
この2点に尽きます。
データ収集
先ほどはデータ分析を始めにあたってのジレンマご紹介しましたが,トレジャーデータ流ではとにかく「データを収集しましょう」というスタンスをとります。
トレジャーデータでは,
- 過去の蓄積されたデータに対して:並列バルクアップローダー
- 今後新たに集まるデータに対して:ストリーミングログコレクター
の2つの方法で,かつ様々な種類のデータソースに対して柔軟に収集をサポートすることで,収集の困難さをできるだけ吸収できるような仕組みを整えております。
またまだデータを蓄積できていない状況からのスタートでも,業種に応じたログテンプレートを提供することによって,収集のハードルをできるだけ低くするようにしております。上図のゲームソリューションの例では,ログイン・課金・招待といったユーザーの「アクションログ」を収集することから始めましょうと提案しています。
データを「見る」
さて,うまくログを入手・扱えるようになったとしてもすぐに分析を始められるものではありません。まずは上図のような3つのデータを「見る」というプロセスを経ることで始めて目標設定,仮説設定ができるようになるのです。
(a) 「項目を見る」
まずはどのようなデータが入っているのか,項目を知ることが第一段階となります。ここではそのような項目を知るだけではなく,項目毎のサンプルを確認して「ディメンジョン」「メジャー」のどちらのタイプにあたるのかを識別します。上図の中古車相場データを元にその分類を見ていきます。
メジャー
メジャーは「中古車価格」や「オドメーター」など,その数値自身が集計の対象となる項目です。これらのメジャーはセグメント毎に合計,平均,ユニーク数などが求められます。
ディメンジョン
ディメンジョンは「年式」や「メーカー」など,集計時にセグメント軸となるような項目を指します。一般には非数値型か順序付け不可能な数値型である事が多いです。もちろん,「中古車価格」のようなメジャーでも10万円〜20万円,20万円〜30万円…といったように区間をとればその区間をディメンジョンとして扱うことが可能です。このような例は後述する「分布を見る」の際に必要になります。
(b)「内訳を見る」
(i). 内訳を見るための「クエリテンプレート」
さて,データの中身を把握し「ディメンジョン」「メジャー」に分類すると,データの「内訳」を見ることが,テンプレートに当てはめることによって簡単にできるようになります。トレジャーデータでは HiveQLというSQLライクなクエリをサポートしていますが,これにのテンプレートクエリを当てはめることによって,そのディメンジョンによる個数や売上などの「内訳」を見る事ができるようになります。
(ii). 内訳をみるための「可視化テンプレート」
内訳テンプレートクエリによって出力されたデータテーブルは,内訳可視化テンプレートに当てはめることでその内訳を見るに最適なチャートで可視化することができます。ここでのチャートでは決して凝ったものではなく,基本的には円グラフ・棒グラフ・折れ線グラフとなります。
(c) 「分布を見る」
(i). 分布を見るための「クエリテンプレート」
あるディメンジョンにおけるデータの内訳を見るのに対して,あるメジャーの値の分布を見る事がこのステップです。分布とはメジャー項目の値を区切り,その区分に入るレコードがいくらあるのかを計算したものです。例えば中古車の価格の分布といえば「0〜10万円」「10〜20万円」…という区分に対して市場全体の中古車はどの区分に多く密集しているのかを見る事になります。
(ii). 「分布」を見るための可視化テンプレート
分布を見るための可視化テンプレートも用意されています。基本となるヒストグラム,ヒートマップ,バブルチャートを通じてデータのある項目の分布をみることが可能になります。
「データを見る」ためのツールに投資する
「項目」「内訳」「分布」のabcを最短ルートで実現する
ここまで紹介したステップでは,テンプレートがあるにしろ実はSQLのラーニングコストと,可視化テンプレートの適切な当てはめ能力,といった条件が養成されていました。しかしながら,この「見る」の2ステップを最短ルートでイテレーションすることは可視化ツールに投資することで可能になります。
a. 可視化ツールを用いれば,インプットデータをインポートするだけでサンプル値が参照でき,ディメンジョン/メジャーへの分類を自動的に行ってくれます。
b. さらに項目をx-軸,y-軸領域にドラッグアンドドロップすることで,そのディメンジョンに関する内訳をさくさく計算してくれます。
c. またメジャーを適切に区分分けし,その分布を見るための機能が整備されております。
このマウスの直感的な操作に応じて様々な項目を「見る」ことが可能になり,項目の選択によってその「見る」イテレーションを高速に行う事が可能になります。
まとめ:データ収集への労力は,データを「見る」ことによって報われる
このようにデータを収集できれば,それを3つの「見る」を通して具体的な目標設定が可能になります。この目標設定の後にデータ「分析」プロセスがやっと始まるのです。
トレジャーデータではこの「収集」と「見る」というフェーズをPOCと見据え,スモールスタートですぐに始められるようなプランを提案させていただいております。
そのPOCを経て,データ分析プロジェクトを本格的に行っていきます。
トレジャーデータに関するお問い合わせは support@treasure-data.com まで。