デブサミ関西2013 「ソーシャルゲームのデータサイエンス」
DESCRIPTION
デブサミ関西 セッションB3 「ソーシャルゲームのデータサイエンス」TRANSCRIPT
SummitDevelopers Developers Summit 2013 Kansai Action !
ソーシャルゲームのデータサイエンス
越智修司KLab株式会社
ビジネスデベロップメント部マーケティンググループ
#kansumiB3B3
SummitDevelopers#kansumiB3
自己紹介•越智 修司(神戸市在住)
•ビジネスデベロップメント部
マーケティンググループ所属•エンジニア・プログラマ
• Felica/Edy,ガラケサイト,銀行アプリ,きせかえ• アプリ・サービスのプロトタイピング• 有名アーティスト・アイドルのファンクラブアプリ開発• iOSアプリ開発(プライベートで継続中)
• python,Rなど
@ponpoko1968
SummitDevelopers#kansumiB3
作ったもの「クリップリーダー」
電子書籍リーダー
• 自炊PDFに特化
• evernote連携
• 段組書籍
「勤怠くん」
勤怠メールを素早く送信
iPhone版(無料)
iPad版(85円)
「SweetHome」
• 「帰る」メールをジオフェンス技術で自動送信
「あとも」
• PM2.5アプリ
SummitDevelopers#kansumiB3
はじめに
• データ分析重要らしい
• 何から手をつけて良いかわからない
• 体制は?
• 技術選定は?
我々がおかれた条件と過程を中心に説明します。
SummitDevelopers#kansumiB3
KLab
• 2000年設立(筆者は9年目)
• 入社時は100名強→669名
• 歴史
• 携帯アプリ
• モバイルサイト+プロダクト
• ソーシャルゲーム ← イマココ
SummitDevelopers#kansumiB3
大阪事業所もあります
SummitDevelopers#kansumiB3
43サイト(分析対象分)
数千万PV/日/タイトル
KLabのソーシャルゲーム
2年で13サイト増加
SummitDevelopers#kansumiB3
組織技術データ
SummitDevelopers#kansumiB3
組織
SummitDevelopers#kansumiB3
経緯• ボトムアップ的に発達
• レポートWebが必要
• もっと詳細な分析の必要
• 技術者が自発的に開発を始めた
• 平行して企画者によるKPIチームが発足
• 統合
SummitDevelopers#kansumiB3
分析チーム• 約10名
• 技術者チーム(2名は大阪勤務)
• 分析インフラ構築
• 新規案件対応
• 自動化
• KPI分析チーム
• 運営チームのコンサル
• 社内案件の傾向分析
• コンテンツ間のノウハウ共有
SummitDevelopers#kansumiB3
データサイエンティスト
ITスキルプログラミングデータベース
ビジネススキルマーケティング
統計学データマイニング機械学習
SummitDevelopers#kansumiB3
バックグラウンド
• 統計学の経験あり
• モバイルサイト・ソーシャルゲームの開発経験
• ECサイトのマーケティング経験
• モバイルサイトのディレクター
技術者チーム KPI分析チーム
SummitDevelopers#kansumiB3
現状:ヒューリスティックス >サイエンス
SummitDevelopers#kansumiB3
ミッション定義• 自社コンテンツの価値向上
• おもしろさ/遊びやすさ
• + 継続性
• = 収益性
• まずは定量的な状況・傾向を把握すべし
SummitDevelopers#kansumiB3
現在のステータスデータ分析をやっているチームがあるらしいが直接役に立つイメージでもない
ゲームの数字について知りたいとおもったら、分析チームに依頼すれば何かしら出してくれるようだ
アウトプットを継続
SummitDevelopers#kansumiB3
技術
SummitDevelopers#kansumiB3
データ分析基盤(1)分析システム コンテンツ側システム
S3 Log Log
MySQL
Log Sales
01001001000111001100111011111011111111 01001001000111001100111011111011111111
EMR!
RDS Log
Sales
SummitDevelopers#kansumiB3
データ分析基盤(2)• 基盤部分はほぼ内製
• AWS上に構築
• データウェアハウス(原データの保管所)
• S3
• データ集計
• EC2
• データマート(集計済みデータ、一次加工後のデータ保管所)
• RDS(MySQL) → redshift
• ビッグデータ解析
• EMR(elastic map reduce)
• ログ解析など
SummitDevelopers#kansumiB3
使用言語は?
SummitDevelopers#kansumiB3
PythonPython使っている方は?
SummitDevelopers#kansumiB3
Why Python?• 保守性
• 習得の容易さ
• 速度
• 汎用言語の中では最も統計処理が得意
• 詳しい人が社内にいる(重要)
• 気が向いたらコードを添削してプルリクエストしてくれるなど
SummitDevelopers#kansumiB3
データ分析と言えば、Rなんじゃない?
SummitDevelopers#kansumiB3
Python vs. R• Pythonの利点
• 汎用言語であるため統計以外のソフトウェア資産も豊富
• AWS関連
• 単一の言語で完結できる
• 保守性
• Rの利点
• 可視化処理
• アドホックなデータ操作
• 探索的データ解析に適している
KPIの発見・検討には、RやSPSSも使っていますあくまで組織のおかれた状況次第ってところはあります。Rに詳しい人がいて、Rの欠点を補えると判断できればRの方が良いかも。
SummitDevelopers#kansumiB3
Pythonライブラリ• S3操作
• boto
• mapreduce/hadoop
• mrjob
• numpy
• pandas
• R風のデータ操作・加工
SummitDevelopers#kansumiB3
まずはデータ収集
• 自社サイトからのデータ収集
• ETL
• Extraction
• Translation
• Loading
SummitDevelopers#kansumiB3
分析システム コンテンツ側システム
S3 Log Log
MySQL
Log Sales
01001001000111001100111011111011111111 01001001000111001100111011111011111111
EMR!
RDS Log
Sales
ETL
ETL処理
SummitDevelopers#kansumiB3
ETL
• アクセスログ解析
• DAUの抽出
• iOS/androidのシェア分布
• 地域・国の分布
• ゲーム用RDBからのデータ抽出
• レベル・アイテム所持状況など、刻々変わるもののスナップショットを取る
• ゲーム共通なデータ抽出はライブラリ化して分析チームが担当
かつてはゲーム開発チームが担当。
スキーマ設計やフレームワークなども各チームで試行錯誤しているため、案件毎に前回の反省を踏まえ改良が入る。
差異を吸収するのが結構大変
SummitDevelopers#kansumiB3
チーム発足当時、すでに10数サイト↓
とても面倒
急速に成長したため、システムが乱立同工異曲ではないカオスな状態に
SummitDevelopers#kansumiB3
ETL
• ゲームシステムの理解
• ヒアリング
• 事前準備・交渉
• スキーマ設計
• ログ形式
SummitDevelopers#kansumiB3
商用プロダクト使ってないの?
• 使っています
• KPI分析チーム
• 最終工程など
• レポート作成
• SPSS Modeler
• Microsoft Excel
SummitDevelopers#kansumiB3
データ
SummitDevelopers#kansumiB3
どんなデータを集計しているの?• DAU
• 継続率
• 仮想通貨売り上げ
• インストール数/日
• チュートリアル進度
• レベル
• ギルド・友達
• イベント参加状況
• プロモーション効果
業務データベースの中身は変わるので、スナップショット重要
SummitDevelopers#kansumiB3
アウトプット• レポートWeb
• KPIメール
• 月次レポート
• 独自テーマのレポート
• 運営チームからの依頼
• 自発的
• データダウンローダー
SummitDevelopers#kansumiB3
レポートWeb
• アクセス制限
• 時系列グラフ
• ゲーム別・全体
SummitDevelopers#kansumiB3
KPIメール(1)
• 一日一回送信
• 全体・OS別集計(iOS/android)
• Excelシート添付
• 運営チームの報告書作成に活用
SummitDevelopers#kansumiB3
KPIメール(2)gmail/Google Appsを導入しているので手軽に閲覧可能
SummitDevelopers#kansumiB3
月次レポート
• プロデューサー、経営層向け
• 主要KPIの動向報告
• レポートWeb、KPIメールと異なり、担当の傾向分析が盛り込まれる
SummitDevelopers#kansumiB3
独自レポート• 月次レポート等を作成する過程で浮かび上がった課題を掘り下げ
る
• 例
• ユーザ層のクラスタリング
• レベル(習熟度)
• 課金額
• S-in後の初動調査調査
• 定着率
• チュートリアル突破状況
SummitDevelopers#kansumiB3
例)コンテンツの収益性可視化
課金率
ARPPU
コアユーザ多い
優良だが小規模
要てこ入れ
カジュアル
SummitDevelopers#kansumiB3
分析軸の重要性
• 売り上げ・DAUの減少
• 一律に減ることは少ない
• 要因となるクラスタが存在
• いかに豊富な分析軸をもつか
SummitDevelopers#kansumiB3
課題• 信頼性の向上
• リアルタイム性の向上
• 可視化・レポーティングの強化
• コスト削減
• スマートフォン対応
• 問題解決型から、問題発見・提案型へ
SummitDevelopers#kansumiB3
ソリューション
• BIツール導入
• クラウド型解析ツール
• 組織改革
SummitDevelopers#kansumiB3
BIツール導入
• 目的
• コスト削減
• リアルタイム性向上
• 信頼性向上
• 自社サーバに設置するタイプ
• Tabreau
• pentaho
• 自社スキーマに合わせカスタマイズ可能
SummitDevelopers#kansumiB3
分析システム コンテンツ側システム
S3 Log Log
MySQL
Log Sales
01001001000111001100111011111011111111 01001001000111001100111011111011111111
EMR!
RDS Log
Sales
BIツール
独自レポーティング画面
SummitDevelopers#kansumiB3
クラウド型解析ツール
• 目的• スマートフォン対応
• クライアントサイドの状況を把握• アプリの活性化・非活性化など
• 独自レポーティング画面を代替• コスト削減
• クラウド型解析ツール• Kontagent
• Flurry
• mixpanel
• SDKを組み込む
SummitDevelopers#kansumiB3
画面例(flurry)
※画面は筆者の個人アプリのデータです
SummitDevelopers#kansumiB3
分析チーム• 約10名
• 技術者チーム
• 分析インフラ構築
• 新規案件対応
• 自動化
• KPI分析チーム
• 運営チームのコンサル
• 社内案件の傾向分析
• コンテンツ間のノウハウ共有
別の組織!
SummitDevelopers#kansumiB3
組織改革• ノウハウが属人化していた
• 案件担当型→チームで対応
• ジョブローテ
• 開発→KPI分析
• 二つの視点を兼ね備えることで分析の質を向上
• マーケティング視点
• 技術
SummitDevelopers#kansumiB3
まとめ
• コンテンツ数が一定数を超えると分析チームの結成を検討を
• 自社の資産(人材・技術)にみあった技術選定
• 内製→プロダクトだったが、プロダクト→一部内製が効率良いかも
SummitDevelopers#kansumiB3
おすすめ本
データ分析に関する本は多いですが、BIの概念から入るのがわりと実践的
SummitDevelopers#kansumiB3
ご清聴ありがとうございました