LightweightMMM から移行する

Meridian は、Google の MMM 手法の正式な進化形であり、LightweightMMM の更新版です。どちらのバージョンも、2017 年以降の Google のベイズ MMM 研究に基づいています。

Meridian の主な機能は、リーチとフリークエンシーのモデリング、有料検索の効果的な処理、テストの調整です。

Meridian に移行する方法

LightweightMMM から Meridian に移行するには、Meridian をインストールし、Meridian の新規ユーザーと同じプロセスでデータをインポートします。詳細については、Meridian をインストールするをご覧ください。

機能の比較

両方のモデルの入力データは同じです。

次の図は、プロジェクト間の主な機能の違いの概要を示しています。

機能 LightweightMMM Meridian
言語 Python Python
ベイズ ライブラリ Numpyro TensorFlow Probability
テストの調整 可能だが手動
リーチとフリークエンシーのモデリング ×
オプティマイザー
モデルの費用対効果の定式化 ×
GQV の交絡因子の組み込み 可能だが手動
国内レベルと地域レベルのモデル ○(国内およびより多くの地域)
トレンドと季節性 直線 + 正弦波の繰り返し形状(日次、週次) ノット
カスタムの事前分布
遅延と飽和変換
入力のスケーリング 手動 自動

モデルの仕様の違い

LightweightMMM には、Adstock、Hill-Adstock、Carryover の 3 種類のモデル アーキテクチャがあります。Meridian では、Hill および Adstock アーキテクチャのバリエーションを使用しており、他のアーキテクチャは使用できません。Meridian のベースライン モデルでは、Hill 変換と Adstock 変換を適用する順序を選択できます。Meridian のリーチとフリークエンシー モデルでは、Hill と Adstock の順序が固定されており、Hill、Adstock の順に適用されます。

Meridian と LightweightMMM のその他の違いは次のとおりです。

  • メディア チャネルは、どちらのプロジェクトでも地域全体にわたって階層化されています。ただし、LightweightMMM では、地域階層に他の自由パラメータは追加されません。代わりに、LightweightMMM では 1 つのメディア係数を使用して、ハイパー事前分布と個々の地域レベルのメディア チャネルの事前分布の両方を指定します。Meridian には、地域全体のメディア係数の標準偏差を指定する追加パラメータ eta_m があります。Meridian では、階層的な変化を正規分布または対数正規分布の形状にすることもできます。

  • メディア以外の特徴量(Meridian ではコントロール変数)も Meridian では階層化されていますが、LightweightMMM では地域間で階層化されていません。Meridian モデル パラメータ xi_c は、この地域階層の標準偏差を指定します。

  • Meridian では、ベータ版(LightweightMMM と同じ)または費用対効果のいずれかに関してメディアの事前分布を指定できます。

  • Meridian では、ベースラインの表現が LightweightMMM とは異なります。Meridian では、地域レベルと時間レベルの固定効果の両方を指定できます。ベースラインは、両方の固定効果の合計です。

MCMC サンプリング時間で想定される差異

Meridian ではモデル パラメータとモデルの複雑さが増すため、MCMC サンプリングは LightweightMMM よりも時間がかかることが想定されます。ただし、モデルは比較的類似しているため、Meridian が LightweightMMM よりも大幅に時間がかかることは想定されません。どの程度時間がかかるかを正確に推定するには、コンピューティング環境、地域の数、モデルの調整パラメータ、事前分布、データなどを考慮する必要があります。Meridian はモデルが複雑なため MCMC サンプリングの時間が長くなる可能性がありますが、より正確な結果を期待できます。