← Resources

Method

Bayesian media mix modelling

A media mix model estimates how much each channel contributes to sales while accounting for carryover and saturation. A Bayesian approach makes prior assumptions explicit and returns a range of plausible outcomes rather than a single point estimate.

8 min read · Updated September 7, 2026

Lift test 1.9×PriorPosteriorIncremental return on ad spend for one channelPlausibility
One channel's incremental return. The prior is what the team believed before the fit; the posterior is what the data made of it; the lift test is the measured value the model is calibrated against. The posterior is a range, and the plan carries the range.

What it is

A media mix model, or MMM, is a statistical model 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, plus the things that also move sales, such as price, promotions, seasonality and competitors. It does not need user-level tracking, which is why it survived the end of third-party cookies.

The 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 a distribution for each channel’s effect.

Why it matters for a media plan

Platform dashboards report what they can see. Attribution overlaps across channels, and a saturated channel keeps reporting a healthy average return long after the next euro stopped earning it. A media mix model looks at the same weeks from the outside and asks a different question: when spend on this channel went up, what happened to sales that the other channels and the calendar do not already explain?

That question is the one a budget decision needs. The model’s answer is a response curve per channel, and the curve is what turns “this channel has a 4× ROAS” into “the next €10,000 on this channel earns 0.9×, and on that one 3.1×”.

How it works

Every MMM 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.

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.

Saturation bends the effect, because the second million does less than the first. The usual form is the Hill function: a curve with a half-saturation point and a shape.

The coefficient β scales the transformed spend into revenue. Its posterior, divided by spend, is the channel’s incremental return.

The Bayesian part is the priors. A well-built model uses three tiers of them. Structural parameters such as adstock decay get strong priors, because media physics is well known: search decays in days, television over weeks. 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 for the coefficients is to scale their prior by the channel’s share of the historical budget: the business’s own allocation encodes what it already believes.

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 bands on a Kuwalyst plan come from.

How Kuwalyst uses it

The Media Planner runs data-backed plans on a Bayesian MMM fitted to the brand’s warehouse: weekly spend by channel, revenue, orders and the funnel, typically two to three years of it. The model card, the priors, the response curves and the fit diagnostics are stored as artefacts the team can inspect.

Allocation never uses average ROAS. It uses the marginal incremental ROAS read off each channel’s response curve at its current spend, so budget moves from channels that have saturated to channels with room. Scenario projections carry the posterior band, and the plan says when the band crosses zero: a projected lift that is not distinguishable from flat is reported as such.

When a channel’s band is too wide to decide on, the planner proposes the experiment that would narrow it, usually a geo-lift test. The measured result becomes a prior in the next fit. That loop, model, test, recalibrate, is the difference between a model that was built once and one that keeps earning its place.

Models your team or a partner already built can be loaded as artefacts too. The planner does not insist on its own.

Pitfalls

Good fit is not correct attribution: a model can predict sales well and still credit the wrong channel, because channels move together: everyone spends more in the fourth quarter. R² and out-of-sample error are necessary, not sufficient. The test of attribution is a lift test.

The branded search trap: television creates branded searches; an additive model credits the sale to search. Upper-funnel channels get under-credited and lower-funnel ones over-credited. The remedies range from reallocating with external evidence to modelling branded search as a mediator, and the plan should say which was used.

Flat priors, wild posteriors: with short data, uninformative priors 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 priors moved by a reasonable amount, is the check.

No variation, no answer: a channel whose weekly spend has a coefficient of variation under 0.1 is not identifiable from the data. The model will return its prior. Say so, and test it instead.

Time-varying effects on short data: letting coefficients drift over time needs five years or more and a documented regime change. Otherwise fixed coefficients with honest bands are more reliable.

When not to use it

A media mix model is the wrong tool with a single dominant channel, with fewer than two years of history, with channels correlated above 0.95, or for a brand-new product. In each of those cases, experiments come first and the model later.

See it in the product

A committed scenario in the Media Planner: projected ROAS with its band, and a rationale that names each channel's marginal return from the model.
A committed scenario in the Media Planner: projected ROAS with its band, and a rationale that names each channel's marginal return from the model.

FAQ

How much data does a media mix model need?

As a rule, two years of weekly data, at least three channels, and spend that actually varies. A channel whose spend barely moves week to week cannot be told apart from the baseline, whatever the model. With less than two years the model cannot separate seasonality from media, and experiments are the better tool until the history builds up.

Why Bayesian rather than a regression?

Two reasons. Media data is short and correlated, so a plain regression is unstable and returns implausible values with false confidence. Priors keep the estimates in the range the business knows to be possible, and the posterior gives a band rather than a point, so the plan can say how sure it is. Second, experiments plug in as priors, which is how a model gets calibrated.

Can the model tell me what to spend next quarter?

It can tell you what the next euro is worth on each channel today, with a band. That is the input to a plan. The plan also carries constraints, guardrails and the experiments that will tighten the bands. A model that has never been calibrated against a lift test should be read as a hypothesis.