Media mix modeling is a statistical method that estimates how much each paid media channel (TV, search, social, video, audio, outdoor) contributed to sales, using aggregate weekly or daily spend and sales data rather than tracking individual users. It’s the same technique as marketing mix modeling, shares the MMM abbreviation, and usually differs only in scope: a media mix model is built to split a media budget, while a marketing mix model also tries to measure price, promotions, distribution and product. In practice the two terms are used interchangeably, and which one someone uses mostly tells you where they learned it.
That would be a purely academic distinction if it didn’t change the numbers. However, a model that only looks at media can’t see the other things that move sales at the same time, and in my experience the most common way that goes wrong is with promotions: the team buys more media to support a sale, sales go up, and the model gives media the credit for the discount. I’ve built models for retailers, subscription businesses and apps, and the first question I ask about any “media-only” result is what else was happening in the weeks media was high. I’ll explain where each term comes from, then you can break a media-only model yourself in the simulator below.
What media mix modeling measures
The “media mix” is the combination of channels in a media plan and the budget split between them, such as 40 percent search, 30 percent social, 20 percent TV and 10 percent audio. A media mix model takes a history of that plan, week by week, alongside sales, and estimates the incremental sales each channel produced. Like any MMM, it transforms spend with adstock so that advertising can keep working after the week it ran, and with a saturation curve so that each extra dollar buys a little less than the last. It then runs a regression and decomposes sales into a baseline and a contribution per channel.
The outputs are the ones media planners care about: a return on investment (or cost per acquisition) per channel, response curves showing where each channel saturates, and budget allocation scenarios that move money towards the channels with the highest marginal ROAS. That’s why the term “MMM analysis” so often comes up in media agency and performance marketing conversations: the people commissioning the work are the people who own the media budget, and they want to know how to split it.
Media mix modeling vs marketing mix modeling
The method is identical. The difference is which variables go into the regression and which questions the model is expected to answer.
| Media mix modeling | Marketing mix modeling | |
|---|---|---|
| Variables of interest | Paid media channels | Media plus price, promotions, distribution, product, sometimes sales force and CRM |
| Typical owner | Media, performance or growth team; media agency | Marketing effectiveness, insight or finance team; econometrics consultancy |
| Main question | How should we split the media budget? | What drives sales, and what’s each lever worth? |
| Controls | Seasonality and holidays at least; often too few | Treated as levers to measure, not just controls |
| Where the term is common | Digital marketing, ad platforms, Google’s research papers | Consumer goods, retail, UK econometrics, most open-source tools |
The naming is genuinely mixed, even inside the same company. Google’s three influential 2017 papers, by Jin et al., Chan and Perry and Sun et al., all say “media mix modeling”, yet Google’s own LightweightMMM described itself as “Lightweight (Bayesian) Marketing Mix Modeling”, and Meridian’s documentation uses marketing mix modeling too. Meta’s Robyn calls itself a marketing mix modeling package, while the GitHub description of PyMC-Marketing lists “Media Mix (MMM)”. The older tradition, especially in the UK and in packaged goods, just calls the whole discipline econometrics (see marketing econometrics), and its history goes back to Neil Borden’s “marketing mix”, which was about every lever a marketer pulls rather than media alone (the history of marketing mix modeling covers that).
So my advice is not to read too much into the label, and to ask instead what’s in the model. A “marketing mix model” with no price variable is a media mix model in practice, and a “media mix model” with a careful promotion calendar and price series is doing what a marketing mix model should. The thing that matters is whether everything that moves sales and also moves with media has been accounted for.
When a media-only model goes wrong
A regression can only give credit to the variables you show it. If something that drives sales is left out, and that thing tends to happen when media spend is high, the model will assign its effect to media, because media is the only candidate that moved at the right time. Statisticians call this omitted variable bias, and in a simple linear model you can write down its size exactly. If true sales are , where is media and is the promotion you left out, then the media-only estimate converges to:
The bias is the promotion’s effect multiplied by how strongly media rises in promotion weeks. If promotions don’t affect sales () or media doesn’t change when they run (zero covariance), there’s no bias, just extra noise. However, in most businesses both are true, because marketing teams quite sensibly support their sales with extra media, and that is exactly the case where the media-only model flatters media. The same logic applies to price cuts, new store openings, product launches, competitor outages and seasonality, which is why Chan and Perry put omitted variables and spend that responds to demand near the top of their list of MMM problems.
Break a media-only model yourself
The simulator below builds two years of weekly data where promotions and price discounts drive sales, and where the team spends more on media during promotion weeks. You know the true media ROI because you set it. Each model is a plain regression with an intercept; the only difference between them is which controls they’re allowed to see.
With the defaults, the media-only model reports an ROI well above the true 1.5, and its R² is lower than the full model’s, but not low enough that anyone would be alarmed. Adding the promotion flag removes most of the bias, and adding discount depth tightens the estimate further. If you drag the media uplift to zero, the bias disappears even in the media-only model (the estimate gets noisier, with a much wider standard error, but it no longer leans upward), because promotions no longer move with media. That’s the practical test I use: list the things that drive sales, then ask which of them your media plan responds to. Those are the controls you can’t afford to leave out.
It’s worth keeping in mind that the simulation is the friendly case. In real data you don’t know the promotion’s true effect, the discount depth is often only available from a separate pricing system, and promotions frequently overlap with seasonal peaks, so the promotion and seasonality controls are themselves correlated with each other and with media (see multicollinearity in MMM). A model can also be biased in the other direction: if you add a variable that media causes, like branded search clicks or site visits, you can strip media of credit it deserves. Choosing controls is a causal question rather than a statistical one, which is the argument of causal inference for marketers.
Which variables a media mix model still needs
If your goal really is just to allocate a media budget, you can keep the model’s focus on media, but you can’t drop the drivers that move with it. This is the minimum set I’d ask for before trusting a media-only result:
- Promotions: A calendar of sale periods and promotion types, ideally with discount depth.
- Price: Average selling price or an index, especially if prices changed during the period (see price elasticity).
- Seasonality and holidays: Annual cycles and specific events, or a seasonality term flexible enough to capture them.
- Distribution and availability: Store counts, stock-outs, website outages, delivery restrictions.
- Launches and one-offs: New products, press coverage, competitor exits, anything that was big enough for someone to remember.
- Organic demand signals with care: Search trends or category demand can work as controls, but only if media can’t drive them.
The MMM data requirements guide goes into each of these. If you can’t get one of them, say so in the results, and treat the channels whose spend moved with that driver as the least reliable. Then, for the channel with the most budget riding on the answer, run an incrementality test, because an experiment doesn’t care which variables you forgot.
Choosing the term for your own work
If you’re writing a brief, a job description or a vendor request, I’d use “marketing mix modeling” because it’s what the major open-source tools and most vendors use, and it signals that the non-media drivers will be modeled. If you work in a media team and everyone around you says media mix modeling, there’s no need to fight it, as long as the model includes the controls above. Either way, the Vexpower MMM course teaches both under one roof, and the worked marketing mix modeling example shows how a promotion flag sits alongside the media channels in a real data handoff. The label is a matter of taste, but the omitted promotion is a matter of whether the media budget goes to the right place.
