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