Slide 1

Slide 1 text

続・Rで広告効果のモデリング 2023.09.02 第108回R勉強会@東京

Slide 2

Slide 2 text

Introduction ● 生息地:世田谷 ● 広告(マーケティング)系の分析屋 ● 運用苦手なSNSたち・・・ ○ Twitter ○ LinkedIn

Slide 3

Slide 3 text

アジェンダ 1. Introduction ○ MMMとは? ○ 現代のマーケティングにおける MMMの立ち位置 2. RでできるMMM ○ Robyn(RベースのMMMパッケージ)の概要 ○ RobynでのMMM実施プロセス ○ 結果の読み解き方 3. 最後に

Slide 4

Slide 4 text

1. Introduction

Slide 5

Slide 5 text

Marketing Mix Modeling(MMM)とは? ● 各広告の投下予算を説明変数、KPI(売上、コンバージョン等)を目的変数とする広告効果のモデリン グ ● 広告の作用(Ad-Stock, Diminishing Returns)を考慮している 現状分析 & 将来シミュレーション 入力データ モデリング アウトプット

Slide 6

Slide 6 text

マーケティング戦略の効果測定に対する新たな考え方 Measurement 360 [1] で定義される効果測定フレームワークの定義 1. ビジネスの目標を定義し、そのために必要な測定対象を定める 2. 現在の効果測定フレームワークを点検する 現在の効果測定のどこに欠陥があるのかを把握し、将来的な試験運用や連携するツールの 選定材料とする 3. ファーストパーティデータを利用して、より先進的なアナリティクスを構築する プライバシー保護を前提としたアナリティクスに配慮する 4. さまざまな手法を試す 5. 包括的な「テストと分析」アプローチを取り入れる 6. 継続的に調整する - 複数のデータソース・アナリティクスの結果を総合的に判断する - さまざまなタイプの効果測定を行って、継続的に調整する https://www.facebook.com/business/news/adva nced-measurement-strategy 近年の広告を取り巻く環境の複雑化・プライバシーへの配慮・膨大なデータを活用した戦略の最適化 に対応するため、新たな効果測定の考え方が提唱されている

Slide 7

Slide 7 text

フルファネル×メディア包括的な効果測定戦略 以下の3つのアプローチを組み合わせて、短期・中長期両方の視点かつ包括的にマーケティン グの効果を測定し、改善のアクションに繋げていくことが求められている ユーザーごとの CVに至るまでの カスタマージャーニーにおける、各 広告のアトリビューションをもとに 戦略を最適化 ブランドリフト/検索リフト/CVリフト といったフルファネルの効果を測 定することで、短期 /中長期両軸で の改善に繋げる マーケティングチャネルが複雑化する中、 それらを一定粒度において統合的な形で 分析できることで、マーケティングの精度 が高まる DataDriven Attribution Lift Test Marketing Mix Modeling

Slide 8

Slide 8 text

2. RでできるMMM

Slide 9

Slide 9 text

RベースのMMMパッケージ「Robyn」 ● Meta社がOpen Sourceで開発しているRベースのパッケージにより、手軽にMMMを活用することがで きる

Slide 10

Slide 10 text

RobynにおけるMMMプロセス https://github.com/facebookexperimental/Robyn/blob/main/figures/Robyn3.0_Model_Flow.png

Slide 11

Slide 11 text

RobynにおけるMMMプロセス https://github.com/facebookexperimental/Robyn/blob/main/figures/Robyn3.0_Model_Flow.png ①データ加工・準備 - モデルインプットの入力 - 時系列要素の投入

Slide 12

Slide 12 text

モデルインプットの入力 基本情報 (データセットの名前など) モデリング情報 (モデルが考慮すべきデータ、メディア変数・外的要因など) アドストック関数 (広告の残存効果 :Geometric, Weibulll CDF, Weibull PDFから選択)

Slide 13

Slide 13 text

モデルインプットの定義 DATE holiday country year 2020/01/01元日 JP 2020 2020/01/13成人の日 JP 2020 2020/02/11建国記念の日 JP 2020 2020/02/23天皇誕生日 JP 2020 2020/02/24休日 JP 2020 2020/03/20春分の日 JP 2020 dt_inputのデータフォーマット dt_holidaysのデータフォーマット 基本情報

Slide 14

Slide 14 text

モデルインプットの定義 基本情報 パラメータ名 定義 date_var 日付を示すカラム名、 ”YYYY-MM-DD”の形式 *大文字小文字を区別する dep_var 目的変数(モデル化 /予測対象)のカラム名 、一つのみ指定可能 dep_var_type 目的変数の種類、"revenue" or "conversion" prophet_vars 週次/月次データの場合"trend", "season", "holiday"を使用 日次データの場合"trend", "season", "weekday", "holiday"を使用 prophet_country 祝日データの対象国の略称、 2文字で入力、例: US window_start, window_end モデリング期間の開始日と終了日 、 ”YYYY-MM-DD”の形式

Slide 15

Slide 15 text

モデルインプットの定義 モデリング情報 パラメータ インプット context_vars 非マーケティング要素の名前 paid_media_spends ペイドメディア費用の変数名 paid_media_varsと同じ順序で入力 paid_media_vars 露出指標(インプレッション)の変数名 paid_media_spendsと同じ順序で入力 *露出指標がない場合、 paid_media_spendsと同じ値を入力 organic_vars 費用を伴わないマーケティング活動 (ニュースレター、ソーシャルメディアへの投稿など) factor_vars コンテキスト変数・オーガニック変数のうち、 数値として表現されない変数名

Slide 16

Slide 16 text

モデルインプットの定義 アドストック関数 パラメータ インプット adstock "geometric"、"weibull_cdf"、または "weibull_pdf "を選択(大文 字と小文字を区別する)

Slide 17

Slide 17 text

時系列要素の投入 ● Meta Prophetにより処理された時系列効果(トレンド・季節性・休日など)をモ デルに含むことができる ○ データ:祝日とその年月日の一覧を使用 ○ 加法モデルにフィッティングし、各種効果の推定値を算出 ○ その他理論面の詳細は [4]を参照

Slide 18

Slide 18 text

RobynにおけるMMMプロセス https://github.com/facebookexperimental/Robyn/blob/main/figures/Robyn3.0_Model_Flow.png ②モデリング - 広告効果の変換(Adstock/Diminishing Returns) - モデル構築 - 結果の取得(評価指標 /クラスタリング)

Slide 19

Slide 19 text

広告効果の変換 - 変換の概要 ● Ad-Stock/Diminishing Returnsそれぞれの性質を一般的に表現できる確率分布を 用いてデータを変換する 1. 残存効果(Ad-Stock) • 投下した広告の効果がどのくらい持続する か? 2. 飽和効果(Diminishing Returns) • 広告がもたらす効果の限界

Slide 20

Slide 20 text

広告効果の変換 - Adstockの変換 ● Ad-Stockの変換においては、分析者が以下から分布を指定することができる ○ Geometric:固定比率の減衰パラメータ( θ)による指数関数的減衰を描く ○ Weibull:分布の形状(Scale, Shape)をコントロールすることでより柔軟な減衰を描く Geometric Weibull *CDF/PDFから選択できる

Slide 21

Slide 21 text

広告効果の変換 - Diminishing Returnsの変換 ● Diminishing Returnsの変換は、以下のHill関数に当てはめて行われる

Slide 22

Slide 22 text

広告効果の変換 - Robynでの設定 ① 先ほど設定したインプット情報( InputCollect)をもとに、hyper_namesというfunctionで   ハイパーパラメータの一覧を取得できる ② 取得したハイパーパラメータ情報に対して、初期値のリストを作成 ③ 作成したハイパーパラメータのリストを InputCollectに取り込む

Slide 23

Slide 23 text

RobynによるMMMのモデリング ● 以下変数を線形に結合 ○ チャネルごと広告投下予算 (Ad-Stock, Diminishing Returns変換済み) ○ 時系列要素(休日、季節性、トレンド) ○ その他 (マーケティング予算が発生しない活動、マクロ経済的要素 ) ● チャネル間の相関(多重共線性)に対処するためのリッジ回帰を実装

Slide 24

Slide 24 text

Robynによるモデリングの実行方法 ● robyn_runのfunctionで実行できる パラメータ インプット trials アルゴリズムの「進化」を 0からをスタートする回数 iterations 1回のトライアルで進化アルゴリズムが探索するモデルの組み合わせの数 5 trials x 2,000 iterations = 10,000回のモデル作成

Slide 25

Slide 25 text

Robynによるモデリング結果の取得 ● Robynでは、最適なモデリング結果の候補を複数抽出する ● iteration × trial分のモデルに対して、以下のステップで結果の候補選択を行う 1. パレートフロント(最終モデル候補)の抽出 2. クラスタリングによるモデルのグループ化・各グループを代表するモデルを結果として出 力する

Slide 26

Slide 26 text

1. 最終モデル候補の抽出 モデルの精度(NRMSEで評価)とビジネス的妥当性を加味した指標( Decomp.RSSD)両者に対して最も効率 的なモデルの集合を特定 ・「モデルと実績との予算配分の一致度」を示す評価 指標 ・チャネルごとの投下コストシェアが、モデルから推 定される値と実際の値とで乖離しすぎている状況を 制御することで、ビジネス的妥当性の高い結果を提 供することができる effect share: モデルから導き出された投下コストシェア spend share: 実際のデータでの投下コストシェア Decomp.RSSD NRMSE

Slide 27

Slide 27 text

2. 候補のグループ化 1. 取得した候補モデルにおける、各メディア変数 のROIデータに対してK-meansクラスタリング を実行 2. クラスタ数は手動設定も可能だが、自動の場合 はエルボー法によりk=1~20の中で最適なクラ スタ数を決定する 3. 各クラスタに属するモデルのうち、NRMSEと Decomp.RSSDが最小となるモデルをそのクラ スタにおける代表として出力する

Slide 28

Slide 28 text

Robynによるモデリング結果の取得 ● robyn_runのfunctionに構築されたモデルに関する情報(OutputModels)とイン プット情報(InputCollect)を渡すことで、パレート最適なモデル候補の選択及びクラ スタリングについて実行してくれる

Slide 29

Slide 29 text

出力されたモデリング結果を読み解く ● 右図のようなone-pager形式のレポートが出力対象となる モデルタイプの数だけ出力される ● コンテンツは下記で構成される ○ モデル精度 *タイトル下 ○ レスポンスのチャネル別分解(①) ○ 実測値と予測値の比較(②) ○ 予算投下チャネルの ROI(③) ○ ROIの信頼区間(④) ○ Adstockの可視化(⑤) ○ 即時効果とキャリーオーバー効果の可視化(⑥) ○ レスポンスカーブ(⑦) ○ 残差プロット(⑧) ① ② ③ ④ ⑤ ⑥ ⑦ ⑧

Slide 30

Slide 30 text

RobynにおけるMMMプロセス https://github.com/facebookexperimental/Robyn/blob/main/figures/Robyn3.0_Model_Flow.png ③最適予算配分のシミュレーション

Slide 31

Slide 31 text

Robynによる最適予算配分のシミュレーション モデリング結果をもとに、最適なチャネル別予算配分とその時に予測される KPIを可視化。それを実績として出ている予算配 分及びKPIと比較することができる channel A channel B channel C channel D channel E 現状の予算配分 最適予算配分 モデリングにより最適なモデル(の 候補群)を出力 各モデルの結果をもとに、最適な 予算配分のシミュレーションを実 行

Slide 32

Slide 32 text

シミュレーションのアウトプットイメージ 実績と最適化後の予算・ KPIの比較(トータル) ● 実績に対して、最適化の結果どのようにトータルの KPIが変化するかを判断する ● 左から a. 実績値 b. モデリングによる最適化後の予算変化幅 c. bの3倍の変化幅 実績と最適化後の予算・ KPIの比較(チャネル別) ● 最適化のために各チャネルの予算をどれだけ変化させる必要があるか、 各チャネルから得られるリターンがどう変化するかを判断する ● 左から a. 実績値 b. モデリングによる最適化後の予算変化幅 c. bの3倍の変化幅 各チャネルのサチュレーションカーブ ● 効力の推移の観点から、各メディアの最適な投資額を判断する ● 凡例 ○ 白:Adstock効果(残存する効果の程度) ○ 灰色:実績値(現状どの程度のパフォーマンスなのか) ○ 青・茶色:最適化後のパフォーマンスがどうなのか *茶色は青の最適化の 3倍に変化幅を広げた時の可視化

Slide 33

Slide 33 text

シミュレーションの実行方法 ● モデリング結果(OutputCollect)のオブジェクトに保存されている最適なモデル候補の番号 から、シミュレーションを実行したいモデル番号を選択 ● robyn_allocator functionにインプット情報、モデリング結果、選択したモデル番号を与える ことで、シミュレーション結果を出力できる

Slide 34

Slide 34 text

3. 最後に

Slide 35

Slide 35 text

MMM専門相談LINEを開設しています! LLMを掛け合わせていて、集まった質問をベー スに継続的に学習していきます。 *MMMに特化した質問や、データサイエンス・ マーケティング一般的な内容も質問していただ ければと思いますm ご興味ありましたら、右のQRコードから飛んで みてください!

Slide 36

Slide 36 text

参考 [1] Measurement 360: 効果測定戦略に対する先進的な考え方 [2] How to maximise a full-funnel media strategy with measurement [3] How to bring your marketing mix modeling into the 21st century [4] Taylor SJ, Letham B (2017). “Forecasting at scale”. [5] Prophet入門【理論編】Facebookの時系列予測ツール [6] Robyn