今回紹介するのはAnders Drachen氏らがレポートを行った論文である「Incorporating Simple Social Features in Mobile Game Customer Lifetime Value Predictions」です。
この論文では、モバイルゲームにおけるCLTV(Customer Lifetime Value)とSNSでの社交性(この研究で対象としたモバイルゲームにおいて、Facebookから友達へ招待を送れるオプションのこと)が関係するのかという問いをテーマにしています。
本稿ではこの論文の要約を、イントロと研究概要、結論と考察の3つに分けて簡潔にわかりやすく説明していきます。
1. はじめに
現在ゲーム業界は非常に盛り上がりを見せており、その中でもモバイルゲームはゲーム業界の一角を担っています。
ゲーム業界では、ユーザーの獲得の課題が非常に重要視されています。これまでの研究では「どのようにしたらユーザーは増えるのか」という問いに焦点を当ててきました。それに対し、この研究では「どのようにしたらユーザーはゲームをプレイし続けてくれるのか」という問い焦点を当てます。つまり、“どうしたらコアなファンが増えるのか”ということです。それを、SNSで友人にゲームを紹介したかどうかによって予測しようというものがこの研究の主要テーマになります。
結論としては、今回のこの研究ではそれら2つの関係性の根拠は見つけられていません。しかし、著者のAnders氏らはそれと同時にモバイルゲームにおけるCLTVについて重要な知見が得られたとしています。
- ゲーム業界における研究で「ユーザーがどれだけゲームを長くプレイしてくれるか」という課題に焦点を当てていること
- そのためにSNSでの社交性に注目してCLTVを予測しようと考えたこと
2. 研究概要
この研究はモバイルゲームにおけるCLTV(カスタマーLTV)を予測するものです。
そこで、この研究ではプレイヤーが社交性であるかどうかと、課金をしているかどうかの2つのポイントに着目して分類をしています。
以下、わかりやすさのため、(SNSでの)社交的なプレイヤーを”Social”、課金者を”Premium”と定義付けます。Socialは今回の研究のメインポイントそのものです。PremiumならばCLTVを説明できる可能性は直感的にわかりますね。
ちなみになぜ社交性なのかというと、これもモバイルゲームならではの特徴で、Facebookのアカウントで招待を行うと、ゲーム内で報酬がもらえるなどのオプションがあります。これらもCLTVを説明できる可能性がありそうです。
これらの特徴量を考えたうえで、以下のような分析のプロセスを行います。
- まずプレイヤーを”Social”と”Premium”にそれぞれ分類し、予測する
- 分類の結果を統合したうえで回帰によってCLTVを予測する
この分析プロセスの詳細を2.2節で説明します。
2.1 データセットについて
使用されたデータはとあるモバイルゲーム開発者から提供された、パズルゲームのユーザーデータです。全部で20万人のデータを使用しました。このデータセットからプレイヤーを以下3つの種類に分けることが可能になりました。
- Gameplay(ゲームプレイ時間が長い人)
- Purchase(課金者)
- Social(SNSでほかの人に招待を送った人)
ここでの調査でGameplayとPurchaseはほとんどがマッチしており、Socialについてはそのような特徴が見られなかったことがわかりました。
また、プレイヤーの11%がSNSで招待したことがある(そのうちの9%がインストールしてから90日後に招待を送った)、プレイヤーの2.5%が課金をしたことがある(そのうち23%がインストールしてから90日後に課金をした)といったことがわかりました。
2.2 分析のプロセスとその結果
分析のプロセスは時系列的に説明します。
2.2.1 分類での予測
- 訓練データはゲームをインストールしてから1週間のユーザーデータです。テストデータは2週間目(Days 8 – 14)と3週間目(Days 8 +)以降の2つを使用します。1週間という期間はゲーム業界で一般的な一つの指標です。この時、SMOTEという手法を使ってリサンプリングを行います。これはデータ全体に対し、SocialやPremiumのユーザー数が少ないのでその調整を行うためです。
- SocialとPremiumをそれぞれ2分類に分ける予測を行います。
この時使用した手法は
①ランダムフォレスト
②勾配ブースティング
③AdaBoost
④C5.0
の4つです。結果は以下の表2.1、2.2のようになります。結果的にランダムフォレストと勾配ブースティングが精度が高くなりました。精度の指標にはArea Under the Curve(AUC)とArea Under the Precision-Recall Curve(AUPR)を用いました。 - 次に以下の表2.2.3のような4クラスに分けます。この4クラス分類で使用した手法は2.で精度がよかったランダムフォレストと勾配ブースティングの2つです。結果は以下の表2.2.4になります。この結果を見ると、Socialと、Neitherの予測精度は非常にいいように思えます。しかし、Premiumと、Bothの予測精度はいいとは言えません。これはデータ全体に対し、Premiumの数が少なかったことが原因と考えられます。さらにBothのユーザー数はもっと少ないので精度の悪さにも反映しています。これはSMOTEでリサンプリングをしても改善できませんでした。
- 結果からの知見
Premiumの予測ではトータルのプレイ日数と、課金回数、課金額が主な特徴量でした。しかし、Premiumの予測にSocial関連の特徴量は観察されませんでした。Socialの予測では、近接度と仲の良さが主な特徴量でした。しかし、それ以外のSocialな特徴量は観察されず、これは社会学的なスパース性によるものであると考えられます。
表2.1.1 Premiumの予測結果
Model Type | AUC | AUPR | |
Days 8 – 14 | Random Forest | 0.834 | 0.161 |
Adaboost | 0.799 | 0.134 | |
XGBoost | 0.739 | 0.144 | |
C5.0 | 0.769 | 0.023 | |
Days 8 + | Random Forest | 0.749 | 0.154 |
Adaboost | 0.740 | 0.113 | |
XGBoost | 0.785 | 0.121 | |
C5.0 | 0.731 | 0.063 |
表2.1.2 Socialの分類結果
Model Type | AUC | AUPR | |
Days 8 – 14 | Random Forest | 0.927 | 0.291 |
Adaboost | 0.930 | 0.321 | |
XGBoost | 0.933 | 0.311 | |
C5.0 | 0.918 | 0.262 | |
Days 8 + | Random Forest | 0.908 | 0.396 |
Adaboost | 0.908 | 0.443 | |
XGBoost | 0.915 | 0.463 | |
C5.0 | 0.879 | 0.353 |
表2.1.3 分類の仕方
Premium | Social | Both | Neither | |
課金したか | Yes | No | Yes | No |
SNS招待したか | No | Yes | Yes | No |
表2.1.4 ランダムフォレストによる4クラス分類予測の結果
Premium | Social | Both | Neither | |
Premium | 0.379 | 0.026 | 0.00 | 0.045 |
Social | 0.183 | 0.782 | 0.750 | 0.088 |
Both | 0.039 | 0.009 | 0.167 | 0.002 |
Neither | 0.399 | 0.183 | 0.083 | 0.865 |
2.2.2 回帰での予測
- ここでの目的変数はCLTVになります。事前にCLTVのプレイヤーごとの歪みを取り除くために、1を足してから対数をとります。
- まずデータを合計課金額に応じてサブセットに分けます。CLTVの予測モデルに当てはめるデータは2週間以上のプレイ日数で1円でも課金をしていたユーザーです。これは分類予測のときに無課金者と課金者を完璧に分類できたという仮定の下で行われます。
- また、その過程をなくした場合のサブセットも用意し、2つのサブセットを使って無課金者と課金者を分けていきます。これを慎重に行わなければモデルの有効性をなくしてしまいます。
- この作業で以下の4つのセグメントに分けました。
①Heuristic: 始めて1週間で課金をしたプレイヤー
②Predicted: 分類で8日目以降に課金をすると予測したプレイヤー
③Combined Users: HeuristicとPredictedの融合
④Play Session: 始めて1週間で2人以上プレイしたプレイヤー
この4つのセグメントでの結果は表5に示します。 - セグメントで分けた後、2週間目(Days 8 +)にPremiumとなった(課金した)ユーザーを対象にCLTV予測を行いました。ここではモデルの精度を推定します。モデルにはランダムフォレストと勾配ブースティングを適用します。結果は以下の表6に示します。モデルの精度の評価はNRMSE(正規化二乗平均平方根誤差)とR^2(決定係数)を用いました。
- 次に4つのセグメンテーションについてそれぞれ予測を行います。結果は以下の表7に示します。ここでは前回のモデルの指標に、NMAE(正規化平均絶対誤差)も追加しています。
- 結果からCombinedが最も精度がよかったことがわかります。また、勾配ブースティングよりもランダムフォレストのほうが精度がよかったこともわかります。
- もう少し詳しく結果を見てみいくと予測因子の一つである、”Current Absence Time”が最も強い影響力を持っていることがわかりました。これは非常に重要な発見となりました。こちらの結果については論文の図を参照してください。
- しかし、SNSなどの活動と、CLTVには関係性がなかったように思えます。これの原因は再度の記述でありますが、社会的なスパース性によるものであると思われます。
表2.2.1 セグメントごとの分類結果
Model Type | No. Players | No. Premium Players |
Heuristic | 404 | 215 |
Predicted | 968 | 146 |
Combined | 1,239 | 304 |
Play Session | 55,582 | 1,458 |
表2.2.2 Dyas 8+ における予測モデルの精度の評価
NRMSE | R^2 | |
Random Forest | 0.938 | 0.096 |
XGBoost | 1.068 | 0.097 |
表2.2.3 4つのセグメンテーションにおけるそれぞれの予測モデルの精度の評価
Model Type | R^2 | NRMSE | NMAE | |
Heuristic | Random Forest | 0.187 | 1.372 | 1.574 |
XGBoost | 0.155 | 1.415 | 1.569 | |
Predicted | Rando Forest | 0.301 | 0.791 | 0.578 |
XGBoost | 0.062 | 0.975 | 0.793 | |
Combined | Random Forest | 0.408 | 0.879 | 0.725 |
XGBoost | 0.365 | 0.922 | 0.760 | |
Play Session | Random Forest | 0.070 | 0.070 | N/A |
XGBoost | 0.019 | 0.019 | N/A |
3.結論と考察
この研究の結論は以下です。
3.1 結論
- 今回提案したSocialやPremiumの定義づけによるCLTVの予測手法は一般的なモバイルゲームにも適応させることができる。しかし、社会的なスパース性などの複雑な要因をモデルに組み込むことはできない。
- SocialとPremiumでプレイヤーを分類することを試みた結果、Premiumなプレイヤーは多少の社交性が見られますが、ゲームを進行させるには課金がドライバーとなる。Socialなプレイヤーは課金をすることは滅多になく、基本的にSNS招待による報酬でゲームを進めていく。
- SNSによる社交性とゲーム内課金には関係性があるものかと思われたが、残念ながらそれを強調づけるような結果は得られなかった。
まとめると、目的としていた、SocialとPremiumの関係性は得られず、CLTVの予測もソーシャルの複雑性によってモデルがうまく機能しなかったと言えます。よって、ただSNSで招待するといった機能をゲームにつけているだけでは収益にあまりつながらないということがわかりました。
3.2 考察
これからモバイルゲームを開発する際にはSNSの基礎的なソーシャル機能だけではなく、ゲーム内でのソーシャル機能を実装すべきとも考えられるかもしれません。
例えば、クラッシュオブクランなどのゲームでは、モバイルゲーム内で世界中のプレイヤーと交流(チャット)を行うことができます。このようなSocialな特徴はCLTVを予測するうえで説明できる部分が多いと考えられる可能性もあるためです。
コメント