All metrics

What is MMM contribution?

MMM contribution is the euro amount of contribution margin a marketing-mix model estimates a channel generated over the fitted period. Unlike attribution, which follows individual customers through tracked journeys, MMM never looks at a single order: it fits a statistical model to a year or more of weekly totals — margin on one side, per-channel spend on the other — and asks how much of the margin's movement the spend explains.

Formula

weekly margin ≈ baseline + Σ over channels f(adstocked, saturated spend)
MMM contribution (channel) = the fitted model's margin attributable to that channel

Worked example

Over 52 weeks a store earns €1.2M of contribution margin. The fitted model assigns €700k to baseline — margin that arrives regardless of that period's ad spend: brand, repeat customers, seasonality — €260k to search spend, €180k to social and €60k to display. The €260k is search's MMM contribution. No pixel, click or cookie is involved; the estimate would be identical with tracking turned off.

How Saldo Metrics computes it

The MMM engine builds a weekly panel: the response is total true contribution margin per week (from v_contribution_margin, cancelled and refunded orders excluded), the predictors are each channel's weekly spend_base, all EUR. It requires at least 52 weeks of history and 3 channels to fit at all. Spend enters through two transforms — adstock (carry-over, so this week's ads can produce next week's margin) and Hill saturation (diminishing returns) — and the default ridge_saturation method fits a ridge regression with seasonality terms on top. When an org has configured channel priors, they anchor the channel split against multicollinearity; the data still sets the overall magnitude. Results are stored per run in fact_mmm_channel_contribution; v_mmm_channel_contribution serves the latest run per method, alongside the run's R² and its baseline figure.

Why it matters

MMM is the only channel-effect estimate here that catches what tracking cannot: view-through effects, cross-device journeys, and everything post-cookie. It is also the only one that separates media-driven margin from baseline — attribution allocates 100% of tracked-order margin to something, while MMM is free to say most of your margin would have arrived anyway.

Common mistakes

  • Comparing MMM contribution directly with attributed margin and expecting agreement. They answer different questions on different data; a large gap usually means substantial untracked or baseline effects, not an error.
  • Trusting a fit on thin history. The 52-week minimum is a floor, not a guarantee — channels whose spend barely varied are poorly identified no matter how many weeks exist.
  • Ignoring cost coverage. The response is margin from costed orders, so incomplete product costs scale the absolute contributions down while the split between channels stays roughly stable. Shares are the sturdier read.

Where you see this in the app

Marketing → MMM, as the contribution column of the channel table.

Formula
model-estimated contribution margin attributable to a channel's spend
How Saldo Metrics computes it
canonical.v_mmm_channel_contribution, canonical.fact_mmm_channel_contribution

Last reviewed 2026-08-29