sega : growth hacking by spark ml for mobile games

34
SEGA Games Co., Ltd. SEGA Networks Company SEGA : Growth hacking by Spark ML for Mobile games

Upload: hadoop-summit

Post on 06-Jan-2017

649 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: SEGA : Growth hacking by Spark ML for Mobile games

SEGA Games Co., Ltd. SEGA Networks Company

SEGA : Growth hacking by Spark ML for Mobile games

Page 2: SEGA : Growth hacking by Spark ML for Mobile games

◆ 自己紹介

SEGA Games Co., Ltd. SEGA Networks Company 2

村上 宰和(むらかみ ただかず)

所属

株式会社セガゲームスセガネットワークスカンパニーIT 統括部 共通基盤開発部データマイニングセクション

主な業務・ Hadoop ベースのデータ基盤・分析基盤構築・直近は Spark MLlib を活用した予測基盤構築・業務課題に対する予測活用提案

マイブーム・畑で野菜栽培・コーヒードリッピング、テイスティング・ San Francisco 49ers ( NFL )

Page 3: SEGA : Growth hacking by Spark ML for Mobile games

◆ アジェンダ

SEGA Games Co., Ltd. SEGA Networks Company 3

1. Motivation

2. Challenge

3. Case Study

4. Summary

5. Next Challenge

Page 4: SEGA : Growth hacking by Spark ML for Mobile games

1. Motivation

2. Challenge

3. Case Study

4. Summary

5. Next Challenge

SEGA Games Co., Ltd. SEGA Networks Company 4

Motivation

Page 5: SEGA : Growth hacking by Spark ML for Mobile games

◆ モバイルゲームビジネスとは?

SEGA Games Co., Ltd. SEGA Networks Company 5

売上

日数

売り切り型ゲームモバイルゲーム(悪い状態)

モバイルゲーム(良い状態)

今までの売り切り型とは異なり、継続的なサービスを提供するビジネスモデル

売上も、長期にわたり継続的に確保

Page 6: SEGA : Growth hacking by Spark ML for Mobile games

売上

日数

売り切り型ゲームモバイルゲーム(悪い状態)

モバイルゲーム(良い状態)

売上維持のために適切な【運営】が必要

では、どうやって?

◆ ビジネスの課題

SEGA Games Co., Ltd. SEGA Networks Company 6

適 切 な 運 営

Page 7: SEGA : Growth hacking by Spark ML for Mobile games

◆ ビジネスへの貢献

SEGA Games Co., Ltd. SEGA Networks Company 7

徹底的にデータを駆使して、適切な運営の実現に貢献する

あらゆるデータを精査し、これを活用してサービスを成長させる

= 【 グロースハック 】

Page 8: SEGA : Growth hacking by Spark ML for Mobile games

◆ 分析による課題解決

SEGA Games Co., Ltd. SEGA Networks Company 8

まずはデータ分析で解決

具体的には、時系列分析、比較分析、内訳分析等を実施

急に売上が下がってきた!   巻き返したい

アクティブユーザが減少している。歯止めをかけたい

イベントの出足が悪い。    途中でてこ入れしたい

前回販売したゲーム内商品が売れた!次回も売れたい!

売上関連の KPI で時系列的に悪化トレンドの指標を改善

流出したユーザが属する層を内訳分析で特定し改善

イベント関連データを内訳分析し、悪化要因抽出・改善

各商品のデータを様々な軸で比較し、好調な軸に着目

課題 解決策

Page 9: SEGA : Growth hacking by Spark ML for Mobile games

◆ 【対症療法】 から 【予防】 へ

SEGA Games Co., Ltd. SEGA Networks Company 9

予測に基づく【 予防 】はできないのか?

分析による課題解決は【 対症療法 】

Page 10: SEGA : Growth hacking by Spark ML for Mobile games

1. Motivation

2. Challenge

3. Case Study

4. Summary

5. Next Challenge

Challenge

2

SEGA Games Co., Ltd. SEGA Networks Company 10

Page 11: SEGA : Growth hacking by Spark ML for Mobile games

◆ 予測によって解決する課題

SEGA Games Co., Ltd. SEGA Networks Company 11

ユーザの特徴を明確化してサービス強化点としたい

ユーザのゲーム離れを抑止したい

多様な属性のユーザにもゲームを楽しんで欲しい

売上が立たないタイトルをリリースしたくない

コンテンツのクリック率を向上させたい

クエストバランス調整の属人化を排除したい

類似ユーザをグループ分けすると特徴が明確になる?

ゲームを辞めそうな人を予測して引き留めると良い?

ユーザ属性情報を予測し、属性毎にサービスすると良い?

リリース前に売上予測を行い、事前に改善できると良い?

ユーザ毎に最適なコンテンツ表示ができると良い?

難易度や報酬等の要因で予測式が導けると良い?

課題 仮説

2

Page 12: SEGA : Growth hacking by Spark ML for Mobile games

◆ Spark MLlib でやってみた!

SEGA Games Co., Ltd. SEGA Networks Company 12

予測を実現するために、 Spark MLlib を活用

ユーザ動向データ等を「学習」して、予測能力を獲得

ユーザ動向データ等

Page 13: SEGA : Growth hacking by Spark ML for Mobile games

◆ Spark MLlib とは?

SEGA Games Co., Ltd. SEGA Networks Company 13

種類 用途

分類 要素が該当するカテゴリを推測

回帰 予測計算式を導出して数量を予測

クラスタリング 要素の集合をグループ分けしつつ、要因抽出

協調フィルタリング レコメンデーションを行う

Spark MLlib は、 Hadoop のエコシステムの 1つである Sparkに付属するマシンラーニングライブラリ

主に 4つの種類・用途がある

Page 14: SEGA : Growth hacking by Spark ML for Mobile games

◆ 使用したアルゴリズムと選定理由

SEGA Games Co., Ltd. SEGA Networks Company 14

ロジスティック回帰 : 物事が発生する「確率」を予測する用途に最適

K-means : クラスタ数が所与の場合、比較的高速かつ高精度種類 アルゴリズム

分類

サポートベクタマシン (SVM)デシジョンツリー( Gini Impurity/Entropy/Variance )

ナイーブベイズ

回帰ロジスティック回帰

線形回帰

クラスタリング

K-means混合正規分布モデル (GMM)潜在的ディリクレ配分法 (LDA)

協調フィルタリング 交互最小二乗法 (ALS)

Page 15: SEGA : Growth hacking by Spark ML for Mobile games

1. Motivation

2. Challenge

3. Case Study

4. Summary

5. Next Challenge

Case Study

3

SEGA Games Co., Ltd. SEGA Networks Company 15

Page 16: SEGA : Growth hacking by Spark ML for Mobile games

◆ 予測によって解決した課題

SEGA Games Co., Ltd. SEGA Networks Company 16

ユーザの特徴を明確化してサービス強化点としたい

ユーザのゲーム離れを抑止したい

多様な属性のユーザにもゲームを楽しんで欲しい

売上が立たないタイトルをリリースしたくない

コンテンツのクリック率を向上させたい

クエストバランス調整の属人化を排除したい

類似ユーザをグループ分けすると特徴が明確になる?

ゲームを辞めそうな人を予測して引き留めると良い?

ユーザ属性情報を予測し、属性毎にサービスすると良い?

リリース前に売上予測を行い、事前に改善できると良い?

ユーザ毎に最適なコンテンツ表示ができると良い?

難易度や報酬等の要因で予測式が導けると良い?

課題 仮説

2

Page 17: SEGA : Growth hacking by Spark ML for Mobile games

◆ ケース① ユーザの特徴明確化

SEGA Games Co., Ltd. SEGA Networks Company 17

ユーザの特徴を明確化してサービス強化点としたい

類似ユーザをグループ分けすると特徴が明確になる?

課題 仮説

Spark MLlib の K-means アルゴリズムで、ユーザを「類似した」ユーザ同士で 3つのクラスタ(グループ)に分けた

⇒ どの変数(要因)でクラスタが明確に分かれるかを把握

解決策

Page 18: SEGA : Growth hacking by Spark ML for Mobile games

◆ ケース① ユーザの特徴明確化

SEGA Games Co., Ltd. SEGA Networks Company 18

頻度

変数 X1 、 X2 、 X3 においてクラスタが明確に分かれた

ユーザの特徴は、これらの変数で説明可能

ユーザの特徴を把握でき、サービス強化点として考慮できるようになった

変数 X1 変数 X2 変数 X3

Page 19: SEGA : Growth hacking by Spark ML for Mobile games

◆ ケース② ユーザのゲーム離れを抑止

SEGA Games Co., Ltd. SEGA Networks Company 19

ユーザのゲーム離れを抑止したい

ゲームを辞めそうな人を予測して引き留めると良い?

課題 仮説

2

Spark MLlib のロジスティック回帰アルゴリズムで、ユーザの n 日後残存確率を予測

⇒ n 日後残存確率に応じて、個別のサービスを提供

解決策

Page 20: SEGA : Growth hacking by Spark ML for Mobile games

◆ ケース② ユーザのゲーム離れを抑止

SEGA Games Co., Ltd. SEGA Networks Company 20

効果計測の指標として、【継続率】を適用

継続率で約 20%程度の向上を目指す

継続率 (%)

対応前

対応後 ( 予定 )

Page 21: SEGA : Growth hacking by Spark ML for Mobile games

◆ ケース② ユーザのゲーム離れを抑止

SEGA Games Co., Ltd. SEGA Networks Company 21

n 日後残存確率が High/Middle/Low のどれに該当するかによって、ユーザをカテゴリ分け

n 日後残存確率 (%)

変数 X

High

Middle

Low

実際には残存した

実際には辞めた

予測

実際

Page 22: SEGA : Growth hacking by Spark ML for Mobile games

◆ ケース② ユーザのゲーム離れを抑止

SEGA Games Co., Ltd. SEGA Networks Company 22

どのカテゴリでも、約 10%以内の誤差で、 n 日後残存確率の予測ができた!

A : n 日後残存確率のカテゴリ (= x) A’ : A の中央値

B : 実際に n 日後に残存した割

誤差B – A’

Low(x < 20%) 10% 3.37% -6.63%

Middle(20% <= x < 80%) 50% 39.23% -10.77%

High(80% <= x) 90% 95.43% 5.43%

Page 23: SEGA : Growth hacking by Spark ML for Mobile games

◆ ケース② ユーザのゲーム離れを抑止

SEGA Games Co., Ltd. SEGA Networks Company 23

継続率 (%)

対応後 (実際)

( わずかに目標 (+20%) には届かなかったけど… )  大幅 (+15%) な継続率向上が見

られた。

⇒ ユーザのゲーム離れ抑止に効果があった!

Page 24: SEGA : Growth hacking by Spark ML for Mobile games

◆ ケース③ 多様な属性のユーザも楽しませる

SEGA Games Co., Ltd. SEGA Networks Company 24

多様な属性のユーザにもゲームを楽しんで欲しい

ユーザ属性情報を予測し、属性毎にサービスすると良い?

課題 仮説

※ 今回はユーザの「性別」を予測

Spark MLlib のロジスティック回帰アルゴリズムで、ユーザのプレイデータから性別を予測

⇒ 予測属性に応じて、個別にサービスを提供

解決策

Event  

AEvent

  

B

Page 25: SEGA : Growth hacking by Spark ML for Mobile games

◆ ケース③ 多様な属性のユーザも楽しませる

SEGA Games Co., Ltd. SEGA Networks Company 25

* Google の TensorFlow にて検証。 Spark MLlib では未サポート

いくつかのアルゴリズムを試行し、結果的にロジスティック回帰が最も高い 82% の精度を出した

ユーザの性別を予測し個別にサービスを提供して、どちらの性別のユーザも楽しませる事ができるようになった

アルゴリズム 精度

ロジスティック回帰 82%デシジョンツリー( Gini

Impurity )81%

* ディープラーニング( 6 層) 73%

* ニューラルネットワーク( 2 層) 71%

Page 26: SEGA : Growth hacking by Spark ML for Mobile games

1. Motivation

2. Challenge

3. Case Study

4. Summary

5. Next Challenge

Summary

4

SEGA Games Co., Ltd. SEGA Networks Company 26

Page 27: SEGA : Growth hacking by Spark ML for Mobile games

◆ まとめ

SEGA Games Co., Ltd. SEGA Networks Company 27

Spark MLlib を使って予測したら、みんなに良い事があった

データエンジニアにとっては、難しい予測処理を MLlibに任せられた

データアナリストにとっては、運営担当者に精度の高い予測結果を提供できるようになった

運営担当者にとっては、精度の高い予測結果を活用して、「予防」対応を実施できるようになった

エンドユーザにとっては、自分に合うサービスが増えて、もっとプレイを継続したい気になれた

つまり、みんなが Happy になった!!

Page 28: SEGA : Growth hacking by Spark ML for Mobile games

1. Motivation

2. Challenge

3. Case Study

4. Summary

5. Next Challenge

Next Challenge

5

SEGA Games Co., Ltd. SEGA Networks Company 28

Page 29: SEGA : Growth hacking by Spark ML for Mobile games

◆ 予測によって解決しようとしている課題

SEGA Games Co., Ltd. SEGA Networks Company 29

ユーザの特徴を明確化してサービス強化点としたい

ユーザのゲーム離れを抑止したい

多様な属性のユーザにもゲームを楽しんで欲しい

売上が立たないタイトルをリリースしたくない

コンテンツのクリック率を向上させたい

クエストバランス調整の属人化を排除したい

類似ユーザをグループ分けすると特徴が明確になる?

ゲームを辞めそうな人を予測して引き留めると良い?

ユーザ属性情報を予測し、属性毎にサービスすると良い?

リリース前に売上予測を行い、事前に改善できると良い?

ユーザ毎に最適なコンテンツ表示ができると良い?

難易度や報酬等の要因で予測式が導けると良い?

課題 仮説

2

Page 30: SEGA : Growth hacking by Spark ML for Mobile games

◆ ケース④ 不採算見込タイトルの事前改善

SEGA Games Co., Ltd. SEGA Networks Company 30

売上が立たないタイトルをリリースしたくない

リリース前に売上予測を行い、事前に改善できると良い?

課題 仮説

4

Spark MLlib の線形回帰アルゴリズムで予測計算式を導出し、一定期間後の売上高を予測

検討している解決策

売上

日数

now

Page 31: SEGA : Growth hacking by Spark ML for Mobile games

◆ ケース⑤ コンテンツの認知度向上

SEGA Games Co., Ltd. SEGA Networks Company 31

コンテンツのクリック率を向上させたい

ユーザ毎に最適なコンテンツ表示ができると良い?

課題 仮説

Spark MLlib の交互最小二乗法 (ALS) アルゴリズムで、自分に近い嗜好を持つ他ユーザがクリックしたコンテンツをレコメンド

検討している解決策

ABC

CXY

Page 32: SEGA : Growth hacking by Spark ML for Mobile games

◆ ケース⑥ クエストバランス調整属人化排除

SEGA Games Co., Ltd. SEGA Networks Company 32

クエストバランス調整の属人化を排除したい

難易度や報酬等の要因で予測式が導けると良い?

課題 仮説

6

仮説も検討中

Page 33: SEGA : Growth hacking by Spark ML for Mobile games

◆ Finally…

SEGA Games Co., Ltd. SEGA Networks Company 33

We are hiring!! http://sega-net.com/recruit/

ビッグデータ

マシンラーニング

モバイルゲーム に興味がある

データエンジニア

データアナリスト

Page 34: SEGA : Growth hacking by Spark ML for Mobile games

SEGA Games Co., Ltd. SEGA Networks Company 34

Thank You