
How Marketing Mixed Modeling Can Improve Your ROI
How to plan your marketing spend while measuring the true effect of any marketing activity on your bottom line? The answer lies in Marketing Mix Modeling (MMM).

Marketing mix modelling is a regression on aggregate historical data that estimates how much each marketing channel contributed to sales, alongside price, seasonality and other drivers. It needs no user tracking, which is why it survived the collapse of third-party cookies.
Marketing mix modelling takes several years of aggregate history — weekly sales, spend by channel, price, promotions, distribution, seasonality, competitor activity, sometimes weather — and fits a model that apportions the variation in sales among those drivers. The output is a contribution per channel, a return on spend, and response curves that say what would happen if you spent more or less. It is the only method that covers every channel at once, including the ones no tracking pixel can follow.
That coverage is why it has come back. User-level attribution depended on following individuals across sites and apps, and third-party cookie deprecation, mobile tracking restrictions and privacy regulation have made that progressively less possible. MMM never needed it: the unit of observation is a week and a market, not a person, so nothing about it breaks when identifiers disappear. It also handles television, radio, out-of-home and sponsorship, which user-level attribution could never see at all.
Two transformations do most of the modelling work and are what separate MMM from an ordinary regression. Adstock captures the fact that advertising does not act only in the week it runs — some of the effect carries forward and decays. Diminishing returns captures the fact that the tenth million pounds does less than the first, so the relationship between spend and response is a curve rather than a line. Fitting spend linearly and contemporaneously, which is what a naive regression does, gets both wrong and produces channel returns that flatter whatever was spent most recently.
The weaknesses are structural and worth stating plainly. Identification comes from historical variation, so a channel whose spend never changed much has no signal to learn from, and channels that always move together — the classic January-sale-everything-at-once problem — cannot be separated, which is multicollinearity. Sample sizes are small: two years of weekly data is 104 observations to estimate a dozen effects. And the causal claim rests on having included everything that mattered; a confounding variable omitted from the model is absorbed into the coefficients of whatever correlates with it.
Which is why the strongest arrangement is not MMM alone. Run geo experiments periodically, and use their results to calibrate the model — as priors in a Bayesian specification, or as a validation target — so at least some of the estimates are anchored on something that was genuinely randomised. That combination gives you the model's coverage and the experiment's credibility, and it is the direction the good open-source implementations have moved in. Our practical guides are how MMM can improve your ROI and choosing an MMM tool.
The model is a regression with two non-linear transformations applied to each media variable before it enters. Those transformations are where the domain knowledge lives.
Sales_t = β₀ + Σ_c β_c · f( adstock( spend_{c,t} ) ) + γ·controls_t + ε_tOne term per channel, each passed through carry-over and saturation, plus price, seasonality, promotions and distribution as controls.
A_t = spend_t + λ·A_{t−1}, 0 ≤ λ < 1λ is the weekly carry-over. Around 0.3 for search, 0.6-0.8 for television — estimated rather than assumed where the data allow.
f(x) = x^α / ( x^α + κ^α )κ is the half-saturation point, α the steepness. This curve is what makes a budget optimisation meaningful rather than a licence to spend infinitely.
contribution_c = β_c · f(adstock(spend_c)), ROAS_c = contribution_c / spend_cReport the credible interval alongside. MMM point estimates are far less precise than their decimal places imply — see the correlation calculator for the collinearity problem underneath.
A retailer fits an MMM on 156 weeks of data across six channels. Television shows a return of 3.1 and paid social 2.4, so the team proposes moving £2m from social to television. Before acting, they check the credible intervals and the historical variation in each channel.
The two intervals overlap heavily. Television's is wide but informative because spend varied; social's is narrow for a misleading reason.
The intervals say the ranking is not established: television could be 1.4 and social 2.9. But the more instructive numbers are the coefficients of variation. Television was flighted on and off, which is exactly the variation a model needs to identify an effect — hence a wide but genuine interval. Social ran at a near-constant level all 156 weeks, so the model has almost no variation to learn from, and its narrow interval reflects a tightly-fitted coefficient with very little independent information behind it. The geo test is what settles it, and it agrees with the model on social, which is real reassurance. The right conclusion is to keep the budget where it is, deliberately vary social spend over the next two quarters so the next model can see it, and run a television geo test before moving £2m on a ranking the data cannot yet support.

How to plan your marketing spend while measuring the true effect of any marketing activity on your bottom line? The answer lies in Marketing Mix Modeling (MMM).


Robyn, Meridian, Orbit, or custom-made MMM? In this blog post, we compare leading free, paid or custom MMM tools, to help you decide which best fits your needs.


Three key trends shaping the future of MMM: the emphasis on causality, the adoption of Bayesian methods, and the push towards real-time analysis.

A model is only as good as the variation it was fitted on and the assumptions nobody wrote down. Building one that survives contact with a budget meeting is Marketing Mix Modeling