マルコフ連鎖モデルによるアトリビューション分析(インターネット広告への応用) | インターネット広告代理店で働くデータサイエンティストのブログ
こんにちは、岡川です。


 今回は、インターネット広告代理店の現場で活用している数理モデルの紹介です。


 はじめに、(何度も記事を書いていますが)自己紹介させていただきます。

大学院では素粒子物理学、特に超弦理論を専攻していてました。社会に出て、電機メーカーで半導体フラッシュメモリの製造工程のLPCVD(低圧化学蒸着)工程の開発エンジニアとして勤務していました。その後、インターネット広告代理店に転職して、現在は以下のようなネット広告のデータ分析を色々やっています。

・DMPセグメント設計
・アトリビューション分析
・予算シミュレーション
・クリエイティブ検証
・ウェブ×マス広告分析
・動画広告の分析


今回の話しは、アトリビューション分析です。


 今回は、特に理論的な面に焦点を絞っていますので、大学学部生含むアカデミック側の方々にも楽しんでいただければと思います。ですが、今回使っている数学は、線形代数や微分ですので、高校数学を理解していれば、十分理解できる内容です。気軽に読んでいただければと思います。



1.なぜアトリビューション分析?

はじめに、おさえてほしいことが2つあります。

1つ目
・インターネット広告は色々な種類がある。

2つ目
・ユーザーは購買に至るまでに、複数の広告に接触する場合がある。


その上で、下の図を見てください。




上図は、4人分のユーザーの購買に至るまでの行動を表しています。今回は、以下の3種類の広告を例に出しています。詳細はリンクをご覧ください。

YouTube TrueView
・ユーチューブを見るときに、初めの方に出てくる広告のこと

Google検索広告
・Googleで検索したときに、検索結果画面の上部や右部、または下部に出てくる広告のこと

マイクロアドBLADE
・ユーザーが広告配信面に訪問したときに、リアルタイムで入札をかけて出される広告のこと


インターネット広告では、広告の運用が柔軟にできるため、速やかな投資判断が可能です。投資判断をするためには、広告に対して評価指標が必要です。

 従来の評価方法では、赤枠で囲ったラスト接触の広告についてのみ売り上げの寄与が与えられていました。逆に言うと、ラスト接触以外の広告には評価が与えられず、無駄コストとして評価されていました。サッカーで例えると、ディフェンダーやミットフィルダーが素晴らしいパスワークで、FWにパスを出したのに、ゴールを決めたFWのみが評価されるという仕組みです。

 これはまずいのではないか!?ということで、「ラスト接触の広告以外にも適切な評価をして、適切な投資判断などをしようという試み」がアトリビューション分析という考え方です。

 アトリビューション分析自体にも様々な種類があります。まずは、一般的に活用されている方法を紹介します。アトリビューションスコア分析と呼ばれる方法です。


2.従来のアトリビューション分析

従来のアトリビューション分析はアトリビューションスコアによる分析が主流だと思います。日本で一番有名なアトリビューション分析の本は次の本です。

アトリビューション 広告効果の考え方を根底から覆す新手法/インプレスジャパン

¥1,764
Amazon.co.jp


考え方はとてもシンプルで、そのシンプルさゆえに強力な評価指標と言えます。下図を見てください。



従来の方法は、ラスト接触だけに購入の寄与を与えていました。これを直接評価と言います。アトリビューションスコア分析とは、1つの購入を、経てきた広告すべてに割り当てる方法です。

これにより、ラスト接触だけではなく、それ以前の広告にも評価を与えることができるため、よりよい投資判断ができると考えられています。実際に、YouTube TrueViewは、直接評価では、寄与ゼロでしたが、均等評価にすることにより、寄与が1/3になりました。

補足ですが、このモデルには亜流があります。上図では、均等配分モデルによるアトリビューションスコアでしたが、初回重視、ラスト重視など、初回+ラスト重視など様々な分配の仕方があります。

この評価は、様々な広告効果計測ツールに搭載されています。

アトリビューションスコア分析ができるツール例
Googleアナリティクス
Kenshoo(ケンショー)


この方法は、評価をアトリビューションスコアという形で付けることができるシンプルな方法です。そのシンプルさが、広告代理店が広告主に説明する際に力を発揮しますし、集計も比較的簡単なので、活用されるシーンが多い印象です。


この方法のメリット・デメリットを上げてみました。

メリット
・超シンプル
・集計が比較的簡単
・施策に(恣意的判断をはさむが)落としやすい。


デメリット
・ある広告の出稿量が変化したときに、他の広告への影響が加味できない。
└各広告に独立に評価付けしていることが原因

・アトリビューションスコアによる評価から、具体的な施策に落とすときに、人が恣意的に考えなければならない。
└予測モデルではないことが原因

上記デメリットを加味しても、そのシンプルさゆえに、余りあるメリットがあると考えています。しかし、デメリットを解消した上で、恣意的でない投資判断をする、もしくはそのヒントを与えるために、予測モデルとしてのアトリビューション分析モデルが必要と考えています。

その取り組みの一つは、私が考案したアトリビューション分析のマルコフ連鎖モデルです。理論的に細かな点で、色々ご指摘あると思いますので、その場合はアドバイスいただければ幸いです。



3.マルコフ連鎖モデルの数理モデル

Wikipedia(マルコフ連鎖)

マルコフさん(ロシア人です。)

wikipediaでは難しそうですが、かみ砕くとマルコフ連鎖モデルはとても簡単な仮定から成り立っています。

マルコフ連鎖の仮定

「ユーザーが次にどの広告に接触するかは、直前の広告が何かによって、完全に決まっている。」

※別の言い方をすると、それ以前にどんな広告を見てきたかに依らず、直前に接触した広告が、次にどの広告に接触するかを決定する。

この仮定を置くことにより、ユーザー行動データを必要な箇所だけに制限する事ができます。この制限の上で、ユーザー行動データからどのような情報が引き出されるかを、以下で見ていきます。


直前と直後の情報しか使う必要がないため、上記のユーザー行動データを次のように2点間の推移に分解して、この情報だけを使います。


このデータを、以下のように、表にします。数学的には推移行列にして、かつ、それを行を足して100%になるように調整して、推移確率行列を作ります。




YouTube > Google検索について、2つのペアがあるので、表の中の対応する箇所(2行1列目)に、2が入っています。

さらに、この図を可視化すると以下のようなグラフを描くことができます。弊社ではこれをアトリビューションマップと呼んでいます。




アトリビューションマップの中に、各広告の1回接触するごとに課金される金額を書いてみました。広告はクリックされたりすると、広告主はお金がかかりますので、それを記載しました。

※クリック課金ではない場合、つまり表示課金の場合は、クリック課金に換算しています。


ここまで準備できたら、次のように、表を作ります。これらがマルコフ連鎖モデルを作る際に必要な情報です。数学的にはベクトルや行列を呼ばれる量です。

※広告業界の方にとっては、なじみ深い量です。

CPC:CPCベクトル
l:CVRベクトル
k:初期流入数ベクトル
P:推移確率行列





これらのパーツを元に、次はいよいよ数学的にモデリングします。

まず、CV(購入)するユーザーは色々います。

・広告に1回接触して購入するユーザー(0次の寄与)
・広告に2回接触して購入するユーザー(1次の寄与)
・広告に3回接触して購入するユーザー(2次の寄与)
などなど

これらは、上記のパーツを使って、以下のように書くことができます。


ここは難しいかもしれませんので実際に、行列の掛け算を書き下してみてください。なぜこの数式なるか理由が分かりますし、これが分かれば、モデルは理解できたようなものです。高校生になったつもりで、数学Cの教科書を取り出してください。

このCV数をすべて足し合わせると、合計のCVになります。


ここで、無限に数値を足し算しなければならないので、気が遠くなります。より高次の項(例えば、CV_{10}などは殆どゼロ)は無視して、2次とか3次の項までで止めてしまうと、正確なモデルにはなりませんし、何より式として美しくありません。

ここで、次の数学の公式(行列の場合)を使います。

Wikipedia(数列の和)

公式



すると、無限に足し合わせることにより、数式が簡単になる事が分かります。シンプルかつ、直接から無限回の接触が含まれて調和が生まれて、美しい数式になりました。


これで、マルコフ連鎖モデルの完成です。

広告の種類やユーザー数が多くなっても、モデルの数学的な構造は変わりません。また、コストの方は説明しませんが、考え方は同じです。

 このモデルを活用して、弊社では広告主の方に、予算ポートフォリオシミュレーションを提供する場合があります。予算シミュレーションの際には、初期流入ベクトルの成分を変化させ、その場合に、CVRベクトル、CPCベクトル、推移行列、ひいては推移確率行列を変化させて、一定コスト以内で、最大CV数を得るような数理計画法で解いています。


4.マルコフ連鎖モデルの母関数表現


話しはもう少し続きます。

マルコフ連鎖モデルができたわけですが、このモデルに別の表現を与えることができます。具体的には、母関数(Z)や諸々の量を定義します。


この時、Zを何回微分するかによって、3で紹介した合計CVや合計コストが出てきます。



もちろん、微分する回数は制限はありませんから、何度でも微分できます。

0回微分するとCV数が出てくる

1回微分するとコストが出てくる

それ以上微分すると何が出てくるか??

この分配関数は私が無理やり構築した数式なので、実際に理論的または実用的な価値があるかどうかについて、判断できていません。今後の考察が必要です。

何か良いアイデアある方は、私のTwitter(@hokagawa)まで問い合わせください。


5.まとめ

最後まで読んでいただきありがとうございます。

現在、インターネット広告代理店の現場や、各企業のマーケ担当の現場では、数学や統計学に通じている方が殆どいないため、予算シミュレーションを作るだけでも一苦労している場合が多くあります。

最後まで読んでいただいたような理系の方々が、もっとインターネット広告業界に入ってきて、現場で一緒に働ければ嬉しいです。

今回のような比較的複雑な数学モデルを使う必要は全くなく、単純に回帰分析などを活用することにより、現状を改善していくチャンスはたくさんあると信じています。

インターネット広告業界に興味持たれた場合は、企業はどこでもいいですが、是非参入をお待ちしています。興味があれば、弊社でも大丈夫ですwお待ちしております。


以上


おまけ
(マルコフ連鎖を広告主の方に説明したら…)

広告主の方にマルコフ連鎖について説明することがよくあります。以前、ある広告主の方に、アポイントでマルコフ連鎖について説明したことがありました。男性1名(Aさん)、女性2名でした。

思い出していただくと、マルコフ連鎖の仮定は、「それ以前にどんな広告を見てきたかに依らず、直前に接触した広告が、次にどの広告に接触するかを決定する。」というものでした。この説明をしたところ、女性の方々が、「Aさんは、直前の彼女だけに影響されて、それ以前の彼女のことは忘れているよね。今度から、あだ名『マルコフ』にしようよ!」ということで、そのアポイントの時間帯では、男性の担当者はマルコフと呼ばれていました。

その男性担当者の方のその後が心配です。私もマルコフと呼ばれないように気を付けたい。


終わり