Understand

Marketing mix modeling, explained and calibrated

Marketing mix modeling (MMM) explained: what a media mix model measures, how adstock, saturation and priors work, and how to calibrate it with experiments.

Hajime Takeda · Updated September 28, 2026

What marketing mix modeling is (and what MMM does not measure)

Marketing mix modeling is a statistical method that explains a business outcome, usually revenue or orders, as the sum of a baseline and the contribution of each marketing channel over time. It works on aggregate data: weekly spend by channel, weekly sales, and the other things that move sales, such as price, promotions, seasonality and competitors. It needs no user-level tracking, which is why it survived the loss of third-party cookies, and why it can see television, radio, out-of-home and print alongside paid search and paid social.

The same method goes by several names. Marketing mix modelling is the British spelling. Media mix modeling, or media mix modelling, puts the emphasis on the media mix, the media spend within the broader marketing mix, which in practice is most of what the model explains. Market mix modeling and market mix modelling refer to the same approach. The abbreviation MMM covers all of them, and a marketing mix model, or MMM model, is what the method produces: one fitted model, for one brand, on one period.

What an MMM answers is a budget allocation question: what did each channel contribute to sales over the period, and what would the next euro on each channel earn? What it does not measure matters as much. It does not measure individual customers, so it cannot say which ad a given person saw. It does not measure creative quality, except through the aggregate effect of the weeks a creative ran. It does not prove causation: a well-fitted model can still credit the wrong channel when two channels always move together, which is why the section on calibration exists. And beyond the spend range it has seen, its curves are extrapolations.

Why MMM is back: signal loss, privacy, offline media

Marketing mix models predate digital advertising: they were the packaged-goods industry’s way of measuring television and promotions from aggregate sales. Digital attribution promised something better: follow each user from impression to purchase and credit the touchpoints along the way. Privacy rules and signal loss have made click tracking less reliable as a way to measure advertising. Consent banners, the end of third-party cookies, app tracking restrictions and browser changes removed a growing share of the user-level data that multi-touch attribution depends on, and what remains is skewed towards the users who accept tracking.

Two other reasons weigh as much. Attribution never saw offline media: a television campaign shows up in the platform dashboards as an unexplained rise in branded search, which the dashboard credits to search. And platform-reported ROAS has a structural bias: each platform measures on its own, they often count the same sales, and a saturated channel keeps reporting a healthy average return long after the next euro stopped earning it.

So brands and agencies are returning to modelled measurement, media mix models and experiments, with a method that finance can audit when marketing has to defend its marketing ROI. MMM marketing measurement is the part of that toolkit that reads the whole media mix at once, online and offline: MMM modeling estimates what each channel contributed, experiments calibrate those estimates, and the result is a budget decision.

How a media mix model works: adstock, saturation, response curves

The model decomposes the outcome into additive parts:

sales(t) = baseline
         + Σ over channels of  β × saturation( adstock( spend(t) ) )
         + seasonality(t) + trend(t) + controls(t) + noise

Three pieces do the work, and each has its own method sheet.

Adstock carries a week’s spend forward, because advertising keeps working after it runs. The usual form is geometric adstock: each week, a fixed share of last week’s effect remains. Search decays in days, television over weeks. A model with no carryover hands television’s delayed sales to whatever ran later, usually search and retargeting.

Saturation bends the effect, because the second million does less than the first: the audience is finite, frequency piles up, the cheapest inventory goes first. The usual form is the Hill function, a curve with a half-saturation point and a shape. It is applied to the adstocked spend, so what saturates is the accumulated effect, not one week’s outlay.

The coefficient β scales the transformed spend into revenue. For each posterior draw, the channel’s contribution is β × saturation(adstock(spend)), and that contribution divided by the spend of the period is the channel’s incremental return.

Put together, the three give each channel a response curve: revenue as a function of spend, steep at first and flattening as the channel is used up. Two numbers live on that curve and answer different questions. The average return, revenue divided by spend, is what a dashboard calls ROAS: it describes the past. The marginal return, the slope of the curve at the current spend, is the model’s estimate of what the next euro will earn. On any saturating curve the marginal return is below the average, and the further past the knee, the further below. Marginal incremental ROAS is the number that ranks channels for the next euro, and the number a plan moves budget on.

The rest of the model is the baseline and the controls: seasonality, trend, price, promotions, distribution, competitor activity, macro variables. They matter because they are what the channels are compared against. A model that omits the promotion calendar can credit the promotions to whichever channel ran that week.

Bayesian MMM: priors, posteriors and why the range matters

A model is Bayesian when every parameter starts with a prior, a stated belief about its plausible range, and the data updates that belief into a posterior. The output is not a point estimate per channel but a posterior distribution, from which a central estimate and a band are read.

A well-built model uses three tiers of priors. Structural parameters such as adstock decay get strong priors, because media physics is well known: a team expecting a two-week half-life for television can say so and let the data adjust it. Saturation gets moderate priors, tied to the channel’s typical spend. The channel coefficients get weak priors, so the data can speak, constrained to be positive. A useful default is to scale the coefficient prior by the channel’s share of the historical budget: the business’s own allocation encodes what it already believes.

Priors are also what makes MMM usable on the data brands actually have. Two or three years of weekly data is a hundred to a hundred and fifty points, shared between the channels and the controls. Flat priors on that little data produce implausible returns and sampling trouble. Priors that are too tight do the opposite: the posterior is the prior and the data never mattered. Prior sensitivity, refitting with alternative plausible priors, shows how much the conclusions depend on them and tells the two apart. Priors your team can audit are the difference between a model and a black box.

Fitting is done by Markov chain Monte Carlo sampling. The result is a set of posterior draws for every parameter, and everything downstream, response curves, contributions, scenario projections, is computed on those draws. That is where the band on a plan comes from, and why the range matters more than the point. A projected lift whose band crosses zero is not distinguishable from flat, and a plan should say so rather than report the midpoint. A channel whose marginal return is plausible anywhere between a loss and a strong gain is not a decision; it is a measurement to run first.

The Bayesian MMM method sheet has the priors, the sampling and the pitfalls in more detail.

Calibrating MMM with incrementality experiments

An MMM is an observational estimate. It can predict sales well and still credit the wrong channel, because channels move together: everyone spends more in the fourth quarter, and television creates the branded searches that an additive model hands to search. R² and out-of-sample error are necessary, not sufficient. The test of attribution is a lift test.

An incrementality experiment changes advertising for some units and not for others, then measures the difference in the outcome. The unit that works without user-level data is geography: a geo-lift experiment pauses or boosts a channel in some regions, builds a synthetic control from the untreated ones, and reads the gap. It produces the one kind of number that needs no caveat: measured.

Calibration is the loop between the two. The experiment’s incremental return becomes a prior on that channel’s coefficient in the next fit, so the model’s curve is anchored at the tested spend level, and the shape of the rest of the curve still comes from the model. When the model’s incremental return and the experiment’s measured incremental return differ by more than a third, the model has an identification problem on that channel and the plan should say so. Model, test, recalibrate: that loop is the difference between a model that was built once and one that keeps earning its place.

Which channel to test first is a question the model answers. The channel whose marginal band is too wide to act on, or whose spend never varied enough to identify (a coefficient of variation under 0.1 in weekly spend means the model returned its prior), is the first candidate for a geo holdout. Chapter 6.4 of Marketing Science in Python works through the calibration step by step.

What data an MMM needs, and how much history

The minimum is weekly data, by channel, over a long enough period. Spend, and ideally impressions or reach, for every paid channel, including the offline ones. The outcome, revenue or orders, from the warehouse, the e-commerce platform or web analytics rather than from a platform’s attributed figure. And the controls that also move the outcome: price, promotions, distribution, seasonality, competitor activity and the calendar of things that happened. Organic and owned channels, email, organic search, are usually treated as controls rather than media, and the model card says which. Marketing mix modeling for retail brands adds distribution, store openings and the promotional calendar to the controls.

How much history: typically two to three years. Fewer than two years leaves too few points to separate the channels from seasonality, and experiments should come first. Letting coefficients drift over time needs five years or more and a documented regime change; otherwise fixed coefficients with honest bands are more reliable. Daily data needs daily physics: a decay rate quoted weekly becomes λ to the power of one seventh.

Variation matters as much as length. A channel spent at the same level every week is not identifiable from the data, however long the history: the model will return its prior. Channels correlated above 0.95 cannot be told apart either. MMM is also the wrong tool with a single dominant channel or for a brand-new product. In each of those cases experiments come first and the model later, and a plan that starts on benchmarks should say which figures are borrowed: the audited benchmark registry exists for that gap.

In MMM modelling, a large part of the work of the marketing scientist, or MMM data scientist, goes into the preparation: reconciling platform exports with the warehouse, aligning weeks, documenting the promotions and price changes nobody logged, and deciding what counts as a channel. It is unglamorous, and it decides the model.

MMM vs multi-touch attribution vs incrementality

The three methods answer different questions, and the analysis a measurement plan needs usually takes more than one.

Multi-touch attribution, MTA, works at the user level: it follows individuals across touchpoints and shares the credit for each conversion between them by a rule. It is fast, granular and available every day, and it is the usual tool for optimising inside a channel: which keyword, which audience, which creative. Its limits are structural. It only sees what it can track, which excludes offline media and a growing share of users. It counts correlation along a path, not causation. And its rules, linear, time-decay, data-driven, share credit among the touchpoints that were observed, never with the ones that were not.

Marketing mix modeling works at the aggregate level, weekly and by channel. It sees offline and online, needs no tracking, and answers the budget question across the whole mix. Its limits are the ones above: it is observational, it needs history and variation, and its resolution stops at the channel and the week.

Incrementality testing measures causation directly, for one channel, at one spend level, over one period. It is the only method that measures what a channel causes, under the conditions of the test. Its limits are cost and scope: a test answers one question at a time, needs a clean intervention, and its result is a point on the curve, not the curve.

The practical arrangement is a hierarchy. Experiments calibrate the model, the model allocates the budget across channels, and attribution optimises inside each channel, with its figures read as attributed, not incremental. Is MMM better than attribution? For a budget split across channels, yes. For choosing between two creatives on a Tuesday, no. The incrementality pillar covers the experiments, and the comparison of MMM, attribution and incrementality puts the three side by side.

What you own at the end: model, curves, plan

An MMM project that ends with a slide deck has produced a number, not an asset. What a brand should own at the end of a fit is the model itself, as artefacts it can inspect and reuse: the model card, with the data window, the channels, the controls and the transformations; the priors, and where each one came from; the fitted parameters per channel, decay, half-saturation point, shape, coefficient, with their posteriors; the response curves, in revenue, with their bands; the fit diagnostics, in-sample, out-of-sample and prior sensitivity; and the calibration record, which experiments anchored which channels.

Curves are what turn the model into a plan. A scenario is a set of spend levels, one per channel. Its projected revenue is the baseline plus the sum of the curves evaluated there, computed on every posterior draw, so it carries a band. Marketing mix optimization is the comparison of allocations on that basis, on marginal returns and with their bands: a growth scenario that adds budget everywhere and an efficiency scenario that cuts the saturated channels, read side by side with their projected return and the trade-off each one makes.

The plan is the decision, with its assumptions written down: which figures are measured, which are projected from the model, which are benchmarks, and which tests would replace a projected figure with a measured one. That plan, the models and the evidence should remain yours, whoever built them. The planner’s own model is built with PyMC-Marketing, an open-source library: why PyMC-Marketing rather than Meridian says what that choice changes.

How the Kuwalyst Media Planner runs an MMM

The Media Planner fits a Bayesian MMM on the brand’s warehouse: weekly spend by channel, revenue, orders and the funnel, typically two to three years of it, with geometric adstock, Hill saturation and priors the team can audit. The model card, the priors, the response curves and the fit diagnostics are stored as artefacts the team can inspect. Models your team or a partner already built can be loaded as artefacts too; the planner does not insist on its own.

Allocation never uses average ROAS. The Plan view reads each channel’s marginal incremental ROAS off its response curve at the committed spend, so budget moves from channels that have saturated to channels with room, and every scenario carries its band. The Operate view monitors the plan against its goals, and the Tune view proposes reallocations sized on the slopes: how much can move before the receiving channel reaches its own knee. When a channel’s band is too wide to decide on, the recommendation is a measurement instead: the geo holdout that would narrow it, with the regions, the duration and the expected tightening of the interval. The readout lands in the same workspace and feeds the next fit.

Every figure on every screen and in every export carries its tag: measured, projected or benchmark. A brand with no history yet starts on the audited benchmark registry, and the plan lists the benchmarks it depends on, ranked by how much the projection would move if they were wrong; the tags change as evidence replaces them. Agencies license the planner for their clients under their own brand: see white-label marketing science for agencies. Brands can run it themselves or have the Kuwalyst team operate it: see marketing measurement for brands. The model runs on EU-hosted infrastructure, and where your data goes, and where it stays is written down. If you are still at the stage of writing the plan itself, start with the media planning guide and its template.

See how the planner runs an MMM

The Media Planner fits the model on your history, stores the model card and the response curves as artefacts you can inspect, and moves budget on marginal returns, with the band around every projection.

Explore the media planning software

FAQ

How does marketing mix modeling work?

It explains weekly sales as a baseline plus the contribution of each channel, after two transformations of spend: adstock, for carryover, and saturation, for diminishing returns. The model is fitted on two to three years of weekly data, with controls for price, promotions and seasonality. The output is a response curve per channel, whose slope estimates the return of the next euro.

What is the difference between marketing mix modeling and media mix modeling?

The terms overlap. Marketing mix modeling describes the broader marketing mix, media mix modeling puts the emphasis on media spend, and in practice a media model includes price, promotions and distribution as controls. MMM covers both.

How much data does a marketing mix model need?

Weekly spend by channel, the outcome and the controls, over two to three years: about a hundred to a hundred and fifty weeks. With fewer than two years, experiments should come first, and a channel whose spend never varied cannot be identified from any length of history. Brands without history start on audited benchmarks and experiments, and fit the model when the data exists.

How do you calibrate an MMM with experiments?

Run an incrementality test, usually a geo-lift holdout, on the channel where the model is least sure. Use the measured incremental return as a prior on that channel's coefficient in the next fit, so the curve is anchored at the tested spend level. If the model and the test differ by more than a third, the model has an identification problem on that channel and the plan should say so.

Is MMM better than attribution?

For a budget decision across channels, including offline ones, yes: attribution only sees the touchpoints it can track and shares credit by a rule rather than measuring causation. For optimising inside a channel, which keyword, which audience, which creative, attribution is faster and more granular. The two fit together, with experiments to calibrate the model.