Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Rで広告効果のモデリング vol.2
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Rio
September 02, 2023
Marketing & SEO
1.8k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Rで広告効果のモデリング vol.2
Rio
September 02, 2023
More Decks by Rio
See All by Rio
Rで広告効果のモデリング vol.1
smith_217
1
750
Other Decks in Marketing & SEO
See All in Marketing & SEO
From Rankings to Recommendations: Closing the Measurement Chasm
nathanless
PRO
0
220
Feed the machine: Berlin SEO & content club
katarinadahlin
PRO
1
130
Content Types That Win In The New Consideration Era
sophiebrannon
0
120
Defining your content North Star in a zero-click world
ainhoa23
0
280
Winning organic in 2026_ A framework for surviving Google’s AI era
aleyda
0
400
SEO Além do Google: A Ascensão do GEO e os Fundamentos para Dominar as Buscas com IA
felipebazon
0
170
Debunking and Demystifying Generative Information Retrieval
dawnieando
2
570
Stop Guessing, Start Testing - An SEO Experimentation Workshop (SEO Latvia Workshop #4)
ryanatseotesting
2
130
Link building in 2026
katarinadahlin
PRO
1
140
Building a Creative Culture that Works For Different Personalities (and in Different Locations)
richardpaul22
0
270
The New Playbook for AEO Content in 2026 - Digital Summit 2026
zjchahalis
0
100
Breaking the template: Subverting AI copywriting frameworks for SERP differentiation
emilyhilltraining
0
160
Featured
See All Featured
New Earth Scene 8
popppiees
3
2.3k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
320
Code Reviewing Like a Champion
maltzj
528
40k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Become a Pro
speakerdeck
PRO
31
6k
Being A Developer After 40
akosma
91
590k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
220
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
Optimizing for Happiness
mojombo
378
71k
Technical Leadership for Architectural Decision Making
baasie
3
400
Designing Experiences People Love
moore
143
24k
Transcript
続・Rで広告効果のモデリング 2023.09.02 第108回R勉強会@東京
Introduction • 生息地:世田谷 • 広告(マーケティング)系の分析屋 • 運用苦手なSNSたち・・・ ◦ Twitter ◦
LinkedIn
アジェンダ 1. Introduction ◦ MMMとは? ◦ 現代のマーケティングにおける MMMの立ち位置 2. RでできるMMM
◦ Robyn(RベースのMMMパッケージ)の概要 ◦ RobynでのMMM実施プロセス ◦ 結果の読み解き方 3. 最後に
1. Introduction
Marketing Mix Modeling(MMM)とは? • 各広告の投下予算を説明変数、KPI(売上、コンバージョン等)を目的変数とする広告効果のモデリン グ • 広告の作用(Ad-Stock, Diminishing Returns)を考慮している
現状分析 & 将来シミュレーション 入力データ モデリング アウトプット
マーケティング戦略の効果測定に対する新たな考え方 Measurement 360 [1] で定義される効果測定フレームワークの定義 1. ビジネスの目標を定義し、そのために必要な測定対象を定める 2. 現在の効果測定フレームワークを点検する 現在の効果測定のどこに欠陥があるのかを把握し、将来的な試験運用や連携するツールの
選定材料とする 3. ファーストパーティデータを利用して、より先進的なアナリティクスを構築する プライバシー保護を前提としたアナリティクスに配慮する 4. さまざまな手法を試す 5. 包括的な「テストと分析」アプローチを取り入れる 6. 継続的に調整する - 複数のデータソース・アナリティクスの結果を総合的に判断する - さまざまなタイプの効果測定を行って、継続的に調整する https://www.facebook.com/business/news/adva nced-measurement-strategy 近年の広告を取り巻く環境の複雑化・プライバシーへの配慮・膨大なデータを活用した戦略の最適化 に対応するため、新たな効果測定の考え方が提唱されている
フルファネル×メディア包括的な効果測定戦略 以下の3つのアプローチを組み合わせて、短期・中長期両方の視点かつ包括的にマーケティン グの効果を測定し、改善のアクションに繋げていくことが求められている ユーザーごとの CVに至るまでの カスタマージャーニーにおける、各 広告のアトリビューションをもとに 戦略を最適化 ブランドリフト/検索リフト/CVリフト といったフルファネルの効果を測
定することで、短期 /中長期両軸で の改善に繋げる マーケティングチャネルが複雑化する中、 それらを一定粒度において統合的な形で 分析できることで、マーケティングの精度 が高まる DataDriven Attribution Lift Test Marketing Mix Modeling
2. RでできるMMM
RベースのMMMパッケージ「Robyn」 • Meta社がOpen Sourceで開発しているRベースのパッケージにより、手軽にMMMを活用することがで きる
RobynにおけるMMMプロセス https://github.com/facebookexperimental/Robyn/blob/main/figures/Robyn3.0_Model_Flow.png
RobynにおけるMMMプロセス https://github.com/facebookexperimental/Robyn/blob/main/figures/Robyn3.0_Model_Flow.png ①データ加工・準備 - モデルインプットの入力 - 時系列要素の投入
モデルインプットの入力 基本情報 (データセットの名前など) モデリング情報 (モデルが考慮すべきデータ、メディア変数・外的要因など) アドストック関数 (広告の残存効果 :Geometric, Weibulll CDF,
Weibull PDFから選択)
モデルインプットの定義 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のデータフォーマット 基本情報
モデルインプットの定義 基本情報 パラメータ名 定義 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”の形式
モデルインプットの定義 モデリング情報 パラメータ インプット context_vars 非マーケティング要素の名前 paid_media_spends ペイドメディア費用の変数名 paid_media_varsと同じ順序で入力 paid_media_vars
露出指標(インプレッション)の変数名 paid_media_spendsと同じ順序で入力 *露出指標がない場合、 paid_media_spendsと同じ値を入力 organic_vars 費用を伴わないマーケティング活動 (ニュースレター、ソーシャルメディアへの投稿など) factor_vars コンテキスト変数・オーガニック変数のうち、 数値として表現されない変数名
モデルインプットの定義 アドストック関数 パラメータ インプット adstock "geometric"、"weibull_cdf"、または "weibull_pdf "を選択(大文 字と小文字を区別する)
時系列要素の投入 • Meta Prophetにより処理された時系列効果(トレンド・季節性・休日など)をモ デルに含むことができる ◦ データ:祝日とその年月日の一覧を使用 ◦ 加法モデルにフィッティングし、各種効果の推定値を算出 ◦
その他理論面の詳細は [4]を参照
RobynにおけるMMMプロセス https://github.com/facebookexperimental/Robyn/blob/main/figures/Robyn3.0_Model_Flow.png ②モデリング - 広告効果の変換(Adstock/Diminishing Returns) - モデル構築 - 結果の取得(評価指標
/クラスタリング)
広告効果の変換 - 変換の概要 • Ad-Stock/Diminishing Returnsそれぞれの性質を一般的に表現できる確率分布を 用いてデータを変換する 1. 残存効果(Ad-Stock) •
投下した広告の効果がどのくらい持続する か? 2. 飽和効果(Diminishing Returns) • 広告がもたらす効果の限界
広告効果の変換 - Adstockの変換 • Ad-Stockの変換においては、分析者が以下から分布を指定することができる ◦ Geometric:固定比率の減衰パラメータ( θ)による指数関数的減衰を描く ◦ Weibull:分布の形状(Scale,
Shape)をコントロールすることでより柔軟な減衰を描く Geometric Weibull *CDF/PDFから選択できる
広告効果の変換 - Diminishing Returnsの変換 • Diminishing Returnsの変換は、以下のHill関数に当てはめて行われる
広告効果の変換 - Robynでの設定 ① 先ほど設定したインプット情報( InputCollect)をもとに、hyper_namesというfunctionで ハイパーパラメータの一覧を取得できる ② 取得したハイパーパラメータ情報に対して、初期値のリストを作成
③ 作成したハイパーパラメータのリストを InputCollectに取り込む
RobynによるMMMのモデリング • 以下変数を線形に結合 ◦ チャネルごと広告投下予算 (Ad-Stock, Diminishing Returns変換済み) ◦ 時系列要素(休日、季節性、トレンド)
◦ その他 (マーケティング予算が発生しない活動、マクロ経済的要素 ) • チャネル間の相関(多重共線性)に対処するためのリッジ回帰を実装
Robynによるモデリングの実行方法 • robyn_runのfunctionで実行できる パラメータ インプット trials アルゴリズムの「進化」を 0からをスタートする回数 iterations 1回のトライアルで進化アルゴリズムが探索するモデルの組み合わせの数
5 trials x 2,000 iterations = 10,000回のモデル作成
Robynによるモデリング結果の取得 • Robynでは、最適なモデリング結果の候補を複数抽出する • iteration × trial分のモデルに対して、以下のステップで結果の候補選択を行う 1. パレートフロント(最終モデル候補)の抽出 2.
クラスタリングによるモデルのグループ化・各グループを代表するモデルを結果として出 力する
1. 最終モデル候補の抽出 モデルの精度(NRMSEで評価)とビジネス的妥当性を加味した指標( Decomp.RSSD)両者に対して最も効率 的なモデルの集合を特定 ・「モデルと実績との予算配分の一致度」を示す評価 指標 ・チャネルごとの投下コストシェアが、モデルから推 定される値と実際の値とで乖離しすぎている状況を 制御することで、ビジネス的妥当性の高い結果を提
供することができる effect share: モデルから導き出された投下コストシェア spend share: 実際のデータでの投下コストシェア Decomp.RSSD NRMSE
2. 候補のグループ化 1. 取得した候補モデルにおける、各メディア変数 のROIデータに対してK-meansクラスタリング を実行 2. クラスタ数は手動設定も可能だが、自動の場合 はエルボー法によりk=1~20の中で最適なクラ スタ数を決定する
3. 各クラスタに属するモデルのうち、NRMSEと Decomp.RSSDが最小となるモデルをそのクラ スタにおける代表として出力する
Robynによるモデリング結果の取得 • robyn_runのfunctionに構築されたモデルに関する情報(OutputModels)とイン プット情報(InputCollect)を渡すことで、パレート最適なモデル候補の選択及びクラ スタリングについて実行してくれる
出力されたモデリング結果を読み解く • 右図のようなone-pager形式のレポートが出力対象となる モデルタイプの数だけ出力される • コンテンツは下記で構成される ◦ モデル精度 *タイトル下 ◦ レスポンスのチャネル別分解(①)
◦ 実測値と予測値の比較(②) ◦ 予算投下チャネルの ROI(③) ◦ ROIの信頼区間(④) ◦ Adstockの可視化(⑤) ◦ 即時効果とキャリーオーバー効果の可視化(⑥) ◦ レスポンスカーブ(⑦) ◦ 残差プロット(⑧) ① ② ③ ④ ⑤ ⑥ ⑦ ⑧
RobynにおけるMMMプロセス https://github.com/facebookexperimental/Robyn/blob/main/figures/Robyn3.0_Model_Flow.png ③最適予算配分のシミュレーション
Robynによる最適予算配分のシミュレーション モデリング結果をもとに、最適なチャネル別予算配分とその時に予測される KPIを可視化。それを実績として出ている予算配 分及びKPIと比較することができる channel A channel B channel C
channel D channel E 現状の予算配分 最適予算配分 モデリングにより最適なモデル(の 候補群)を出力 各モデルの結果をもとに、最適な 予算配分のシミュレーションを実 行
シミュレーションのアウトプットイメージ 実績と最適化後の予算・ KPIの比較(トータル) • 実績に対して、最適化の結果どのようにトータルの KPIが変化するかを判断する • 左から a. 実績値
b. モデリングによる最適化後の予算変化幅 c. bの3倍の変化幅 実績と最適化後の予算・ KPIの比較(チャネル別) • 最適化のために各チャネルの予算をどれだけ変化させる必要があるか、 各チャネルから得られるリターンがどう変化するかを判断する • 左から a. 実績値 b. モデリングによる最適化後の予算変化幅 c. bの3倍の変化幅 各チャネルのサチュレーションカーブ • 効力の推移の観点から、各メディアの最適な投資額を判断する • 凡例 ◦ 白:Adstock効果(残存する効果の程度) ◦ 灰色:実績値(現状どの程度のパフォーマンスなのか) ◦ 青・茶色:最適化後のパフォーマンスがどうなのか *茶色は青の最適化の 3倍に変化幅を広げた時の可視化
シミュレーションの実行方法 • モデリング結果(OutputCollect)のオブジェクトに保存されている最適なモデル候補の番号 から、シミュレーションを実行したいモデル番号を選択 • robyn_allocator functionにインプット情報、モデリング結果、選択したモデル番号を与える ことで、シミュレーション結果を出力できる
3. 最後に
MMM専門相談LINEを開設しています! LLMを掛け合わせていて、集まった質問をベー スに継続的に学習していきます。 *MMMに特化した質問や、データサイエンス・ マーケティング一般的な内容も質問していただ ければと思いますm ご興味ありましたら、右のQRコードから飛んで みてください!
参考 [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