zansa第12回資料...

36
ソソソソソソソソソソ ソソソソソソソソソソソソソソ 、! Cheap&agile data mining ソソ ソソ

Upload: shota-kubo

Post on 20-Aug-2015

5.211 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」

ソーシャルゲームでは、データがユーザーを理解する!~ Cheap&agile data mining ~久保 翔太

Page 2: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」

自己紹介

Semi-supervised learning の研究 から逃げて引きこもったり

最近一部上場した森タワーの会社とか 昔一部上場してた元森タワーの会社とか

の下っ端プログラマ

データを眺めるのが本業より楽しかったのでキャリアチェンジ Chief data scentinst

Page 3: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」

今日の話題

すごい技術の話、すごいモデルの話 一人部署でデータマイニングの業務を作った話

しません おもしろかったデータの話 安くて早いデータ発掘の話

します

Page 4: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」

データの特徴

全てプラットフォームの id に紐付いているので追跡可能 データの組み合わせが多い(カラム数 * テーブル 3 桁

くらい) 全てチェックするのは無理 →特徴を競合よりたくさん

見つけたら勝ち 量に関してはインフラの人が何とかしてくれているので

処理の面倒さでは余り変わらない。むしろ質(行動データの記録量)

Page 5: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」

モンティ・ホール問題より役に立つ話

Page 6: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」

塔を登るイベント 1 階毎に扉が 2 ~ 4 個 扉の答は決まっているので答えを共有できる

→ 一回目で間違える確率は?

Page 7: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」

失敗確率がおかしい

2 択で 70%も間違えるのはおかしい

母数の割に収束しなさすぎる

Page 8: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」

正解番号と失敗率

0.2 0.3 0.4 0.5 0.6 0.7 0.80

0.5

1

1.5

2

2.5

3

3.5

4

1 が答えの時だけ正解率が良い=連打で 1 から選んでいる

1→1→1 と 3 連続の時

Page 9: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」

TL;DR

選択肢がある時は片っ端から開ける 次の階は前の階とは違う扉と考える

それ役に立つの? 「ウザい」設計にしたり逆にチョロくしたり

Page 10: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」

競争心のはなし

Page 11: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」

イベントにはランキングに応じて報酬が 30 位ならめちゃ良い物 50 位ならけっこう良い物 100 位ならそこそこ良い物

「イベントの報酬なんですが・・・どう思いますか?」→どうって言われても・・・

Page 12: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」

0 50 100 150 200 250 300 350 400 450 500

rank

poin

t

競争している場所(ポイントが跳ね上がってる

目的の順位に到達した後は競争しなくなる

Page 13: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」

50 位で貰えてた物を 100 位でも貰えるようにする

ランキングの最適化

競争

ランク確定

勝負しない

競争

ランク確定

勝負しない

消費体力 消費体力

100 人50 人

Page 14: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」

そこそこ成功

Page 15: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」

アーリーアダプターの話

Page 16: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」

アプリ B の事前登録( 予約)ユーザーの半分が一年前のアプリ≒ A のユーザーと被っていた

appA appB

Page 17: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」

アーリーアダプターでした

appA appB

重複ユーザーのうち 25% が appA のリリース後 5 日以内に登録

役に立つの?→リリース直後のユーザー数の見積りと初期ユーザーの目的

Page 18: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」

アジャイルな話

Page 19: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」

基本無料のゲームは入会初日で「半分より多い」割合が辞める。

離脱、継続するファクターを意識して改善し続ける必要がある

継続する→ DAU増える→イベントがにぎわう→売上増える→桶屋が儲かる

Page 20: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」

Id Page1の pv … Page255のpv

継続したか

123456 100 23 1

234567 21 2 0

( overfit しまくりの ) 決定木

最初のボス倒したユーザーの 80% が継続

ならボスを倒しやすくしてみよう

Page 21: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」

対象ユーザーの継続率が 80→60% に

逆に倒し辛くしたら?(実験中)

Page 22: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」

イテレーションが大事

ファクターの発見6h

説明0.5h

施策適用1h

データ収集3day

問題定義0.5h

自明な結果 効果測定

Page 23: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」

アジャイルな話 2

Page 24: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」

課金率が高い新規入会者が入ってきた継続率も良い

Page 25: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」

ダブルスコアで初期カードにかわいい系を選択かつ課金先のほとんどがガチャ

Copyright©2011 givery, Inc. All rights reserved.

Page 26: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」

施策 結果

二倍の反応率

Page 27: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」

発見から施策まで:6 時間

Page 28: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」

人工人工知能によるパターン発見のはなし

Page 29: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」

Librato Metricsで捗る

自分以外数字をみてくれない Cacti でグラフ描いた→失敗 Phpmyadmin で自分で見て→失敗

Librato Metrics API に値投げるだけ 安い。1プロット$0.000002 ! パーマリンクも貼れる スクリーンショットも貼れる 2010年代のオシャレっぽさ

Page 30: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」
Page 31: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」

数えられるくらいの量なら人間にパターン発見やらせたほうが高性能

Page 32: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」

飽きそうなユーザーをセグメント分けした話

Page 33: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」

主成分分析

「飽きつつあるユーザー」「最近課金しつつあるユーザー」「コンスタント」などで説明できる主成分に

Id 1月ガチャ課金 … 7月ガチャ課金 総額123456 100 23 200

234567 21 2 50

Page 34: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」

[2012/07/05 17:34:17] 翔太 久保 [2012/07/05 17:34:20] 翔太 久保 : に置き

ました [2012/07/05 17:34:51] 翔太 久保 : god.txt

というのが元のデータで [2012/07/05 17:35:15] 翔太 久保 : プレイ

ヤー id ガチャ12001を回した回数 ・・・・ 12006 合計回数 というフォーマットになっています

[2012/07/05 17:36:18] 翔太 久保 : これを主成分分析なる物にかけると、元のガチャ6種類+合計の軸が 主成分なる謎の軸で表現できるようになります。これを図で示したのがpngの画像です

[2012/07/05 17:37:40] 翔太 久保 : 例えば主成分2は合計額が多くて、12001の回数が多くて、他、特に12006が少ない人という意味なので、人間の言葉で表すと「昔はよかった」と言えそうです

[2012/07/05 17:38:47] 翔太 久保 : 右の表を見て、昔は・・・のスコアが高い人は今日みた様な、1月に課金しまくって合計額も多いけど、今はやってない人の群になります。

[2012/07/05 17:39:05] 翔太 久保 : ちなみに一番スコア高いのは今日みた *****さんです

[2012/07/05 17:39:08] 翔太 久保 : ・・・という

[2012/07/05 17:39:15] 翔太 久保 : 説明下手なもので・・

[2012/07/05 17:40:03] 翔太 久保 : 図を見ると主成分2と3の2軸を使うと3群くらいに分類できそうな感じですよね。

[2012/07/05 17:41:14] 翔太 久保 : なので主成分2のスコアが高いユーザーを集めると「最近課金してくれないユーザー群」

[2012/07/05 17:42:09] 翔太 久保 : 主成分3は「ここ数カ月でたくさん課金してくれるユーザー群」になるので、さらに集計するなり直でカムバックメッセージ送るなり、でしょうか活用するとしたら

Page 35: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」

簡単な方法ならそれが一番

Facebook でデータサイエンティストとして働いている人のブログより:  Effectively answering questions is where technical skills become important. It's easy to get caught up in fancy algorithms and methods, but those approaches are usually premature optimizations. The best answers are 1) cheap and 2) easy to explain.

Page 36: Zansa第12回資料 「ソーシャルゲームでは、データがユーザーを理解する!」

その他

Apache pig+amazon EMR と 10 行のスクリプトで一年分のログを 100円で集計できた話

相関ルールでキャラクター属性のカテゴライズ シンプルなモデルで DAU を予測できた話 チーターを検出した話