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

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

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

トレジャーデータ流 データ分析の始め方〜データサイエンティストがもたらす新しい価値〜

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

はじめに

クラウド関連技術の進化とその普及により、データ分析に必要なコストは大きく低減しました。以前であれば数千万〜数億円かけて構築した分析インフラも、今では月額数十万程度で簡単に立ち上げることが出来ます。本資料では、スモールスタートで「データファースト」を推進する分析プロジェクトの始め方について、詳細をご紹介していきます。現在データ分析に携わっているものの様々な事情でなかなか本格始動出来ない方にとって、少しでも助力になれば幸いです。

一般的なデータ分析プロセス

f:id:doryokujin:20150904101754p:plain

一般的に「データ分析」をプロジェクトとして始めるにあたっては、会社や上司から「目標」や「仮説」を求められることが多いかと思います。それが明確であるがゆえにデータ分析が活き、その「確証」(または否定)を元にビジネスプロセスが回っていくと考えられるからです。

データ分析を始めるには相応のコストと時間がかかりますので、きちんとビジネスプロセスを回していけるのか、また「費用対効果」があるのか、を分析の前にきちんと説得しないといけない苦労があるのも事実でしょう。 

「目標」「仮説」が無くてはダメなのか?

f:id:doryokujin:20150904101845p:plain

しかしながら、実際のところ自社のサービスや製品において「目標」や「仮説」を初めから持っているケースは少なく、逆に現場の分析者はまず「データから仮説や目標を見いだしたい」と思っているはずです。

f:id:doryokujin:20150904101917p:plain
トレジャーデータ流の分析プロセスは上のような特徴を持ちます。簡便なデータ収集とクエリ実行により一早く可視化を実現し、0からでも一定の成果を生み出せる分析プロセスとなっています。
中にはデータ自体を持っていない、またはデータはあるものの中身を把握していないといった地点からスタートしない分析者も多いのではないでしょうか。

トレジャーデータ流 データ分析プロセス

f:id:doryokujin:20150904102122p:plain

トレジャーデータが提案するデータ分析アプローチは、

  • 明確な仮説を立てる前にデータ収集を始め、
  • まずは簡単な切り口で可視化してみる

この2点に尽きます。

データ収集

f:id:doryokujin:20150904103808p:plain

トレジャーデータでは「とにかくログを集めてくる」という課題に対して、「バルクローダー」と「ストリーミングログコレクター」という2つの方法で様々な種類のデータソースに対して柔軟に収集をサポートしています。

また、まだデータを蓄積できていない状況からのスタートでも、業種に応じたログテンプレート(どのような項目のデータが必要か、そのデータに基づいてどんな分析ができる)を提供することによって、収集のハードルをできるだけ低くするようにしております。

バルクローダー

f:id:doryokujin:20150904102233p:plain

↑ 最近リリースされた新機能である「Data Connector」は、AmazonS3やFTP、MySQLなどのデータソースに蓄積された大規模なデータセットに対して「Server to Server」型のバルクロードを実行します。(詳細) 

データを「見る」

さて、うまくログを扱えるようになったとしても、すぐに分析を始められるものではありません。まずは以下に述べるような3つの「見る」プロセスを経ることではじめて目標設定、仮説設定ができるようになるのです。 

(a) データの「項目を見る」

まずはどのようなデータが入っているのか、項目を知ることが第一段階となります。ここではそのような項目を知るだけではなく、項目毎のサンプルを確認して「ディメンジョン」「メジャー」のどちらのタイプにあたるのかを識別します。以下では中古車相場データを例にとってその分類を示します。

メジャー

メジャーは「中古車価格」や「オドメーター」など、それ自体が集計の対象となる項目です。これらのメジャーはセグメント毎に合計、平均、ユニーク数などが求められます。

ディメンジョン

ディメンジョンは「年式」や「メーカー」など、集計時にセグメント軸となるような項目を指します。一般には非数値型か順序付け不可能な数値型である事が多いです。もちろん、「中古車価格」のようなメジャーでも10万円〜20万円、20万円〜30万円…といったように区間をとればその区間をディメンジョンとして扱うことが可能です。このような例は後述する「分布を見る」の際に必要になります。

(b) データの「内訳」を見る

f:id:doryokujin:20150904102910p:plain

さて、データの中身を把握し「ディメンジョン」「メジャー」に分類すると、テンプレートに当てはめることによってデータの「内訳」を見ることが出来るようになります。トレジャーデータでは HiveQLというSQLライクなクエリ言語を実装していますが、これに当社が提供するテンプレートを当てはめることによって、ディメンジョンによる個数や売上などの「内訳」を見る事ができるようになります。

f:id:doryokujin:20150904103241p:plain

テンプレートクエリによって出力されたデータテーブルは、可視化テンプレートに当てはめることでその内訳を見るに最適なチャートで可視化することができます。ここでのチャートでは決して凝ったものではなく、基本的には円グラフ・棒グラフ・折れ線グラフとなります。

(c) データの「分布を見る」

f:id:doryokujin:20150904103522p:plain

↑ あるディメンジョンにおけるデータの内訳を見るという視点に対して、あるメジャーの値の分布を見るというのがこのステップです。ここでいう分布とはメジャー項目の値を区切り、その区分に入るレコードがいくらあるのかを計算したものです。例えば中古車の価格の分布といえば「0〜10万円」「10〜20万円」…という区分に対して、市場全体の中古車はどの区分に多く密集しているのかを見る事になります。

まとめ

f:id:doryokujin:20150904103925p:plain

以上で見てきた通り、分析を始める前に難しく考え込むのではなく、まずは可能な範囲でデータを収集し、それを可視化することで問題を見出して目標を具体化していくことが肝要です。仮説を導き出すための分析と、得られた仮説を検証・考察するための分析があるとすれば、前者をスモールスタートで繰り返し実行することで、後者の成功を確かなものにすることが出来るのです。

トレジャーデータでは収集・可視化・分析の各ステップで活用頂ける便利なツール・テンプレートを豊富にご用意しております。分析プロジェクトの開始に際して何かお困りごとがありましたら、いつでもお気軽にご相談下さい。