How marketing mix modeling works
A marketing mix model is a regression fitted to weekly history: revenue on one side, transformed channel spend plus non-marketing drivers on the other. Spend is first bent through adstock and saturation transforms, the fit assigns each channel a contribution, and revenue decomposes into base plus incremental slices.
By Oliver Wakefield-Smith · Updated 2 August 2026 · Every number on this page resolves to a primary source in the ledger below.
Step 1: the inputs
One row per week (sometimes per week per region). The dependent variable, the thing being explained, is revenue or another finance-grade outcome. The explanatory side carries spend per channel and the controls a skeptical analyst would demand: price changes, promotion flags, seasonality, holidays, distribution shifts, and known external shocks. Leave the controls out and the model will credit Black Friday to whichever channel spent most that week.1
Step 2: the transforms
Raw spend does not enter the regression; transformed spend does. The adstock transform spreads each week's spend forward with a decay, encoding that ads keep working after they run. The saturation transform bends spend through a concave curve, encoding diminishing returns. Both are standard across Robyn, Meridian, and PyMC-Marketing; frameworks differ in the shapes offered and how the parameters are estimated.12
Step 3: the fit and the decomposition
The regression finds coefficients that best explain revenue history. Multiply each channel's coefficient by its transformed spend and you get its weekly contribution; what no channel explains is the base. Bayesian frameworks (Meridian, PyMC-Marketing) return distributions rather than point estimates, so contributions arrive with credible intervals attached.23 Stacked over time, the contributions are exactly the waterfall below.
Illustrative model output, not benchmarks. Drag a channel above its 100% baseline and watch the segment flatten: that bend is a saturation curve, the reason doubling spend never doubles revenue.
Step 4: validation, or why you should not trust step 3 yet
A model that fits history well may still predict badly; with enough parameters you can fit anything, including noise. Three checks separate a usable model from a decorative one. Holdout accuracy: refit on the first 80% of weeks, predict the last 20%, compare. Stability: refresh the model with new data and watch whether channel ROIs lurch. Experiment calibration: run a geo-lift test on a big channel and check the model against the measured lift; Meridian and PyMC-Marketing both accept experiment results as calibration inputs.23 A vendor or in-house team that cannot show all three has built a chart, not an instrument.
Next in the track: MMM vs attribution. The outputs in board-deck form: MMM outputs.
Source ledger
Every numeric claim on this page resolves to one of these primary sources.
- [1]Meta Robyn feature documentationhttps://facebookexperimental.github.io/Robyn/docs/featuresretrieved 2026-08-02
- [2]Google Meridian documentationhttps://developers.google.com/meridianretrieved 2026-08-02
- [3]PyMC-Marketing documentationhttps://www.pymc-marketing.io/retrieved 2026-08-02