Google Analytics の Attribution Model はすごいという話。[Part-1]

こんにちは！
この記事は 株式会社 LOB Advent Calendar 2018 20日目の記事です。

現在、某市場系サイトにおける新しい広告配信サービスの Attribution Model の設計と実装を行っている。
そこで、少し複雑な Attribution 設計の話や、今後の課題が見えてくる中、データドリブンな Attribution Model ってできないんだっけ？という発想から、論文を漁り始めた次第である。

# Contents
- 筆者自身、 様々な Attribution Model に関しては把握できていなかったので、のGoogle Analytics を参考に Attribution Model に関して整理しようと思う。
- [「Attribution Model Evaluation, Google LLC, 2018」](https://storage.googleapis.com/pub-tools-public-publication-data/pdf/de1c3ab14fd52301fb193237fdffd45352159d5c.pdf)という Paper を参考に動向を探る。
- ちょっとよくないことに、Advent Calendar のために読み始めた論文の思想やボリュームが大きすぎて、今回だけではまとめきれないような代物に手を出してしまった...ので、以後も継続して書いていこうかな...と思う。

![Screen Shot 2018-12-20 at 12.33.57.png](https://qiita-image-store.s3.amazonaws.com/0/68538/45f2d41e-cd0f-c6e9-4689-921022f38cba.png)
Google Analytics だとすでに、こんなことやあんなことまで、できるんすね...
調べれば調べるほどすごかった...

# Table of Contents
1. 広告（の貢献度）を評価する、ということ
2. Attribution Model ってなんぞ
3. 「Attribution Model Evaluation, Google LLC, 2018」について
    - 3-1. Introduction
    - 3-2. Causality as an Attribution Objective
4. Note


# 1. 広告（の貢献度）を評価する
- 広告の Attribution Model （アトリビューション・モデル） は刻々と変わってきている（はず）。
- ブランド広告の波が押し寄せている今、広告の Attribution Model に関して、再整理しよう。
- ラストクリックだけで広告の貢献度が決まるような刈り取り型の世界観は、変わらないといけない。
    - 昔からずっと言われてるよね、これ。この局面に立てるプレイヤーって少ないのよ。

# 2. Attribution Model ってなんぞ
まずは、用語の整理から...

### 2-1. Attribution Model
- <font color="Red">購入やインストールなどのコンバージョンに至った広告の貢献度をコンバージョン経路のタッチポイントにどのように割り振るかを決めるルールのこと。</font>[^1]
- 例えば、後述する「終点」モデル（ラストクリック形式のものが代表例ですね）では、購入やインストールに至る最後のタッチポイント（クリック）に100%の貢献度を割り振る。

### 2-2. コンバージョン経路
![Screen Shot 2018-12-17 at 12.50.31.png](https://qiita-image-store.s3.amazonaws.com/0/68538/d01ec76e-ba83-3cb5-cd37-313962a22ae0.png)

- Multi Channel （マルチチャネル）とも言う。
- コンバージョンは、ユーザーがコンバージョンを達成した時に最後に参照した広告キャンペーン、検索、広告に起因すると見なされる。（「終点」モデル）
- コンバージョン経路とは、コンバージョンに至るまでの一連の接点（参照、クリックなど）のことを指す。
- 例
    - 検索
    - 参照元サイト
    - アフィリエイト
    - ソーシャルネットワーク
    - メール・ニュースレター
    - その他（特定のURLに誘導するようなオフラインキャンペーンなども含む）

### 2-3. Attribution Model の例

- **<font color="MediumBlue">「終点, the Last Interaction」</font>**
    - ユーザーが購入やコンバージョンに至る前、最後に利用したチャネルに、コンバージョンの価値がすべて起因するものと見なす。
- **<font color="MediumBlue">「最後の間接クリック, the Last Non-Direct Click」</font>**
    - 顧客が購入やコンバージョンに至る前、最後に経由（クリック）したチャネルに、コンバージョンの価値がすべて起因するものと見なす（ノーリファラーは無視される）。
- **<font color="MediumBlue">「特定の広告プロバイダのラストクリック, the Last Specific Ads Click」</font>**
    - 顧客が購入やコンバージョンに至る前、最後にクリックした特定の広告に、コンバージョンの価値がすべて起因するものと見なす。
- **<font color="MediumBlue">「起点, the First Interaction」</font>**
    - 顧客が最初に利用したチャネルに、コンバージョンの価値がすべて起因するものと見なす。
- **<font color="MediumBlue">「線形モデル, the Linear」</font>**
    - コンバージョン成立までに各チャネルで発生したすべてのタッチポイントが、均等にコンバージョンに貢献したものと見なす。
- **<font color="MediumBlue">「減衰モデル, the Time Decay」</font>**
    - このモデルは指数関数的減衰という概念に基づいており、コンバージョン達成に最も近い段階で生じたタッチポイントが最もコンバージョンに貢献したものとみなす。
- **<font color="MediumBlue">「接点ベース, the Position Based」</font>**
    - 終点モデルと起点モデルのハイブリッドモデル。
    - 起点か終点のいずれかにすべての貢献度を割り振るのではなく、各タッチポイントに貢献度を配分することができる。
    - たとえば、起点と終点に 40% ずつ割り振り、途中のタッチポイントに 20% を割り振る、など。


私の所感では、何かしらのモデルを介して、各チャネルの広告効果を推定している Attribution Model はあまり利用されていないように感じるのだが、実際はどうなのだろうか...


# 3. 「Attribution Model Evaluation, Google LLC, 2018」について
![Screen Shot 2018-12-18 at 11.05.35.png](https://qiita-image-store.s3.amazonaws.com/0/68538/ddf7b296-b532-2dc1-d44e-e7219f8b1ce6.png)

- 日課のように論文を漁っていたら、目に止まったので読んでみたのが、コトの発端。
- 毎度の事ながら、この論文だけでは、全貌を理解することができなかったので、時間を見つけてはその他の関連論文も読まないといけない。
    - [DASS: Digital Advertising System Simulation, Google Inc. (2016)](https://ai.google/research/pubs/pub45331)
    - [Toward Improving Digital Attribution Model Accuracy, Google Inc. (2016)](https://ai.google/research/pubs/pub45766)
- 今回は、Simulatiuon Result は除き、問題設定に関して整理する。
- Simulation 内容や、その結果は、関連論文などをさらに理解してから、Part-2 として記述しようと思う。


## 3-1. Introduction
- 今更当たり前のことなんだが、デジタル技術の進歩、主に Cookie と広告のタグ付けの普及により、Conversion からさらに上流にあるウェブサイトの訪問やその他の Event の介入を補足することが可能になり、それを考慮することができるようになった。
- この枠組みを信用して、デジタルマーケティングは進んでいるが、<font color="red">複数の Event 情報に対して、どのようにして、Goal（Conversion etc.）まで導いた貢献度を割り振ればよいのかといった問題</font>は、正確には解決されていない。
- この問題を解決するために、様々な Attribution Model が開発されている。（上述したものが一例）
- しかし、最終的には、開発された豊富な Arrtibution Model の中から、デジタルマーケターと呼ばれる人や、広告主が、（今後）選択する必要が問われてくるだろう。（すでに？...）
- 難しいことに、この選択は、あるモデルが他のモデルより客観的に優れているという明確な証拠なしに行われざるを得ないことが多い。（勘というやつなのか、デフォルトはそうなってるからとか...）
- 本来は、各配信内容に応じて、適した Attribution Model を選択することができるために、各モデルのパフォーマンスを、比較・評価できる必要がある、という思想のもとで、これらの取り組みが進んでいるようである。フムフム。
- ちなみに、この評価プロセスは、Google Analytics に「モデル比較ツール」[^2]として実装されている。ゴイスー。

## 3-2. Causality as an Attribution Objective
- 「ラストクリック」による CV との紐付けによる諸問題は数多く存在し、その詳細は省くが、取得できるユーザーの行動履歴データが完全なものではないことが起因することが多いだろう。
- 広告主は、コンバージョンへの影響を定量化することを最終的な目標として、消費者行動における広告の効果を、正しく理解する必要がある。
- したがって、 <font color="red">Attribution は Causal Estimation（因果推定）の問題とみなされる</font>べきである、とされている。因果関係を測定することで、広告がユーザーの行動を変える際にどれだけ効果的であるかを示すことができる。
- 例えば、各広告チャネルによって生成された増分コンバージョン（Incremental Conversion, IC）、各広告チャネルの限界IC（Marginal IC, mIC）レート、および個々の広告イベントによって生成される増分コンバージョンの数を推定することは、すべて広告主にとって興味深いことであるに違いない。
- これを計測しようとすると、例えば、ICの場合、存在する広告チャンネルと存在しない広告チャンネルとのコンバージョン数の差（広告チャンネル対広告チャンネルオフ）を測定することであり、これってつまり、 `Counterfactual` であり、 Rubin 先生の出番であり、ランダム化比較実験だよね（RCT）ということである。
- ただし、現実のインターネット市場におけるユーザー行動や、配信設定側における仕様の問題から、簡単に RCT ができるような環境にはないため、いっそのこと丸々シミュレートできるシステムを作ってしまおうという動きが、「Digital Advetising System Simulation」だと理解した。 


# 4. Note
- どの Attribution Model になっているかって、めっちゃ重要じゃね...
- 日々、見つめて、見つめて、分析しして、機械学習したりするデータの Generation Process をより意識しないといけないかもしれない...
- 今回は、問題設定だけにおさまってしまったが、次回は、Simulation のより具体的な設定をまとめていきたいな、と思う。
    - 広告効果が発生するシナリオ
    - シナリオごとの Attribution Model 比較

![Screen Shot 2018-12-20 at 13.31.38.png](https://qiita-image-store.s3.amazonaws.com/0/68538/3ee85911-0fe3-a61e-343e-07746c07bb68.png)

あと、このシミュレーターがすごい...
中身については、詳しく読んでいこうと思う。


[^1]: [Google Analytics Help. About the default attribution models](https://support.google.com/analytics/answer/1665189?hl=en)
[^2]: [Google Analytics Help. About the Model Comparison Tool](https://support.google.com/analytics/answer/6148697?hl=en&ref_topic=3205717)