バンダイナムコネクサスのデータ戦略部

原拓自氏(以下、原):「リアル/ネット配信イベントが与えるゲーム売上への影響分析」という内容で発表いたします。

これは、具体的には我々、バンダイナムコネクサスのデータサイエンスオフィスという、データ分析のチームのところで行っている分析の具体的な事例になります。

アジェンダは、このようになっております。

まず、簡単な自己紹介からいたします。私の所属は、バンダイナムコネクサスのデータ戦略部のデータサイエンスオフィスです。分析の業務をやるんですが、その中でもリーダー的なポジションとして、メンバーの分析をリードしたり、自分で実分析作業を行ったりしています。

具体的に、分析事例はなにがあるかというと、今期やった主なものとしては、広告効果の最適化ですね。次の発表になると思いますが、マーケティング・ミックス・モデリングのアルゴリズムを構築して、それを実際にやってみたり。

また2つ目は、スマートフォンゲームや家庭用ゲームの需要予測を行っています。新しいスマートフォンゲーム、例えば2年後にアメリカであるIPのゲームを出したいとか、そういう時に対して、それがどれくらいダウンロードされてどれくらい売上になるのかを事前に予測して、開発をそのまま進めていいのか、それとも、もう少し企画の路線変更が必要なのかなど、そういった判断に使ったりしています。

3つ目は、IP成長予測というところなんですが、いろいろな作品がどんどん出てきていて。漫画やアニメ発のIP、最近すごくヒットしたものもいろいろありますが、次にくる作品をもっと早い段階で予測できないかと。そのIPの初出段階の情報から、先々の売上を予測して、「今から事業の準備をしておきましょう」などという取組に使ったり。

そういった分析をやったりしています。

今回の内容は、この中ではなくて、効果検証の部類に入るんですが、ゲーム以外の場所で行った外部のイベントが、ゲーム内に及ぼす効果を出しています。

また、先ほどの発表の中にあった、ゲーム内の施策による効果を検証したいだったり。そういったところに関しても、この手法を応用できるような開発も行っています。

イベントに参加したことで、本当にファンの熱量が上がったのか

では、具体的にどういったことをやったのかという点について、お話ししたいと思います。

まず、分析概要ですが、親会社であるバンダイナムコエンターテインメントでは、スマートフォンゲームや家庭用ゲームを配信しており、また、ライフエンターテインメント事業という、イベント・EC・XRなどの事業も実施しています。

結局イベントに参加したことで、本当にファンの熱量が上がったのか。また、ゲームの売上が向上したのか、そういった効果があったのかということを知りたい。

それを知ることによって、イベントをどんどん続けていこうであったり、そういった施策の意思決定にもつながるので、それを知りたいんですが、イベント前とイベント後の純粋な行動変化は、なかなか比較するのが難しい。

なぜなら、売上は、出てくる商品の内容だったりそういったところに依存するので必ずしも一定ではなく、商品の違いでそもそも差が生まれてしまったり。

時間が経過している分、ファンの成熟度も上がってきているので、より後で実施したイベントのほうが、結果がいいという数字になりやすかったり。

もしくは、イベント前からの外部要因でそもそも変化してしまう。例えば、類似した大ヒットゲームが他社で出ていて、ユーザーがそもそも流れてしまったり、外的要因によって変化してしまったりするので、純粋なイベントだけの効果というのは、なかなか特定しにくい問題があります。

その課題に対して、どう解決していったかというところですが、反実仮想機械学習という手法を用いて、純粋なイベント効果を測定しました。

反実仮想機械学習とは

次からはちょっと「反実仮想機械学習とは何ぞや?」というところについて、紹介いたします。

まず、反実仮想なんですが、観測され得たのに実際には観測されなかったデータのことを意味しています。例えば、ある個人に対してダイレクトメールでなにかレコメンドした場合は、ダイレクトメールを送った場合に対してのその後の消費金額のデータは取れます。これはもちろん、観測されたデータですね。

一方でこのユーザーに送付しなかった場合の消費金額は、観測できません。ダイレクトメールを送るのをやめていればこれは観測できましたが、今は送った世界線なので、こっちは観測できないと。ここのことを反実仮想な状態と呼びます。

このユーザーに対して、ダイレクトメールだけの効果を見たかったら、「ダイレクトメールありでの消費金額」という観測されたデータと「ダイレクトメールなしでの消費金額」というところの差分、これが計算できれば「これはダイレクトメールによる効果である」と言えます。ここの、反実仮想の状況を機械学習によって仮想的に構築するのが、反実仮想機械学習になります。

先ほど説明したとおり、観測されなかった状況をデータから推測し、因果関係を算出する技術になります。

イベントにまた話を戻しますが、今回はイベント後の課金額、これはサンプルなのでこの値に特に意味はないんですが、イベント参加者のイベント後の課金額がいくらかという観測ができていて。ただ、もちろんこのユーザーは、イベントに参加しなかった場合は観測できないと。

一方でイベント不参加の人は、イベント不参加なので、イベント後のゲーム課金額は計算できません。さらにイベントに参加した場合のデータは、当然取れないと。

このグレーアウトしている部分に関して、機械学習によって推測して、そのユーザー単位で差分額を計算します。これが、イベントによる効果と定義づけています。

反実仮想機械学習によるデータ予測のメリット

これによるメリットなんですが、もちろん1つ目は、純粋な効果、A/Bテストとかもしなくて、その施策による効果が推論できるということです。それ以外のメリットとして、ユーザー単位で出せるところにメリットがあります。

これを、あるユーザーの特徴量、「共変量」と呼んでいるんですが、共変量で条件を付けた際の介入の因果効果が計算できます。これを「条件付き平均処置効果」といいます。

A/Bテストの場合と比較すると、あくまで全体像、なにかの施策におけるパターンA、パターンBの平均値を単純に差分を取るのが、A/Bテストがやっていることです。これを「平均処置効果」といいます。

Aの中とかBの中で、例えば年齢がすごく若い人とお年寄りの人、あるいはこういう行動をしていた人など、ユーザーを細かくセグメント分けできるような特徴量で出せるところが、反実仮想機械学習のメリットになっています。

それによってなにがさらにできるのかということですが、それがわかることによって、そのユーザーのKPIと先ほど計算した条件付き平均処置効果を用いて、これは一例なんですが、このようにユーザーをセグメントで分けられます。

これがどういうセグメントかというと、マーケティング理論の用語なのでお客様のセグメントの名前に使うのにはちょっと良い単語ではないかもしれないものなんですが、まずは「テッパン」と「無関心」。条件付き処置効果がゼロ、つまり、反実仮想と実際に観測されたものを差分しても、ほとんど変わらなかった人に関しては、「テッパン」と「無関心」と定義づけられます。

その中でもKPIが高い人は「テッパン」ですね。もともとモチベーションが高くて、イベントに参加しようがしなかろうが同じように行動する人。また、「無関心」という、反実仮想との差分がすごく低い、あるいはほぼゼロで、KPIの値も、もともと低く、ここはなにをしても反応しない人たちです。施策を考える時においては、影響を与えるのが難しいということになります。

じゃあ、どういう人たちに影響を与えやすいかというと、反実仮想と現実の差分を取った時に、これが“大きな正”になる人ですね。施策によってプラスに行動が変わった人。この人を「説得可能」と呼んでいます。

逆に、反実仮想のほうが負になる。つまり、施策した結果、KPIが下がるような人、これは「あまのじゃく」と呼んでいて、施策した結果、「もういいや」となっちゃった人ですね。弊社の話ではないですが、一般的にはメルマガのような施策だとよく発生してしまう人たちだと言われています。

本来の施策の効果は、「テッパン」とか「無関心」を除外した、「あまのじゃく」と「説得可能」の平均値、ここが正であることがその施策の真の効果だ、というふうに定義づけています。

具体的な分析方法

では次に、具体的な分析の方法です。どのようなアルゴリズム、どういうような段階をもって分析をしたのかについてお話しします。

まず、モデルの概要ですが、因果推論にはたくさんありますが、今回は「Meta-Learner」という手法を用いています。それプラス、我々のほうで考えたオリジナルのモデルも1個追加しています。

結論からいいますと、先ほどお話しした条件付き平均処置効果を出すまでに、6つのモデルを作っています。それぞれについて、数式などを使わずにさらっと説明していきたいと思います。

まずは1個目、施策対象者。参加した人、参加していない人に対しての分類モデル。分類モデルが終わった後に、それぞれの回帰モデル。その結果を用いた回帰モデル。最後にまた分類モデルを用いて「条件付き平均処置効果」を出しています。

パターンとしては、1と2と3が1つの組、5と4が1つの組、6が1つの組なので、スライドのページとしては5ページで、このあたりを説明していきたいと思います。

まず、学習データですが、当然イベント後の行動を入れては意味がないので、イベント前の行動を共変量として集計しています。イベント開催区間がちょっと空いて、その後の行動として、課金額を目的変数として計算しています。このまま因果推論するというのもよくあるんですが、今回重要なのは、イベント参加というところです。

ネットであるように、A/Bテストでランダムにユーザーに割り振っているわけではなく、ユーザーが自分の意思を持ってイベントに参加したりしているとので、そういった場合においてそのまま分析してしまうと、当然イベント参加者のほうがモチベーションが高いですし、おそらくこれまでの課金額も高いし、プレイ頻度も高い。というところで、大きなバイアスが生じてしまいます。このバイアスがあるままモデルを組んでしまっても、ぜんぜん正しい結果にはならないという課題があります。

なので、解決方法として、まずイベント参加者を1、不参加者を0としたような二値分類。これを先ほどの共変量、こちらのイベント前の行動の共変量を用いて分類します。

そのように二値分類で出した、イベント参加者と不参加者の判定確率が最後に出ますが、その確率分布、イベント参加者が計算された時の確率分布と等しくなるような確率の人を、イベント不参加者から取り出して、非介入群というふうに扱います。

介入群はそのままイベント参加者でいいんですが、イベント不参加者の中でぜんぜん遊んでなかったりモチベーションが低い人を除外して、イベント参加者に限りなく近い人、イベント参加の条件としてすごく近い人を抽出しています。

回帰モデルを作る

次に、先ほどの2番と3番のところになるんですが、今度は、その介入群と非介入群でそれぞれの共変量を用いた課金額を推測するモデルを構築します。これは回帰モデルです。

このモデル自体はなにを使ってもいいというのがMeta-Learnerの特徴なんですが、ここは単純に、イベント前のなにかしらの行動パターンを与えたら、イベント後の課金額を返すようなモデルを作ります。

ここで先ほどの、単純に課金額を推測するそれぞれの集団に分けたモデルができます。次が5と4の部分に該当するんですが、ここは特殊で、実際に非介入の観測された課金額と、ここで先ほど計算した課金額のモデルで計算したものを入れた、非介入の推測された課金額。

逆に、介入のほうに関しては、観測された値に対して、非介入のほうで構築した課金額モデルに対して介入群を入れた、介入グループがイベントに参加しなかった場合の課金額。こちらが、イベントに参加していない人が参加した場合の課金額を出せるモデルです。

これによって、反実仮想の状態ー現実という当初の目的が計算できました。ただここで計算できているのは、単純にデータを与えられた行動パターンのみで、一般化はされていません。

そこで、ここをさらに一般化するために、先ほど出たそれぞれの効果に対して、その共変量で特徴づけるモデルを作ります。

ここで、介入処置効果に対して、一般的な共変量をXで表せるようなモデルを構築します。介入と非介入に分けて、それぞれモデルを構築します。

これによってなにができるかというと、先ほどとは違って、ここはもう単純に、観測されたものだけの差分なので、例えばプレー回数が5回の人がいたら、その5回で、年齢が30代、性別が男性でという値が出てきました。

「じゃあ、33歳は?」「男性じゃなくて女性だったら?」など、そういう一般化はできていないので、それを一般化させたというところです。

最後の分類モデルをもう一度

最後が、ここのモデルでいう、最後の分類モデルをもう1回やるところなんですが、今現在使っている介入群、つまりイベント参加者と、全体からサンプリングした非介入者。これらに対して二値分類を行い、持っている共変量のバイアスを取り除くために、傾向スコアを算出します。

これは、モデルのウェイト、そもそも1対1にモデルの効果が対応しているかというと、そうじゃないので、先ほど出たものに対して、それぞれのウェイトを掛け算して、条件付き処置効果という最終的なものが一般化して出てきます。

ちょっと時間がなくて駆け足だったかもしれませんが、まとめると、この図に従ってモデルを作っているというような状態になっています。

結果、どういうアウトプットが手に入ったのかというと、アウトプット例としてはこのようになっています。

条件付き平均処置効果が得られているので、ユーザーセグメントとして、今まで買ったことなかった人、今まではライトユーザーだった人、ミドルだった人、ヘビーだった人などのユーザーパターンに分けて、それぞれがどれだけ上がったのか。課金がどれだけ上がったのか。

ここの層は、今回、イベント不参加者はある程度サンプリングしていますが、そういった人たちに対しては、どこまでのポテンシャルがあるのかとか、そういった結果をまとめて報告しています。

特に重要なのは、今まで買っていなかった人が課金転換してくれたり、ライトの課金が上がったりすることは、そのユーザーのLTV、このゲームに対する先々の収益を大きくしてくれる効果になるので、それを計算して、1年でこれだけのリターンがあるのでイベントにもっと投資しましょうと提案したり。

イベントのパターンも、ネットなのかリアルなのか。ネットだと効果がこれくらいなので、ネット配信をもっとやりましょうなど、そういったようなビジネスの意思決定に対して使ってもらっています。

誘因の施策を行う判断基準に

まとめると、まず課題としてさまざまな要因が存在する中で、注目した効果、処置効果が知りたいとします。方法としては反実仮想機械学習で、観測されなかった場合の状態を機械学習で推測して、実際に観測した値との差分を計算することで、条件付き処置効果を算出しました。

ここでアイデアとして、データ加工時点で結果にバイアスが生じないためにもサンプルセレクションを行ったり、我々のデータサイエンスチームでいろいろ考えたものを利用しています。

「結局何に使えるの?」というところに関しては、まず効果がちゃんとありますよというところで、施策をした人に対して、「どれだけの売上インパクトがありました」「やってよかったです」など、そういったような効果を報告できるというのもあります。

今後の、「じゃあ、もっとお金をかけて投資して、イベントを拡大していこう」など、そういったような施策を行う判断基準になったりします。実際に、あるゲームではこのような施策の決定につながりました。

共変量の関数で処置効果が求まっているので、いろいろなセグメントから、「プレーしていない人は、やはりどうがんばっても参加しないよね」であったり、「こういう行動をしている人は、やはりイベント参加した後に、よりたくさん遊んでくれるよね」であったり、そういったところがわかってきているので、誘因施策する時にそういう人をターゲットとして、どんどんどんどんやっていこうとか、そういった次のアクションに使ったりもしています。

以上、ご清聴ありがとうございました。