データ前処理がMMMの精度を決める
MMMの分析精度は、使用するアルゴリズム以上にデータ前処理の質に左右されます。主要な前処理工程は、欠損値処理(MCAR/MAR/MNARの分類に応じた補完)、外れ値の検出と対処(IQR法・Zスコア法による検出、ダミー変数追加やwinsorization)、変数変換(対数変換による分布正規化、最小最大正規化・Zスコア標準化)、アドストック変換(幾何的減衰・Weibull分布による広告残存効果のモデル化)、季節性処理(フーリエ項・月次ダミー・祝日フラグの導入)の5つです。特にアドストック変換では、チャネルごとに残存効果が異なり、TV CMは2〜4週間、リスティング広告は数日〜1週間が一般的です。MixCastではこれらの前処理をデータアップロード時に自動実行し、分析者はビジネス施策の立案に集中できます。
1. 欠損値の処理
実務データには欠損値がつきものです。MMMにおいて欠損値を適切に処理しないと、モデルの推定が不安定になったり、バイアスが生じたりします。
欠損値の種類を見極める
欠損値の処理方法を決める前に、なぜ欠損しているのかを理解することが重要です。
- 完全にランダムな欠損(MCAR):システム障害やデータ入力ミスなど。線形補間や平均値補完で対応できます。
- 条件付きランダムな欠損(MAR):特定の条件下で欠損が発生するケース。例えば、広告を出稿していない週のデータが「欠損」として記録されている場合は0で埋めるのが正しい処理です。
- 非ランダムな欠損(MNAR):欠損自体に意味があるケース。例えば、売上が低すぎて報告されなかった場合。この場合は慎重な対応が必要です。
実務的な欠損値処理の手法
- 広告費の欠損:出稿していない期間の欠損は0で埋めます。計測漏れによる欠損の場合は、前後の期間から線形補間するか、代理店に確認して正しい値を取得します。
- 売上データの欠損:基幹システムからの再取得を試みます。それが不可能な場合は、前年同週の値を参考にした補間を検討しますが、欠損期間が長い場合は分析期間から除外することも検討します。
- 外部要因の欠損:気象データなど、公開データソースから再取得できることが多いです。
2. 外れ値の検出と対処
外れ値はMMMの推定結果に大きな影響を与えます。特にOLS(最小二乗法)ベースのモデルでは外れ値に対する感度が高いです。
- 外れ値の特定:箱ひげ図やIQR法(四分位範囲の1.5倍を超える値)、Zスコア(平均から標準偏差の3倍以上離れた値)で検出します。
- 原因の調査:外れ値を機械的に除去するのではなく、まずその原因を調べます。年末セールによる売上急増は「正常な外れ値」であり、むしろコントロール変数として組み込むべきです。一方、データ入力ミスによる外れ値は修正または除去が必要です。
- 対処方法:正当な外れ値はダミー変数を追加してモデル内でコントロールします。異常な外れ値はwinsorization(上下の極端な値を一定のパーセンタイルの値に置き換える)や、データポイントの除去で対応します。
3. 変数変換の基本テクニック
MMMでは、生データをそのまま使うのではなく、適切な変数変換を施すことでモデルの精度が向上します。
対数変換
売上データや広告費データは多くの場合、右に裾が長い分布を示します。対数変換(log変換)を施すことで分布を正規分布に近づけ、モデルの安定性を向上させることができます。また、対数変換後のモデルでは係数が弾力性として解釈できるメリットもあります。
正規化・標準化
- 最小最大正規化:値を0〜1の範囲にスケーリング。異なるスケールの変数を同じ土俵で比較したい場合に有効です。
- Zスコア標準化:平均0、標準偏差1にスケーリング。各変数の相対的な効果の大きさを比較する際に便利です。
4. アドストック変換の実装
広告の効果は、広告を見た瞬間だけでなく、その後も一定期間にわたって残存します。この効果をモデルに反映するのがアドストック変換です。
- 幾何的減衰モデル:最もシンプルなアドストック変換。減衰率パラメータ(0〜1の値)を設定し、前期の効果が一定の割合で次期に持ち越されるとモデル化します。
- Weibull分布モデル:より柔軟なアドストック変換。効果のピークが遅延するケース(例:テレビCMを見た後、数日後に購買行動に移る)をモデル化できます。
チャネルごとに適切な減衰率は異なります。一般的に、テレビCMは長い残存効果(2〜4週間)を持ち、リスティング広告は短い残存効果(数日〜1週間)を持つと言われています。
5. 季節性と祝日の処理
季節性の処理を怠ると、マーケティング変数の効果が季節変動と混同され、誤った推定結果になる可能性があります。
- フーリエ項の導入:サイン・コサイン関数を使って年間の周期的なパターンをモデル化します。
- 月次ダミー変数:各月にダミー変数を設定する方法。解釈が容易ですが、パラメータ数が増えます。
- 祝日フラグ:GW、お盆、年末年始などの大型連休はダミー変数として組み込みます。連休前後の購買パターンの変化もキャプチャできるよう、前後数日もフラグを立てることがあります。
前処理の効率化
これらの前処理を手動で行うのは時間がかかり、ミスも起こりやすいです。MixCastでは、データアップロード時にこれらの前処理を自動で実行し、必要に応じて設定をカスタマイズできます。前処理の負担を軽減し、分析結果の解釈とビジネス施策の立案に集中できる環境を提供しています。