Guide May 2026 8 min read
How marketing mix modelling really works
Marketing mix modelling gets talked about like a black box. It isn't one. Here's the whole method, worked through one deliberately small example, until you can see exactly how a model separates what your marketing drove from what would have happened anyway.
Start with the simplest version of ROI
You spent £3 on marketing. You made £6. So your ROI is 2x. That's the number that ends up in the board deck, and it's the way nearly everyone does it: one spend, one sales figure, one moment in time. Hold onto that £3 / £6 week. We'll come back to it and show you what it really earned.
Two numbers and the ratio between them. A snapshot, nothing more.
Now add time
That snapshot was a single week. Real campaigns run for months, and spend isn't the same from week to week. Neither are sales. Plot ten weeks side by side and you get two lines moving together. Our £3 / £6 week is now just one point among them.
Every week has its own ROI. One week looks like a triumph at 3x, the next barely scrapes 1.1x. So which one is "the truth"?
The instinct: take the average
Each week gives a different ROI: 3x, then 1.5x, 1.8x, our 2x from week 4, down to a thin 1.1x. So you do the obvious thing and average them. Ten weeks, 1.69x. It feels more rigorous than one number. It isn't. It's just wrong with more decimal places.
The dashed line is the average across all ten weeks. Looks like the answer. It isn't.
The line of best fit tells a different story
Now plot every week as a dot: spend across, sales up. They scatter; no week sits perfectly on a line. Draw the line that fits the cloud best and two things fall out. It crosses the y-axis at £3. Its slope is 1. That intercept is the bit almost everyone misses: the baseline, the sales you'd have made spending nothing.
The solid line is the real relationship. Where it meets the y-axis is the baseline: sales the marketing did not cause. That faint line from zero is the assumption buried inside "average ROI": that the baseline is nothing.
Back to our £3 / £6 week
Here's the payoff I promised you. Take that famous week, £3 in and £6 out, and split the £6 with the line. £3 of it is baseline: it was coming with or without the ad. The other £3 came from the spend, at a slope of 1. So the real return that week wasn't 2x. It was £3 back on £3 spent: 1x. The marketing washed its face. It didn't double anything.
Same week. Same £6. Half of it was never the marketing's to claim.
Now run that across all ten weeks. £88 of sales. £30 of it baseline: £3 a week, ten weeks. Strip that out and the marketing drove £58, on £58 of spend. The real return isn't 1.69x. It's 1x. Break-even. Same campaign, same data, a completely different story depending on where you draw the baseline.
"We get 1.7x on social" and "social barely breaks even once you strip the baseline" describe the exact same campaign. They lead to completely different growth decisions.
Why variance in spend is what makes this possible
That line we drew through the dots only worked because the dots were spread out. Spend the same £5 every week and you only ever get one point on the chart. You can't fit a line to a single dot. Because real spend jumps around (£2, £4, £8, £10), the model gets to watch sales respond at every level. That movement is the raw material; it's what lets the model learn the shape of the relationship instead of one flat ratio.
Variance is the raw material. No variance, no model.
Saturation: the line is really a curve
The straight line in Step 4 was a teaching simplification. Push spend wider and it bends. The tenth pound never works as hard as the first; every channel has a ceiling and you want to know where yours sits. Give the model enough weeks across enough spend levels and it fits the curve. That curve is what tells you when a channel is tapped out, and where you've still got room to push.
This curve is the whole reason you can reallocate with any confidence. Flattening near the top? That's your signal to move budget somewhere it'll still work.
Adstock: spend now, sales later
Run an ad this week and it keeps working next week, and the week after. The time series shows it plainly: a spend pulse in week 3 is still lifting sales in weeks 4 and 5, fading as people forget. One ROI number can't see any of that. A model across ten weeks can.
Time-series variance gives you two things at once: the shape of the response (saturation) and the timing of the response (adstock).
Now add the other channels
In the real world social isn't running on its own. TV, out of home, YouTube, podcast: each has its own weekly spend line, and they're all pushing the same sales line at once. The model fits them together and works out how much of that line each one can honestly claim.
| Series | Role | Line style |
|---|---|---|
| Sales | The single outcome line the model explains | Thick solid |
| Social | Channel spend | Solid |
| TV | Channel spend | Long dash |
| OOH | Channel spend | Short dash |
| Podcast | Channel spend | Dash-dot |
| YouTube | Channel spend | Dotted |
One sales line. A dozen plausible stories about what caused it. The model finds the combination that fits the history best.
Baseline and external factors
Some sales happen with no marketing at all; that's the baseline again. Sales also move on price, promotions, distribution, weather, the time of year, what competitors are up to. Leave those out and the model quietly credits their effect to whatever channel happened to be moving at the same time. So they go in too.
Marketing only gets credit for what it really moved. The rest goes where it belongs.
The final picture
Put it together and you get your sales, week by week, split into baseline plus every channel plus the outside stuff. For each channel, two things: how it responds as you spend more, and how long each burst keeps working. That's the deliverable, and it's the thing a single ROI number or an attribution dashboard simply can't give you.
| Layer | What it represents |
|---|---|
| Baseline | Sales that would happen with no marketing |
| TV | TV's modelled contribution |
| Social | Social's modelled contribution |
| OOH | Out-of-home's modelled contribution |
| Podcast | Podcast's modelled contribution |
| Seasonality | External factors: price, weather, season |
| Total | The six layers sum to the observed sales line |
Every pound of sales is accounted for, every channel credited for what it really did. That's what you get.