比較する

Kuwalystが​Meridianではなく​PyMC-Marketingを​使う​理由

Kuwalystが​Google Meridianや​Robynではなく​PyMC-Marketingを​使う​理由を、​事前分布の​設定、​実験に​よる​キャリブレーション、​監査可能性、​メディアプランへの​影響から​説明します。

Hajime Takeda · 更新日 2026年9月28日

オープンソースの​MMMライブラリ3つを、​一つの​表で

Google Meridian、​Metaの​Robyn、​そして​PyMC Labsと​その​コミュニティが​保守する​PyMC-Marketingは、​マーケティング​サイエンティストが​マーケティングミックスモデリングの​ために​今日候補に​挙げる​3つの​オープンソースライブラリです。​表記は​いく​つか​あり、​Google Meridianとも​Meridian Googleとも、​PyMC-Marketingとも​PyMC Marketingとも​書かれますが、​問いは​たいてい同じです。​どの​ライブラリを、なぜ選ぶのか。​Kuwalystは​PyMC-Marketingを​使っています。​この​ページでは、​その​理由を​トレードオフとともに​説明します。​3つとも​使った​経験の​ある​筆者が​書いています。

PyMC-Marketing Google Meridian Meta Robyn
保守元 PyMC Labsと​PyMCコミュニティ Google Meta
言語と​基盤 Python、​PyMC上 Python。​2.0以降は​JAXが​既定、​分布は​TensorFlow Probability R、​Python版は​ベータ版
推定方法 ベイズ推定、​MCMCサンプリング ベイズ推定、​MCMCサンプリング 正則化回帰、​ハイパーパラメータの​進化的探索
事前分布の​置き場所 構造パラメータ:アドストック​(広告効果の​持ち越し)、​飽和、​係数 既定は​チャネルごとの​ROI。​限界ROI、​貢献割合、​係数の​事前分布も​設定可能。​背後に​構造パラメータの​事前分布 ベイズの​事前分布なし。​ハイパーパラメータの​範囲、​正則化、​選択基準
不確実性 すべての​パラメータの​事後分布 すべての​パラメータの​事後分布 候補モデル。​クラスタ内の​ROAS・CPAの​ブートストラップ区間。​事後分布は​なし
実験に​よる​キャリブレーション リフト実験の​測定値を​尤度に​組み込む 実験から​ROIの​事前分布を​設定、​キャリブレーション対象期間を​指定 実験結果との​誤差を​探索の​目的関数に​追加
データの​粒度 全国または​パネル​(地域または​商品) 地域単位の​データを​前提、​全国も​可 単一の​時系列。​地域間の​階層推定は​なし
モデル構造 チームが​読み、​拡張し、​変更できる​PyMCモデル 設定可能な​仕様。​媒介変数を​含むフルファネルの​構成も​可能 固定構造と​設定項目
ライセンス Apache 2.0 Apache 2.0 MIT

この​表は​順位表ではなく、​選択の​一覧と​して​読んでください。​各ライブラリは、​仮定を​どこに​置くか、​モデルの​どこまでを​利用者が​触る​べきかに​ついて、​異なる​判断を​しています。

PyMC-Marketingを​選んだ​理由

Media Plannerが​モデルに​求めるのは​3つです。​クライアントの​チームが​確認できる​仮定、​プラットフォームの​外で​構築した​モデルを​読み込む方法、​そして​実験の​証拠を​次回の​推定に​戻す方法です。​PyMC-Marketingは、​普通の​PyMCモデルと​して​書かれた​ベイズ型メディアミックス​モデルを​提供し、​Kuwalystは​その​周りに​プランニングの​工程を​構築しています。

事前分布は​明示的です。​PyMC-Marketingでは、​ある​チャネルの​アドストックの​減衰率、​半飽和点、​係数に​置く​事前分布は、​チームが​コードで​書き、​読み返せる​分布です。​ベイズ・​メディアミックス​モデリングの​解説では、​Media Plannerが​使う​3段階を​説明しています。​アドストックの​減衰率には​強い​事前分布、​飽和には​中程度の​事前分布、​係数には​弱い正の​事前分布です。​減衰率に​情報の​ある​事前分布を​置くと、​2〜3年分の​週次データで​持ち越し、​飽和、​係数の​間の​曖昧さは​減りますが、​なくなりはしません。​だから​こそMedia Plannerは​事前分布の​感度を​確認し、​幅を​示します。

キャリブレーションは​モデルの​中に​位置づけられています。​PyMC-Marketingは、​リフト実験の​測定値を​その​不確実性とともに​尤度に​組み込み、​測定値が​推定を​どれだけ動かすかは​不確実性が​決めます。​Media Planner自身の​ループは​より​単純で、​この​サイトの​各ページに​書いてある​とおりです。​地域別リフト実験で​測定したリターンを、​次回の​推定で​その​チャネルの​係数の​事前分布に​反映し、​モデルの​推定値と​実測したリターンが​3分の​1を​超えて​食い​違えば、​プランは​その​チャネルの​識別の​問題を​明示します。

モデルは​確認できます。​モデルカード、​事前分布、​反応曲線、​適合度の​診断結果は、​チームが​開ける​アーティファクトと​して​保存され、​信頼と​安全性の​ページに​その​ホスティング先が​書かれています。​Kuwalystの​共同創業者である​竹田肇​(Hajime Takeda)は、​この​ライブラリの​ドキュメントに​寄稿しており、​Media Plannerが​実行する​手法は​書籍『Marketing Science in Python』に​章ごとに​解説されている​ものです。

Google Meridianの​得意な​こと、​制約に​なる​こと

Meridianは​本格的な​ライブラリで、​チームに​よっては​正しい​選択です。​地域単位の​データを​前提に​設計されており、​地域を​まとめて​推定する​階層モデルは、​地域ごとに​広告費が​異なる​とき、​同じ​週数からより​多くの​情報を​引き出します。​リーチと​フリークエンシーの​データが​ある​チャネルなら、​広告費だけでなく、​各期間の​ユニークリーチと​平均接触回数を​使って​モデル化できます。​有料メディアの​事前分布は​既定では​ROIで​表現され、​マーケティングチームが​すでに​使っている​言葉ですが、​限界ROI、​貢献割合、​係数に​置く​設定にも​切り​替えられます。​実験に​よる​キャリブレーションとは、​実測値から​その​ROIの​事前分布を​設定する​ことで、​実験が​対象と​する​期間は​キャリブレーション対象期間と​して​指定します。​仕様は​設定可能で、​検索ボリュームなどの​媒介変数を​含むフルファネルの​構成も​組めます。​Google Meridianの​ドキュメントは、​モデルの​仮定、​設定、​診断を​詳しく​説明しており、​Google Meridianの​パートナー​プログラムは​代理店を​認定しています。

制約は​同じ​選択から​生じます。​ある​広告費の​水準で、​ある​期間に​測定した​実験を、​反応曲線全体の​事前分布に​翻訳する​ことは、​どの​ライブラリでも​モデリング上の​判断です。​Meridianでは​この​判断が​ROIの​事前分布と​いう​設定方法と​その​キャリブレーション設定を​通じて​行われ、​ROIで​考える​チームには​合いますが、​証拠を​構造パラメータに​直接置きたい​チームには​制約に​なります。​地域単位の​データが​設計の​中心です。​全国単位の​推定も​サポートされていますが、​全国の​系列が​一つだけで​オフラインチャネルを​持つブランドは、​Meridianの​特長の​恩恵を​受けに​くくなります。​モデルは​書く​ものではなく​設定する​ものです。​設定項目に​ない​ものは、​モデルではなく​ライブラリの​実装を​変更する​ことになります。​そして、​オープンソースの​Meridianは​JAXと​TensorFlow Probabilityの​基盤で​動く​ため、​チームの​既存の​コード、​テスト、​習慣が​PyMCに​ある​場合には、​これが​効いてきます。

いずれも​欠点ではありません。​チームが​Meridianを​選ぶ​理由​その​ものです。​Kuwalystは、​PyMCモデルと​その​パラメータ設定に​直接アクセスできる​ことを​理由に​PyMC-Marketingを​選びました。​外部モデルの​読み込み、​再較正の​スケジュール、​監査の​記録は​Media Plannerの​アプリケーション側の​コードであり、​どの​ライブラリを​使う​場合でも​その​周りに​構築する​必要が​あります。

Robynに​ついて、​簡潔に

Robynは​Metaの​オープンソースの​MMMパッケージで、​Rで​実装され、​Python版は​現在ベータ版です。​事後分布を​サンプリングしません。​リッジ回帰を​当てはめ、​アドストックと​飽和の​ハイパーパラメータは、​数千の​候補モデルに​対する​進化的探索で​選びます。​評価基準は​予測誤差と、​各チャネルの​効果の​構成比と​広告費の​構成比との​差です。​実験結果が​ある​場合は、​モデルが​推定した​増分効果と​実測した​増分効果との​差を​罰する​3つ目の​目的関数が​加わります。​出力は​パレートフロント上の​候補モデルの​集合で、​分析者が​その​中から​一つを​選び、​Robynの​クラスタリングの​手順が、​候補の​クラスタ内での​ROASや​CPAの​ブートストラップ区間を​与えます。

その​ためRobynは、​ベイズの​作業手順を​持たない​チームにも​使いやすい​ライブラリです。​明示的な​事前分布を​書く​必要は​ありませんが、​ハイパーパラメータの​範囲、​正則化、​選択基準は​それ自体が​仮定を​含んでいます。​一方で、​不確実性は​別の​ものに​なります。​候補モデルに​またがる​ブートストラップ区間は​パラメータの​事後分布ではなく、​選んだ​一つの​モデルの​上に​作った​プランには、​2つの​ベイズ型ライブラリが​与える​事後分布の​幅は​ありません。​Meridianと​Robynの​違いを​一言で​いえば、​出力の​違いです。​Robynは​候補モデルと​ブートストラップ区間を、​Meridianは​事後分布を​返します。

何が​変わるか:監査可能性、​可搬性、​キャリブレーション

監査可能性。​たとえば​テレビCMの​飽和の​推定を​評価するには、​保存された​事前分布、​反応曲線、​適合度の​診断結果を​開く​ことができ、​実測値・予測値・ベンチマークの​区分が、​プラン上の​各数値の​出所を​示します。​予測値は​依然と​して​モデルの​出力ですが、​その​背後の​仮定を​読める​点が​違います。

可搬性。​Media Plannerは、​チームや​パートナーが​構築した​モデルを​読み込める​ため、​プラットフォーム内で​新たに​推定しなくても、​既存の​モデルの​上で​プランを​動かせます。​プランには、​どの​数値が​どの​モデル由来かを​示します。

キャリブレーション。​Media Plannerは​最初の​プランから​地域別リフト実験を​提案し、​その​実測リターンを​次回の​推定で​チャネルの​係数の​事前分布に​反映します。​MMM​(マーケティングミックスモデリング)とはでは、​モデルの​推定と​実験の​証拠が​プランの​中で​どう組み合わさるかを​説明しています。

ライブラリが​変えない​こともあります。​必要な​データ、​実験の​規律、​幅の​読み方です。​3つの​ライブラリは​いずれも、​根拠の​ある​仮定、​適切な​データ、​検証を​必要とします。​推定方法と​キャリブレーションの​方法は​異なり、​この​サイトが​解説しているのは​Media Plannerが​実行する​手法です。

具体例

この​例は​架空の​もので、​数値は​説明の​ために​仮定した​ものです。​ある​小売業者が、​検索広告、​SNS広告、​オンライン動画、​テレビCMを​運用しており、​2年半分の​週次データが​あります。​Media Plannerの​既定の​事前分布で​推定した​モデルが、​計画中の​実験と​同等の​変更に​ついて、​テレビCMの​平均的な​増分リターンを​1.6倍、​90%信用区間を​0.7倍から​2.9倍と​推定したとします。​予算を​動かすには​広すぎる​幅です。​チームは​6週間の​地域別ホールドアウト実験を​実施します。​一部の​地域で​テレビCMを​停止し、​対象外の​地域から​合成対照群を​作ります。

実験が、​テレビCMの​広告費を​1円減らした​ときの​増分売上を​2.1倍、​90%信頼区間を​1.5倍から​2.8倍と、​実験期間に​ついて​推定したとします。​Media Plannerでは、​この​実測リターンを​次回の​推定で​テレビCMの​係数の​事前分布に​反映します。​再推定した​モデルが​同じ量を​2.0倍、​区間を​1.5倍から​2.6倍と​推定したとしましょう。​これは​上の​区間から​計算した​値ではなく、​仮定した​出力です。​プランには、​予測値の​2.0倍と​実測値の​2.1倍が、​それぞれの​区間と​条件とともに​並び、​予算を​動かす前に、​提案する​広告費に​おける​限界リターンを​再推定した​曲線から​読み取ります。

各ライブラリは、​この​実験を​異なる​形で​取り込みます。​PyMC-Marketingは​リフト実験の​観測値と​して​尤度に​含める​こともでき、​Meridianは​キャリブレーション対象期間の​テレビCMの​ROIの​事前分布に​翻訳し、​Robynは​モデル探索の​目的関数に​ある​実験結果との​誤差に​加えます。​3つとも​証拠を​利用しますが、​いずれも、​実験と​モデル化した​効果が​同じ​広告費の​変更、​期間、​対象を​指しているかを​分析者が​確認する​必要が​あります。

プランの​裏に​ある​モデルを​見る

Media Plannerは、​PyMC-Marketingで​自社の​履歴データから​MMMを​推定し、​モデルカード、​事前分布、​反応曲線、​適合度の​診断結果を​チームが​確認できる​アーティファクトと​して​保存します。
​チームや​パートナーが​すでに​構築した​モデルも​読み込めます。

Media PlannerでMMMを予算配分に使う方法を見る

よく​ある​ご質問

PyMC-Marketingとは​何ですか?

PyMC-Marketingは、​確率的​プログラミングの​フレームワークである​PyMCの​上に​構築された、​マーケティングモデルの​オープンソースPythonライブラリです。
​その​メディアミックス​モデルは​ベイズ型で、​すべての​パラメータに​事前分布が​あり、​サンプリングで​推定し、​出力は​パラメータごとの​事後分布です。
​そこから​反応曲線、​貢献度、​その​幅を​計算します。
​リフト実験の​測定値を​尤度に​組み込む機能と、​予算最適化の​機能も​備えています。

PyMC-Marketingと​Meridianは​どちらが​優れていますか?

どちらも、​設定可能な​事前分布と​実験に​よる​キャリブレーションを​備えた​ベイズ型メディアミックス​モデルを​推定できます。
​Meridianは​地域単位の​階層モデル、​リーチと​フリークエンシーの​入力、​そして​ROIを​既定と​する​複数の​事前分布の​設定方法を​提供します。
​PyMC-Marketingは、​モデルを​PyMCモデルと​して​公開し、​独自の​変換を​追加する​拡張点と、​すべての​事前分布への​直接の​アクセスを​提供します。
​Kuwalystは、​この​モデル実装に​対する​制御を​理由に​選びました。
​監査の​記録と​外部モデルの​読み込みは、​ライブラリの​周りで​Media Planner自身が​担う​部分です。

Meridianと​Robynの​違いは​何ですか?

Meridianは​ベイズ型で、​事後分布を​サンプリングし、​そこから​信用区間を​導きます。
​Robynは​正則化回帰で、​アドストック​(広告効果の​持ち越し)と​飽和の​ハイパーパラメータを​進化的探索で​求め、​パレートフロント上の​候補モデルを​出力します。
​不確実性は​事後分布ではなく、​候補モデルの​クラスタ内での​ROASや​CPAの​ブートストラップ区間と​して​示します。
​どちらも​オープンソースで、​それぞれGoogleと​Metaが​公開しています。
​Robynは​Rの​パッケージで、​Python版は​ベータ版です。

自社チームが​すでに​構築した​モデルを​持ち込めますか?

はい。
​チームや​パートナーが​すでに​構築した​モデルは、​モデルカードとともに​アーティファクトと​して​Media Plannerに​読み込めます。
​Media Plannerは​自前の​モデルを​強制しません。
​プランには、​どの​数値が​どの​モデル由来かを​示し、​すべての​数値に​実測値・予測値・ベンチマークの​区分を​付けます。