More Related Content
Similar to トレジャーデータ流,データ分析の始め方
Similar to トレジャーデータ流,データ分析の始め方 (20)
More from Takahiro Inoue (20)
トレジャーデータ流,データ分析の始め方
- 1. Copyright
©2014
Treasure
Data.
All
Rights
Reserved.
トレジャーデータ流
データ分析の始め方
∼データサイエンティストがもたらす新しい価値∼
2014/6/27
Takahiro Inoue (Chief Data Scientist)
taka@treasure-data.com
1
- 2. Copyright
©2014
Treasure
Data.
All
Rights
Reserved.
アジェンダ
• トレジャーデータサービス概要
• データサイエンティストのプロセス
• 事例(オンラインゲーム)
2
目的:数多くの事例を通してデータ分析のヒントを得てほしい
- 3. Copyright
©2014
Treasure
Data.
All
Rights
Reserved.
自己紹介
• 井上 敬浩 (Twitter: @doryokujin )
• チーフデータ
サイエンティスト
• 慶應大学院数学科統計専攻
• トレジャーデータ公式ブログ
オーサー
• MongoDBマスター
3
h=p://treasure-‐data.hateblo.jp
- 4. Copyright
©2014
Treasure
Data.
All
Rights
Reserved.
データサイエンティストがCXOを補佐
この二つのアプローチを兼ね備えた人(チーム)が
新しい経営を支える
4
目的
データ収集
分析
考察
施策PDCA
ルール
(モデル)
可視化テ
ンプレート
クエリテン
プレート
データ
仮説
- 6. Copyright
©2014
Treasure
Data.
All
Rights
Reserved.
2011年12月、米Mountain Viewにて創業
• 従業員約50名(著名データベース技術者が多数所属)
うち15名が東京丸の内の日本支社勤務
• 米有力VCのSierra Ventures、Yahoo! Inc.創業者Jerry
Yang氏等多数の有力投資家より支援
• 2012年後半に商用サービス提供開始
- 7. Copyright
©2014
Treasure
Data.
All
Rights
Reserved.
“データ解析の世界をシンプルにしたい”
すぐに簡単にビッグデータの解析を始められる
クラウド型のデータマネージメントサービス
Acquire Store Analyze
大規模初期投資不要
インフラはTDが管理
面倒な拡張・保守・
運用から解放
日米トップクラスのデータベースエンジニア、サイエンティストが支える技術基盤
- 8. Copyright
©2014
Treasure
Data.
All
Rights
Reserved.
KPI
データ可視化・共有
分析ツール連携
他製品連携
RDBMS,
Google
Docs,
AWS
S3,
FTP
Server,
etc.
MoOon
Board,
Metric
Insights,
etc.
Tableau,
Dr.Sum,
Power
BI,
Excel,
etc.
Treasure
Data
Service
8
Result
Output
クエリ結果自動書込
データ収集
データ分析
データ保管
収集・保存・分析をワンストップに、柔軟なインターフェイスで提供。
データ集計
SQL,
Pig
ストレージ
Flexible,
Scalable,
Columnar
Storage
バッチ型
分析
アドホック型
分析
分析エンジン
Hadoop,
Treasure
Query
Accelerator
データ抽出
REST
API
ODBC/JDBC
(SQL,
Pig)
Webログ
Appログ
センサー
CRM
ERP
RDBMS
TD
Toolbelt
並列バルク
インポーター
Treasure
Agent
ストリーミング
ログコレクター
POS
- 9. Copyright
©2014
Treasure
Data.
All
Rights
Reserved.
分析レイヤーの詳解
9
4.
Data
Processing
5.
Data
Visualiza5on
3.
Data
Storage
2.
Data
Collec5on
1.
Data
Source
- 11. Copyright
©2014
Treasure
Data.
All
Rights
Reserved.
一般的なデータ分析プロセス
11
1. 目的明確化 2. 目標設定 3. データ収集
4. データ分析 5. 考察・仮説 6. Plan
7. Do 8. Data Check 9. Action
- 13. Copyright
©2014
Treasure
Data.
All
Rights
Reserved.
一般的なデータ分析プロセス
13
1. 目的明確化 2. 目標設定 3. データ収集
1. 目的明確化
• そもそも何を目的とすえるのかもわからない(だから分析に助けを求めるので…)
2. 目標設定
• 「売上を上げる」といった緩い目標しか立たないのでデータ収集へ進めない…
3. データ収集
• どのようなデータが活用できそうかわからない
• (自分のサービスであっても)データの内容を知らない
目的・目標が未設定,さらにデータの内容がわからない。故に次の
4〜9.
のデータ分析サ
イクルを回せない。
- 14. Copyright
©2014
Treasure
Data.
All
Rights
Reserved.
トレジャーデータが可能にする分析アプローチ
• データ分析を始める前に,明確な「目標」など無くて当たり前
• データ分析を始める前に,高尚な「仮説」など無くて当たり前
• データ分析を始める前に,とにかくデータを集めよう(例え中身など知らなくても)
• データ分析を始める前に,データを「見る」ことで大概のことが見えてくる
• データを収集を頑張ったリターンとして,データを「見る」ところまでは誰でも必ず到達
できる(成果物の担保)。そして「見る」ことは多くの知見・考察を生み出してくれる。
14
2. Data Watch
- 15. Copyright
©2014
Treasure
Data.
All
Rights
Reserved.
トレジャーデータ流,データ分析プロセス
15
1. データ収集 2. Data Watch 3. 目標設定
4. データ分析 5. 考察・仮説 6. Plan
7. Do 8. Data Check 9. Action
トレジャーデータ流:まずはとにかくデータ収集,そしてデータを「見る」ことに専念しましょう
- 16. Copyright
©2014
Treasure
Data.
All
Rights
Reserved.
1.
データ収集
16
1. データ収集
1. 「とにかく集められるログを探してくる」
• サーバーに垂れ流しにされているアクセスログ,システムログ
• MySQLに格納されている購買ログ
• アプリケーションに仕込まれたデバッグログ
• etc…
2. 「ログがどこにも無ければ簡単なログ収集から始める」
• Webアプリケーションなら「Login(Access)」ログを収集する
• 参考リンク:Login
ログからわかる12の指標 h=p://treasure-‐data.hateblo.jp/entry/2014/05/09/112107
- 17. Copyright
©2014
Treasure
Data.
All
Rights
Reserved.
2.
Data
Watch:
定型化された3つの「見る」プロセス
17
a. データの「項目」を見る
• データにどのような項目があるか?
• 各項目にはどのような値が入っているか?
• 各項目を「ディメンジョン」「メジャー」に分類
b. データの「内訳」を見る
• どの値がどれくらいの割合で登場しているか?
• テンプレートに従ったデータ集計
c. データの「分布」を見る
• どのような値にデータが密集しているか?
• テンプレートに従った分布計算
2. Data Watch1. データ収集
- 18. Copyright
©2014
Treasure
Data.
All
Rights
Reserved.
a. データの「項目」を見る
• データにどのような項目があるか?
• 各項目にはどのような値が入っているか?
• 各項目を「ディメンジョン」「メジャー」に分類
↓
2-‐a.
「項目を見る」:
ディメンジョン・メジャー分類
18
メジャー:値が数値(定量)で
COUNT,SUM,
AVGなどを求め
る対象となる項目
ディメンジョン:この値各々に
対してメジャーが集計される。
非数値や年などの非順序数値
データサイエンティストのためのHiveQL分析クエリテンプレート その1
h=p://treasure-‐data.hateblo.jp/entry/2014/05/07/000000
- 19. Copyright
©2014
Treasure
Data.
All
Rights
Reserved.
2-‐b.
「内訳を見る」:
集計テンプレートクエリの適用
b. データの「内訳」を見る
• どの値がどれくらいの割合で登場しているか?
• 提供するテンプレートクエリに従ったデータ集計
↓
-‐-‐
#mをメジャー,%dim1をディメンジョンとする
-‐-‐
SELECT
SUM(#m)
[,
COUNT(1),
AVG(#m)
,
etc...]
FROM
table
WHERE
condiOon
GROUP
BY
%dim1
-‐-‐
#mをメジャー,%dim1,
%dim2をディメンジョンとする
-‐-‐
SELECT
SUM(#m)
[,COUNT(
1
)
AS
cnt,
etc...]
FROM
table
WHERE
condiOon
GROUP
BY
%dim1,
%dim2
SELECT
%year,
%month,
%day,
SUM(#m)
[,
COUNT(1),
etc...]
FROM
table
WHERE
condiOon
GROUP
BY
%year,
%month,
%day
ORDER
BY
%year,
%month,
%day
分類したメジャー,ディメンジョンの任意の
組み合わせで集計するテンプレートクエリ
データサイエンティストのためのHiveQL分析クエリテンプレート その1
h=p://treasure-‐data.hateblo.jp/entry/2014/05/07/000000
- 20. Copyright
©2014
Treasure
Data.
All
Rights
Reserved.
2-‐b.
「内訳を見る」:
内訳可視化テンプレートの適用
20
b. データの「内訳」を見る
• 「内訳」可視化テンプレートを適用
- 21. Copyright
©2014
Treasure
Data.
All
Rights
Reserved.
2-‐c.
「分布を見る」:
分布テンプレートクエリの適用
21
c. データの「分布」を見る
• どのような値にデータが密集しているか?
• 分布テンプレートクエリの適用
• ↓
2次元分布
/
3次元分布
→
SELECT
ceil(
#m/width
)*width
AS
x,
COUNT(1)
AS
cnt
FROM
(
SELECT
#m,
1
AS
one
FROM
table
WHERE
condiOon
)
t1
JOIN
(
SELECT
POW(10,floor(LOG10(MAX(
#m
)))-‐1)
/
n
AS
width,
1
AS
one
FROM
table
WHERE
condiOon
)
t2
ON
t1.one
=
t2.one
GROUP
BY
ceil(
#m/width
)*width
ORDER
BY
x
SELECT
ceil(
#m1/t2.width)*t2.width
AS
x,
ceil(
#m2/t3.width)*t3.width
AS
y,
COUNT(1)
AS
cnt
FROM
(
SELECT
#m1,
#m2,
1
AS
one
FROM
table
WHERE
condiOon
)
t1
JOIN
(
SELECT
POW(10,floor(LOG10(MAX(
#1
)))-‐1)
AS
width,
1
AS
one
FROM
table
WHERE
condiOon
)
t2
ON
t1.one
=
t2.one
JOIN
(
SELECT
POW(10,floor(LOG10(MAX(
#m2
)))-‐1)
AS
width,
1
AS
one
FROM
table
WHERE
condiOon
)
t3
ON
t1.one
=
t3.one
GROUP
BY
ceil(
#m1/t2.width)*t2.width,
ceil(#m2/t3.width)*t3.width
ORDER
BY
x,
y
データサイエンティストのためのHiveQL分析クエリテンプレート その2
h=p://treasure-‐data.hateblo.jp/entry/2014/05/29/000000
- 22. Copyright
©2014
Treasure
Data.
All
Rights
Reserved.
2-‐c.
「分布を見る」:
分布可視化テンプレートの適用
22
c. データの「分布」を見る
• どのような値にデータが密集しているか?
• 分布可視化テンプレートの適用
• ↓
2次元分布
/
3次元分布
→
データサイエンティストのためのHiveQL分析クエリテンプレート その2
h=p://treasure-‐data.hateblo.jp/entry/2014/05/29/000000
- 23. Copyright
©2014
Treasure
Data.
All
Rights
Reserved.
まとめ:
データ収集から目標設定まではノンストップ行える
3. 目標設定
1. データ収集
2. Data Watch
多少のコストをかけてデータ収集することには意義がある:
データを「見る」というステップに進めて示唆に富んだ情報が
得られる。
「項目」を見る
「内訳」を見る
「分布」を見る
• データの「見る」に特化したダッシュボード
• SQL-‐Lessで直感的に操作できるツール
データを見る事で
興味,問題意識
が,目標が生ま
れる。
- 24. Copyright
©2014
Treasure
Data.
All
Rights
Reserved.
Data
Watch
のための
VisualizaOon
Tools
24
データを「見る」ことへの投資
→
可視化ツールの採用
• (誰でも):SQL
などの低レイヤーのラーニングコストを無くしたい
• (すぐに):より効率良く簡潔にデータを見たい
• (直感的に):データと直感を結びつけたい
2. Data Watch
最短ルートでデータを
「見る」プロセスを回す
- 25. Copyright
©2014
Treasure
Data.
All
Rights
Reserved.
Data Watch のための Visualization Tools
25
a. データの「項目」を見る
データソースを指定すれば自動的
にディメンジョン
/
メジャーに分類
b. データの「内訳」を見る
ディメンジョン
/
メジャーを
x-‐軸,y-‐軸
へドラッグするだけで可視化が可能
c. データの「分布」を見る
分布を見るための機能も用意
- 26. Copyright
©2014
Treasure
Data.
All
Rights
Reserved.
トレジャーデータ流:データ分析の始め方(POC)
26
1. データ収集 2. Data Watch 3. 目標設定
POCの目線:データを「見る」こと,そこから何ができるか(目標)を描く
(スモールスタート
→
期間:1
〜
3ヶ月,使用するコア数レコード数で決まる従量課金体系)
- 27. Copyright
©2014
Treasure
Data.
All
Rights
Reserved.
トレジャーデータにおけるデータ分析プロジェクト
27
4. データ分析 5. 考察・仮説 6. Plan
7. Do 8. Data Check 9. Action
本プロジェクト
- 28. Copyright
©2014
Treasure
Data.
All
Rights
Reserved.
3.
事例紹介:オンラインゲーム
28
〜データを「見る」ことに徹底的にこだわったトレジャーデータのソリューション〜
トレジャーデータ事例集 1(a).「オンラインゲームソリューション」
h=p://treasure-‐data.hateblo.jp/entry/2014/06/13/150608
- 29. Copyright
©2014
Treasure
Data.
All
Rights
Reserved.
オンラインゲームソリューションとは
29
ログインログ
Treasure
Data
Service
データ統合
課金ログ
招待ログ
KPI:
PV
KPI:
ARPU
KPI:
リテンション
提供するログテンプレートを活用する事で,容易に多種多様なKPI群のモニタリング
がすぐに実現可能に。
- 30. Copyright
©2014
Treasure
Data.
All
Rights
Reserved.
1.
テンプレートに従ったデータ収集
30
1. データ収集 2. Data Watch 3. 目標設定
#
Applica5on
Ruby
Code
TD.event.post(
’login',
{
:uid
=>
123,
:device
=>
’smart
phone’,
:5me
=>
138959673
})
TD.event.post(
’pay',
{
:uid
=>
123,
:name
=>
’ItemA’,
:sub_category
=>
’a’,
:category
=>
A,
:count
=>
2,
:price
=>
300,
:5me
=>
138959673
})
Login
テーブル
Pay
テーブル
Inviteテーブル
ユーザー属性
情報テーブル
指定したログテンプレートに
沿って収集することでトレ
ジャークラウドに随時データ
がアップロードされていく
- 31. Copyright
©2014
Treasure
Data.
All
Rights
Reserved.
2.
データを徹底的に「見る」ための
ダッシュボード
31
1. データ収集 2. Data Watch 3. 目標設定
KPI:
PV
KPI:
ARPU
KPI:
レベル分布
- 32. Copyright
©2014
Treasure
Data.
All
Rights
Reserved.
3. 目標:コンバージョンのボトルネックを調べる
4. 分析:ファンネル分析
32
4. データ分析
3. 目標設定
チュートリアル開始から登録(コンバー
ジョン)までに至るステップで,どのス
テップが離脱率が高いのかを調べる。