Fringe81社長日記Fringe81 CEO's Blog

Attribution models—数理モデリング入門

■Introduction 1

データ分析&オペレーションを担当しています、佐野正和と申します。先日公開した素粒子物理学の経路積分を応用したアトリビューション分析が各所で取り上げられましたので、このタイミングで私が行なっているアトリビューション分析に対しての考え方をポストすべきと思い、今回のエントリを行うに至りました。数式等の概念を多用致しますが、現在国内のアドテクノロジー系Blogエントリにおいて数理的な言及をしている例があまりありませんでしたので、様々な方の目に触れる事で業界が発展する事を願いエントリ致します。

■Introduction 2

アトリビューション分析ではコンバージョン(CV)に至る経路を分析することで、媒体メニューやサーチ等がどの程度CVに寄与したかを全体評価します。アトリビューション分析を実施することで、ラストクリック評価では気付くことのできなかった各媒体メニューのCVへの貢献度を明らかにすることができます。

本記事ではアトリビューション分析するために必要になるアトリビューションスコアの求め方を、リニアモデルを例に具体的に数式を使って説明します。スコア算出方法を定式化しておけば、曖昧さなく議論ができるメリットがあります。また別のモデルへの拡張がしやすくなる利点もあります。

※アトリビューションの基本的解説は弊社代表 田中が著者の一人であるアトリビューション 広告効果の考え方を根底から覆す新手法をご参照ください。

■リニアモデルでアトリビューションスコアを計算してみよう!

アトリビューション分析をするためにはモデルを選択する必要があります。良く知られているモデルにはリニアモデル、ファーストモデル、ラストモデルなどがあります(そのほかは割愛します)。モデル選択基準は何を知りたいのかに依存します。

ファーストモデルはユーザの初回行動に100%の寄与度を与えてアトリビューションスコアを算出します。このモデルはCVに貢献したユーザの初回行動を評価したい場合に使用します。ラストモデルはファーストの逆で最後に発生した行動に100%の寄与度を与えます。これにはラストクリックモデルも含まれます。最終的にCVに押し込む媒体などを評価したい場合にラストモデルが選ばれます。

本記事で解説するリニアモデルでは、あるユーザのCVパスで発生した全ての行動に同じ貢献度を割り当てます。リニアモデルはその他のモデルとの比較基準などに活用されます。また、一番簡単にアトリビューションスコアが算出できるモデルでもあります。

 

 

 

一度モデルを選択したならば、アトリビューションスコアを算出して媒体やサーチ等の寄与を評価します。スコアが求められないとアトリビューション分析が始まりません。良く説明されるスコアの算出方法はFig.1のような例で表されます。

Fig.1ではa番目のCVパスを表しています。このCVパスでは4回媒体に接触してから5回目でCVに至っています。CVまでにmedia1に2回, media2に1回, media3に1回それぞれ接触しています。この情報からそれぞれのmediaの接触頻度(貢献度)は全体の4回接触に対してそれぞれ1/2, 1/4, 1/4となります。実際のアトリビューションスコアを求める場合には全パス数分のスコアを算出しなくてはなりません。

 

■リニアモデルを数式で表現する

このように表やグラフに落とし込んでアトリビューションスコアを求めても良いのですが、データ量が膨大だとこの方式でスコアを求めるのが厳しくなってきます。そこで貢献度やアトリビューションスコアをシステマチックに求めるには一度数式に落とし込むのが便利になります。数式に置き換えることで曖昧さなくモデルを定式できるとともに、数値計算アルゴリズムを構成することも可能で、アトリビューションモデルの改良や拡張もやりやすくなります。

 

 

 

では、リニアモデルの場合を具体的に考えてみましょう。Fig.1の拡張です。

a番目のCVパスで、CVするt_a回目までに様々なmedia i(iはメディアのidかメディア名)に接触したとします。t_a番目までにmedia iに接触する回数が式②で表されます。

CVパスではt_a回何らかの媒体と接触が起きるので、全接触数はt_aです。

その結果、a番目のCVパスにおけるmedia iの貢献度は式①で与えられます。

Fig.2で表された一般的構成をFig.1の具体例で再確認してみます(Fig.3)。

Fig.1から式②で表される接触回数が求められます。

全体で4回接触していますので貢献度は各媒体に対して1/2, 1/4, 1/4になってFig.1の結果と一致します。我々が最終的に求めたいのはアトリビューションスコア(A_score)でした。

アトリビューションスコアはFig.4の式⑤で与えられます。アトリビューションスコアは2段階で求められます。1段階目は各パスに対して貢献度を算出し、そのパスで発生したCV数を貢献度ごとに媒体に分配します。2段階目は各媒体に分配された数値を全パス数で合計します。これによって式⑤によって各媒体のアトリビューションスコアが算出されます。

アトリビューションスコアの全合計値はCVの合計値と一致しなくてはなりません。

上記の式⑤はこの条件をきちんと満たします。したがって、入力データを準備できれば、これまでに説明してきた式を活用してアトリビューションリニアモデルが実用できます。

 

ここで紹介したリニアモデルは、その他のモデルへの拡張の基礎になります。本記事では取り上げませんでしたが、Fig.2の式①、②にある種の拡張を施すことでラストモデル、ファーストモデル、ファースト・ラストモデル、時間減衰モデルなどへ拡張することが可能です。

■確率過程(マルコフ過程)とアトリビューションモデル

これまでの解説でリニアモデルのアトリビューションスコアは算出できます。ここでは別の観点からアトリビューションの貢献度を考えてみます。

別の観点とは具体的に確率過程のことです(以下の説明は少々確率過程の知識を要するので、難しく感じる方は読み飛ばしてください)。
少々天下り的ですが、a番目のCVパスのmedia iのアトリビューション貢献度がFig.5の式⑥で表現できると”仮定”します。これは貢献度の時間発展がマルコフ過程であることを仮定することになっています(式⑥はChapman-Kolmogorovの等式に対応しています)。

実際、式⑥を満たす条件確率は式⑦を採用すればよいことが分かります(式⑦が式⑥を満たす唯一の条件確率かは保障されていません)。

式⑦を貢献度の時間推移確率とみなす場合、各media i から次の時刻のある媒体への推移確率は全て等しくなります。

式⑦を使った式⑥はほぼ自明な感じがしますが、次のような解釈が可能です。

Fig.5において、t_a-1番目の媒体貢献度はmdeia2のほうがmdeia1より高かったとします。

つまり、mdeia2の発生頻度がmedia1のそれより高いとします。1期間進んでt_a番目ではmedia1のほうがmedia2より貢献度が高くなったとします。

推移確率は1期前の媒体によらず等しいので、media2→media1の推移が起きやすい、つまり貢献度が高いパスという解釈ができます。

これは単純なアトリビューションスコアによる媒体評価に加えて、パス推移の評価への応用もできることを示唆します。実際、どのパスが良かったのかと知りたい場合があるので、このような考え方も役立つでしょう。

 

ここではマルコフ過程を使った1例(リニアモデル)を紹介しました。マルコフ過程はそもそも確率過程の一部であり汎用性を持っています。マルコフ過程を用いたアトリビューションモデルにはページランクのように接触媒体間の隣接行列から媒体間推移確率を求めアトリビューションスコアを求めるモデルも構成することができます。

さらに、マルコフモデルに時間減衰やファーストモデル、ラストモデルなどを掛け合わせたモデルを構成することもできます。

また私は、より高度な確率過程を応用した分析手法として、素粒子物理学の経路積分を応用したアトリビューション分析の可能性を示唆しています(参照:物理学はWebデータ分析(広告)に使えるか? http://www.slideshare.net/zansa/zasnsaweb )。

■まとめ

本記事で紹介したことは与えられたデータをもとに、過去に向かって行動や媒体を評価し現状把握するオーソドックスな方法です。

この場合、アトリビューションモデルを選ぶことは、CVパスデータにどのようなフィルタをかけるのか選択することと同じです。

どのようなフィルタをかけるかは目的がないと選択できません。これがアトリビューション分析には分析目的設定が重要な所以です。

ファーストモデルを選ぶには、CVへのファーストタッチの貢献度が知りたいという動機があり、ラストモデルならばCVへ押し込む行動が何かを知りたいという動機があるわけです。

事前の分析動機を明瞭にしておけば、ラストクリック評価では見えにくかったCVへの様々な要素の貢献度がわかるわけで、アトリビューション分析は広告配信設計に非常に有用な情報をもたらしてくれます。

 

 








Author : yuzuru