読了: Chan & Perry (2017) マーケティング・ミックス・モデルによる広告効果測定はいばらの道と知れ

Chan, D., Perry, M. (2017) Challenge and opportunities in media mix modeling. Google Inc.

 仕事の都合で読んだ。情報資本主義の覇者Google様におかれましては、我々哀れな労働者にマーケティング・ミックス・モデル(MMM)についての一連のテクニカル・ペーパーを下賜あそばされているのだが、これもそのひとつ。MMMをめぐる概説である。

 MMMとは…[メモ省略]
 MMMは累積レベルの限られた観察データに基づく回帰モデルであって、その結果は因果的というより相関的なものだ。

因果推論
 広告効果に関する因果的な問いに答える方法は2つある。

 その1,無作為化実験。しかし、たとえば広告主がある広告チャネルのいろんな出稿レベルの効果を知りたいときや、予算を最適化したいとき、無作為化実験はいろんな条件でたくさんやらないといけなくなるわけで現実的でない。実験群には費用が、統制群には機会費用がかかる。MMMに代替できるわけでない。

 その2,潜在アウトカムの枠組みで推論する。
 たとえば、ある広告チャネルのROAS(広告支出あたりリターン)を推定したいとしよう。時点\(t\)における出稿を二値変数\(x_t\), 売上を\(y_t\)とする。\(x_t\)の下での潜在アウトカムを\(y^1_t, y^0_t\)とする。因果的ROASとは \(E(y^1_t – y^0_t)\)である。しかるに、\(y^1_t, y^0_t\)の一方しか観察できない。素朴には、$$ E(y_t | x_t = 1) – E(y_t | x_t = 0) $$ $$ = [E(y^1_t | x_t = 1) – E(y^0_t | x_t = 1)] + [E(y^0_t | x_t = 1) – E(y^0_t | x_t = 0)] $$ を推定しようということになる。最初のかっこは処置期間の因果効果、ふたつめのかっこは処置期間の選択バイアスを表す。
 選択バイアスをコントロールするにはどうするか。売上に影響し得る制御変数(他の広告チャネルとか)のベクトルを\(z_t\)として、マッチング推定量 $$ E(y^1_t – y^0_t | x_t = 1) = \sum_{z|x_t = 1} [E(y_t | x_t = 1,z) – E(y_t | x_t = 0, z)] P(z_t = z | x_t = 1) $$ を用いればよい。\(P(\cdot)\)は経験確率。[処置期間に出現し得るすべての共変量パターンを列挙し、各パターンについて処置期間内の売上平均と統制期間内の売上平均との差を求め、そのパターンの出現率を重みにして足し上げろってことね。処置期間内に出現しなかったパターンは無視していいわけだ]
 とはいえ、\(x_t = 1\)のときに出現した制御変数の値のすべてのパターンが\(x_t = 0\)のときにも観察されるとは限らないわけで、現実的でない。

MMMのデータ
 ちょっと脇道にそれて、データの話。
 MMMではふつう週次ないし月次の国レベル累積データを使う(地域別とか店舗別のデータを使うこともある)。反応データ(売上とか訪問者数とか)、メディア指標(ふつうは支出)、マーケティング指標(価格とかプロモーションとか配荷とか)、制御変数(天候とか競争とか)を含む。
 データの準備は大変である。粒度を揃えたりしないといけないし、製品と広告支出の対応が曖昧であることも多い。関連ブランドの広告の光背効果もMMMでは説明が難しい。
 [一般的な苦労話が数段落。メモ省略]

回帰
 さて、MMMで用いられる回帰モデルについて。まずは一般的なモデルから。
 広告チャネル変数のベクトルを\(x_t\)、制御変数のベクトルを\(z_t\)とする。モデルのパラメータのベクトルを\(\Phi\), 最長ラグを\(L\)、回帰関数を\(F(\cdot)\)として、モデルは$$ y_t = F(x_{t-L+1}, \ldots, x_t, z_{t-L+1}, \ldots, z_t; \Phi)$$ でもって、ある広告チャネルの一単位の変化に対する反応を、一次元の曲線として特定する。これが反応曲線である。
 メディア変数は加法的、制御変数は線形でラグ無しと定式化することが多い。この場合 $$ y_t = \sum_m \beta_m f_m (x_{t-L+1,m}, \ldots, x_{t,m}) + \gamma^T z_t + \epsilon_t$$ となる。\(m\)はチャネルのインデクスね。こういう関数を最尤推定したりベイズ推定したりするわけである。

 こういうモデルから得られる結果は因果的ではない。しかし、推定値は次のような場合には信頼できる[trustworthy]: 十分なデータがあり、広告レベルと制御変数に十分な変動があり、入力が独立に変動し、売上に影響するであろうすべての重要なドライバーを説明しており、変数間の因果関係を捉えているとき。
 [えーと、trustworthyってどういうこと? これらの条件が満たされている限りにおいて、モデルから得られる結果は因果的だ、という主張だろうか。そこまで強い主張ではないとしたらどういう主張なのか。うーむ]

Challenges
 ここからは、MMMの結果の信頼性を損なわせる諸問題について述べる。

 その1, データの限界。

  • データの量が限られている。3年間の週次データでも156点しかない。モデルが複雑だとパラメータ数がデータ点の数を超えてしまいかねない。安定した解を得るための目安としてはパラメータあたり7-10点はほしいのだが、無理なことが多い。
  • 入力変数の相関。チャネル別支出にはたいてい相関があるし(効果最大化のためには当然である)、他のマーケティング変数とも相関がある。そのせいで係数の分散が大きくなる。
  • データがとる範囲が限られている。「仮に来年の広告支出を倍にしたら?」などという問いはふつう過去の範囲を超えている。

 その2, 選択バイアス。入力変数が観察されていない需要変数\(d_t\)と相関しているときに生じる。どんなときに生じるかというと…

  • 広告ターゲティング。「すでに関心がありそう」というのが\(d_t\)になっている。特に深刻なのはre-marketing広告とpaid search広告。
  • 季節性。風邪薬の広告を冬に増やすとか。分析者はカテゴリ売上を季節性の代理変数として入れることが多いけど、それが\(d_t\)を反映してるかどうかわからん。そのほか、なにかのイベントに基づき特定の時期・場所を狙った広告とか、競合活動への反応として広告とか。
  • ファネルの効果。ある広告チャネルが他のチャネルのレベルに影響する場合、すべてのチャネルの影響を同時に推定するモデルではバイアスが生じる。TV広告を打ったら問い合わせが増えたのでpaid search広告を増やしました、とか。外生的に決まる広告をこういうdownstream広告とひとつの回帰式に入れてはいけない。より広く言うと、多くの重要な変数が部分的には広告主の広告についての選択で決まっており、それらを制御変数にいれると同じ問題が生じる。たとえば広告キャンペーンにあわせて値引きした場合、価格を制御変数に入れると問題が生じる。
     じゃあグラフィカル・モデルとかSEMとかでを変数間の効果も推定しようかという話になるが、単にモデル形式を変えれば済むという問題ではなく、データへの要請はますます厳しくなる。

 その3. モデル選択とモデル不確実性。\(F(x_t, z_t; \Phi)\)の関数形をどう決めるか、\(x_t, z_t\)のメンバーをどうするか、という点は曖昧である。
 MMMではふつうデータ点が少ないし、データはSN比が低い。R^2や予測誤差のような指標でモデル選択しても、正しいROASを推定するモデルを選べるとは限らない。
 [実例。同じデータでモデルを少しずつ変えて試す。モデルの性能はあまり変わらないのにROASや最適支出は全然違う。辛いのう、辛いのう]

Opportunities
 諸君、希望はないわけじゃないぞ。

  • より正確な、より粒度の低いデータを得よう。広告露出データを当の代理店から得るのではなく、業界が標準的データを提供すべきだ。
  • より良いモデルをつくろう。(後述)
  • シミュレーションを通じたモデル評価。(後述)

MMMの信頼性を高めてくれるかもしれないモデリング・アプローチたちを紹介するぞ。[要は著者らのチームの研究紹介]

  • ベイジアンモデル。情報事前分布が使える、複雑なモデルを扱える、パラメータの不確実性とモデルの不確実性を報告できる、それらの不確実性を最適化のフェイズに引き継げる。
  • カテゴリモデル。同一カテゴリの異なるブランドについて同時にモデリングする。[要はWang, et al.(2017)の宣伝ね]
  • ジオモデル。地域レベルデータについて一気にモデリングする。[Sun, et al.(2017)の宣伝]
  • 制御変数。たとえばpaid search広告には強い選択バイアスがあるけど、検索量を制御変数に入れることで解決できる。[Chen, et al.(2017)の宣伝]
  • グラフィカルモデルで変数間の依存性を表現する。Stanとかで推定できるぞ。[構造学習のない、SEMみたいな使い方を指しているのだろうか。ここの話を詳しく知りたかったのに…残念]

 モデルのバリデーションについて。モデルがいろんなシナリオの下でうまく働くか、シミュレーションで評価すべし。たとえば、メディアのラグ効果をどんどん強くしながら架空データを作り、モデルを当てはめて真のROASをあてられるかどうかみるとか。広告主もRFPの段階で架空データを渡しちゃえばいい。

 まとめ。モデラー諸君、MMMになにができてなにができないかを知れ。モデリングにおける不確実性を知れ。モデラーとユーザの間に透明性が必要であると知れ。不確実性を提示しユーザと議論せよ。モデルをいかに選んだか、モデル不確実性はどのくらいか、結果はどこまでデータドリブンなのかはたまたモデラーの事前分布で決まっているかをユーザに知らしめよ。
——
 前に他のテクニカル・ペーパーを読んだときにも思ったんだけど、この人たちのいうことって意外に古典的なのでびっくりする。過去データからの広告効果推定について非常に悲観的な説明をするあたり、あまりに真っ当すぎて気が滅入るくらいである。なにせGoogleの人なんだから、もっと大言壮語に走りそうなもんじゃないですか、「俺たちに任せればリッチなデータで因果効果推定も思いのままさ、がふぁふぁふぁふぁ」とかって。GAFAだけに。