広告代理店様からキャンペーンや施策などの成果分析に関するご相談を受けることが増えてきました。これは広告主様自体がマーケティング投資の費用対効果に対して厳しく目を向け始めたことが背景にあると考えられます。

一般的にこのような成果分析は「統計的因果推論」といわれるフレームワークを用いて行われることが最近のトレンドです。一番簡単な手法は「A/Bテスト」であり、マーケティングに関わる仕事をされている方は一度は耳にしたことがあると思います。

本稿では統計的因果推論の最新の手法の一つであるcausal impactについての紹介をします。なお内容十分に調査をしたうえで記述しておりますが、もし間違いなどございましたらご連絡いただければ幸いです。

Causal Impact

因果関係と推論

因果推論とは、ある事象が他の変数に直接与える影響を統計的に推論することです。因果関係と間違えやすい概念に相関関係があります。

因果推論の手法としてのCausal Impact

Causal Impact(Brodersen KH et al. (2015))とは昨今注目されている因果推論のフレームワークです。

キャンペーン効果を測定するには

ある事象(マーケティングならば広告やCP施策)の影響を推定するにはどうしたらよいでしょうか?

例えばCP効果を推定する場合、ある人がCP対象であった場合と、そうでない場合の売上を比較すれば良いとすぐに思いつきます。個人ではばらつくためまとまったグループでその平均を持ってキャンペーンの効果とすると、

(式1) キャンペーン対象であった場合の売上平均 – そうでなかった場合の売上平均

として効果を測定できそうです。

上記の方法で以下の例のCP効果を計算すると平均してキャンペーン効果による増分は40円です。しかしCP対象であった場合とそうでなかった場合の両方を同一人物で計算することは不可能ですよね。SFの世界ならば、Aさんがキャンペーン対象であった世界線と、そうでなかった場合世界線を比較することはできそうですが、現実はこの片方のみしか観測できないはずです。

因果推論の骨子

前項の議論より一般的に得られるデータは以下のようなものになります。「?」に該当するものを何かしらで推定し、(式1)に相当する量を計算することが因果推論の骨子となります。

そこで(式1)に相当する量の候補として「対象者全員の平均売上 – 非対象者全員の平均売上」を考えます。

しかしもともとCP対象者は購買意欲が高い層が選ばれやすいなどのバイアスがある場合、正しくCPの効果を推定できません。

ランダム化実験

このような選択バイアスを回避する方法がランダム化実験(RCT)です。

しかしビジネス上の制約などで、ランダム化実験を行うのは難しいというの実情です。

交絡因子での層別

ランダム化が難しい場合、CP対象かそうでないかに対して影響を与える交絡因子と言われる因子で層別し、比較するというのが因果推論の処方箋です。これが交絡因子に置ける調整法です。

差分の差分法

交絡因子を明示できないなどの場合、より簡便な手法として差分の差分法という手法があります。直感的にはキャンペーン対象群と非対称群の2群を考え、キャンペーン前の2群の(売上などの)差分とキャンペーン後の差分の差分を考えることでキャンペーンの効果を測定します。

[画像参照元 https://towardsdatascience.com/establishing-causality-part-4-5d3b5e917790]

Causal Impact

差分の差分法は平行性の仮定と、統制群(つまりCP対象になっていない群)の存在が必要。Causal Impactはより一般的な手法です。効果を測りたい成果変数に対して説明力をもち、介入(CPや広告)の影響を受けない共変量を用いて反実仮想を推定し、その差分を介入効果とします。

[画像参照元 https://google.github.io/CausalImpact/CausalImpact.html]

Causal Impact 実践

以下のような架空のデータを用いてCausal Impactの実践を行います。この実行にはGoogleにより開発されたR用のCausal Impactパッケージを用います。1https://google.github.io/CausalImpact/CausalImpact.htmlこれをpython版に拡張したものものあり。https://github.com/WillianFuks/tfcausalimpact

まずはCausalImpactパッケージをインストールし、読み込みます。これ以降のpgmと使用データは https://github.com/mitsu666/CausalImpact-demo- からダウンロード可能です。

データの中身を確認します。

解析を開始します。

plotの出力を確認を確認します。

結果を可視化します。

レポートの詳細を英文で出力します(DeepLで翻訳)。

CPの費用対効果を求めCPを評価します。[マーケティングROI (MROI) := CP累積効果 / CP費用]とします。

という感じでキャンペーンの評価ができました。

キャンペーンの効果測定などのお問い合わせは、株式会社Crosstabまでお願い致します。

投稿者プロフィール

株式会社Crosstab 代表 漆畑充
株式会社Crosstab 代表 漆畑充
当ブログは【アナリティクスやデータの総合的な活用を通じて「未知の知」の獲得に貢献する】株式会社Crosstabが作成しています。

筆者について
2007年より金融機関向けデータ分析業務に従事。与信及びカードローンのマーケテイングに関する数理モデルを作成。その後大手ネット広告会社にてアドテクノロジーに関するデータ解析を行う。またクライアントに対してデータ分析支援及び提言/コンサルティング業務を行う。
統計モデルの作成及び特にビジネスアウトプットを重視した分析が得意領域である。
お問い合わせは株式会社Crosstabまでお願いいたします。
  • 1
    https://google.github.io/CausalImpact/CausalImpact.htmlこれをpython版に拡張したものものあり。https://github.com/WillianFuks/tfcausalimpact