Robynを使用したマーケティングミックスモデリング
Marketing Analytics
Optimization
R
MetaのRobynフレームワークによるマルチチャネルマーケティング予算最適化
背景と課題
ビジネス課題:CMOは売上を最大化するためにマーケティング予算をどのように再配分すべきか?
マーケティング予算が厳しく精査され、アトリビューションがますます複雑になる状況(サードパーティCookieの廃止、チャネルの増加)において、マーケティングミックスモデリング(MMM)が再び注目を集めています。
MMMにより以下が可能になります:
- 各マーケティングチャネルの売上への増分インパクトを測定
- 飽和効果(収穫逓減)を考慮
- 残存効果(アドストック)をモデル化 - キャンペーンの効果が時間とともに持続する影響
- チャネル間の予算配分を最適化
アプローチと方法論
Robynフレームワーク
Meta(Facebook)が開発したオープンソースフレームワークRobynを使用しました。これは複数の高度な技術を組み合わせています:
# Robynモデルアーキテクチャ
# 1. Prophetによる時系列分解
# - トレンド
# - 季節性(週次、年次)
# - 祝日効果
# 2. マーケティング変数の変換
# - 幾何アドストック: effect(t) = spend(t) + θ × effect(t-1)
# - ロジスティック飽和: response = α / (1 + exp(-β × spend))
# 3. 過学習を防ぐリッジ回帰
# 4. Nevergradによる多目的最適化
# - NRMSE(予測誤差)の最小化
# - DECOMP.RSSD(分解の一貫性)の最小化分析対象チャネル
- Google Ads:検索とディスプレイ
- Facebook Ads:ソーシャルとリマーケティング
- LinkedIn:B2B
- Email:ニュースレターとプロモーション
- オーガニック:SEOと直接トラフィック
完全なワークフロー
生データ → 特徴量エンジニアリング → Robynトレーニング → モデル選択 → 予算最適化
- データ収集:日次売上、チャネル別支出、コンテキスト変数
- 特徴量エンジニアリング:季節性変数、特別イベントの作成
- トレーニング:アドストックと飽和パラメータのキャリブレーション
- モデル選択:パレート分析(NRMSE vs DECOMP.RSSD)
- 最適化:予算配分シナリオのシミュレーション
主要な結果
売上分解
モデルは売上を以下に分解します:
- ベースライン:マーケティングなしの「自然な」売上(約60%)
- チャネル貢献:各投資の増分インパクト
- 季節性:カレンダー関連の変動
レスポンス曲線
各チャネルは異なるレスポンス曲線を持ち、収穫逓減を示します:
- Google Ads:初期ROIが高く、急速に飽和
- Facebook:より線形的な曲線、飽和が少ない
- Email:優れたROIだが容量が限られる
最適化の推奨事項
ダッシュボードでは異なるシナリオをシミュレートできます:
- 現状シナリオ:過去の配分
- 最適化シナリオ:投資不足のチャネルへの再配分
- 制約シナリオ:固定予算での最適化
デモ
インタラクティブダッシュボードでは以下が可能です:
- 売上分解の可視化
- チャネル別レスポンス曲線の探索
- 配分シナリオのシミュレーション
- 限界ROIの比較
テクノロジー
| コンポーネント | テクノロジー |
|---|---|
| 言語 | R |
| MMMフレームワーク | Robyn (Meta) |
| 時系列分解 | Prophet |
| 最適化 | Nevergrad |
| ダッシュボード | Shiny |
| 環境管理 | renv |
ソースコード
プロジェクトは複数のコンポーネントで構成されています:
mmm-robyn-project/
├── R/
│ ├── 01_data_preparation.R # データ準備
│ ├── 02_robyn_training.R # モデルトレーニング
│ ├── 03_model_selection.R # パレート選択
│ └── 04_optimization.R # 予算最適化
├── app/
│ └── app.R # Shinyダッシュボード
├── data/
│ └── marketing_data.csv # 入力データ
└── outputs/
├── exploration/ # EDA可視化
├── robyn/ # モデル結果
└── optimization/ # 最適化シナリオ
学び
このプロジェクトで以下を深く理解できました:
- マーケティングモデリング:アドストックと飽和効果の理解
- 多目的最適化:精度と解釈可能性の適切なバランスを見つける
- 結果のコミュニケーション:複雑なモデルを実用的な推奨事項に翻訳