Marketing Mix Modelling (MMM) is a statistical technique that quantifies the impact of marketing activities on business outcomes like revenue or conversions. Unlike attribution, which tracks individual user journeys, MMM works with aggregate data — weekly spend and weekly sales, for example — and uses regression to decompose what drove those sales.

Why MMM Matters Now More Than Ever

MMM was originally developed in the 1960s by consumer goods companies, fell out of fashion as digital attribution became dominant, and is now experiencing a major renaissance. Three forces are driving this:

  • Privacy changes — Cookie deprecation, iOS ATT, and GDPR are eroding the user-level data that digital attribution depends on. MMM uses aggregate data that's privacy-safe by design.
  • Open-source tools — Libraries like Meta's Robyn, Google's Meridian, and PyMC-Marketing have made MMM accessible to any team with Python or R skills. You no longer need a consultancy to build one.
  • Cross-channel measurement — As brands invest across TV, digital, OOH, sponsorships, and more, they need a single framework that measures everything on the same scale. MMM is the only approach that naturally handles this.

The Core Framework

At its heart, MMM is a regression model. The target variable is your KPI (typically revenue, conversions, or orders) measured over time (usually weekly). The independent variables are the factors that might influence that KPI:

  • Marketing variables — Spend or impressions for each channel (TV, paid search, social, display, email, etc.)
  • Base and trend — The underlying demand that exists without any marketing (intercept + trend)
  • Seasonality — Predictable patterns like Christmas peaks, summer dips, or day-of-week effects
  • External factors — Competitor activity, macroeconomic indicators, weather, COVID effects, etc.
  • Promotions and pricing — Discounts, offers, or price changes that affect demand

The model estimates coefficients for each variable, telling you how much a unit change in each factor drives the KPI. The marketing coefficients are what give you channel-level ROI estimates.

Key Concepts That Make MMM Work

Adstock (Carryover Effects)

Marketing doesn't just work in the week it's deployed. A TV ad you see on Monday might influence a purchase on Friday. Paid social impression today could lead to a search next week. This lagged effect is called adstock or carryover.

Adstock is modelled by transforming the raw media variable with a decay function. The most common approach is geometric decay:

Adstocked_spend(t) = spend(t) + decay_rate × Adstocked_spend(t-1)

Where decay_rate is a parameter between 0 and 1 that controls how quickly the effect fades. A decay rate of 0.8 means 80% of the effect carries over to the next period. TV typically has a high decay rate (long-lasting effects), while paid search has a low one (immediate effects).

More sophisticated approaches use Weibull or delayed adstock functions that can model a delayed peak — the effect builds over the first few periods before decaying, which better captures channels like TV and OOH.

Saturation (Diminishing Returns)

Doubling your spend on a channel doesn't double the impact. The first million pounds of TV spend has a much bigger effect than the fifth million. This diminishing returns relationship is captured by a saturation function (also called a response curve or Hill function).

The most common saturation functions:

  • Hill function: A flexible S-shaped curve with parameters for the half-saturation point (K) and the steepness (S). f(x) = x^S / (K^S + x^S)
  • Logistic function: Produces a sigmoid curve that plateaus at high spend levels
  • Power function: f(x) = x^alpha where alpha < 1 gives concave (diminishing) returns

The saturation curve is one of the most operationally useful outputs of an MMM. It tells you exactly where each channel sits on its diminishing returns curve, revealing which channels have headroom for more investment and which are oversaturated.

Bayesian Estimation

Traditional MMM was estimated using ordinary least squares (OLS) regression. Modern MMM uses Bayesian estimation, which offers several critical advantages:

  • Prior information — You can encode domain knowledge directly into the model. If you know from a lift test that TV ROI is around 2-4x, you can set a prior distribution that reflects this, preventing the model from producing implausible estimates.
  • Uncertainty quantification — Instead of a single point estimate ("TV ROI is 3.2x"), you get a full probability distribution ("TV ROI is most likely between 2.4x and 4.1x, with 95% probability"). This is crucial for decision-making under uncertainty.
  • Regularisation — Priors act as natural regularisers, preventing overfitting. This is especially important when you have many channels and limited data (which is almost always the case in MMM).
  • Small sample handling — MMM typically works with 2-3 years of weekly data (100-150 observations). Bayesian methods handle small samples much better than frequentist approaches by leveraging prior information.
  • Hierarchical models — If you operate across multiple markets or brands, Bayesian hierarchical models can pool information across them, improving estimates for markets with limited data.

The standard Bayesian MMM framework uses Markov Chain Monte Carlo (MCMC) sampling to estimate the posterior distribution of all parameters. Libraries like PyMC make this straightforward to implement.

From Model to Decisions

Channel Decomposition

The first output of an MMM is the channel decomposition — a breakdown of how much of your total KPI was driven by each factor. A typical decomposition might show:

  • 60% from base demand (brand equity, organic growth, distribution)
  • 15% from seasonality and external factors
  • 8% from TV
  • 6% from paid search
  • 4% from social
  • 3% from display
  • 2% from email
  • 2% from promotions

This immediately answers "how much is marketing contributing?" and "which channels are pulling their weight?"

ROI and ROAS

From the channel contributions and spend data, you can calculate Return on Ad Spend (ROAS) for each channel: incremental revenue attributed to the channel divided by the cost. This is what most stakeholders care about.

Because Bayesian MMM gives you distributions rather than point estimates, you also get credible intervals on ROI — telling stakeholders not just "TV ROI is 3.2x" but "we're 90% confident TV ROI is between 2.1x and 4.5x".

Budget Optimisation

The saturation curves from the model enable budget optimisation — finding the allocation of a given total budget that maximises total ROI. This is typically formulated as a constrained optimisation problem:

  1. Given a total budget (e.g. £5M per quarter)
  2. Subject to channel-level constraints (e.g. minimum TV spend, maximum social spend)
  3. Find the allocation across channels that maximises predicted revenue

Because each channel has a different saturation curve, the optimal allocation shifts budget away from oversaturated channels toward channels with more headroom. The result is often a reallocation of 10-30% of spend, yielding 5-15% more revenue from the same total budget.

Scenario Planning

Beyond optimisation, the model enables scenario planning — answering "what if" questions:

  • What happens if we cut TV spend by 20%?
  • What's the revenue impact of increasing social spend by £500K?
  • If our total budget is cut by 10%, where should the cuts come from?
  • What budget do we need to hit a revenue target of £50M next quarter?

Model Validation

An MMM is only useful if it's accurate. Rigorous validation is essential:

  • Out-of-sample prediction — Hold out the most recent 10-15% of data and check how well the model predicts it. This is the minimum bar for any model.
  • Lift test calibration — Compare MMM-estimated channel ROI against lift test results. If the MMM says paid social ROI is 3x but a lift test shows 1.5x, the model needs recalibration.
  • Posterior predictive checks — In Bayesian MMM, simulate data from the fitted model and check that it resembles the actual data in terms of distributional properties.
  • Business sense checks — Do the ROI estimates pass the smell test? If the model says email marketing has a 50x ROI, something is likely wrong.
  • Sensitivity analysis — How much do the results change if you adjust the priors or remove a variable? Robust results should be relatively stable.

Building MMM In-House

The open-source ecosystem has made it entirely feasible to build and operate MMM in-house. Here's what you need:

  • Data — 2-3 years of weekly data on KPIs, marketing spend by channel, and key external factors
  • Tools — Python with PyMC, or R with Robyn. Both are open source and well-documented.
  • Skills — Someone comfortable with statistics and programming. You don't need a PhD, but you do need to understand regression, Bayesian thinking, and time series.
  • Process — A quarterly refresh cycle where you update the data, refit the model, validate results, and present to stakeholders.

The advantage of in-house MMM is full transparency, rapid iteration, and no vendor dependency. You can inspect every parameter, customise the model to your business, and update it whenever you need to — not whenever a consultancy can schedule you in.

Want to build MMM capability in-house?

We help brands build, operate, and scale Bayesian MMM programmes with full knowledge transfer. Your team owns everything we build.

Book a Discovery Call