
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).

Adstock is the modelled carry-over of advertising: the assumption that a campaign keeps working after it stops, with its influence decaying week by week. It converts a spend series into an accumulated-exposure series before that enters a model.
λAdvertising does not deposit its whole effect in the week it airs. Somebody sees a television spot on Tuesday and buys three weeks later; somebody else remembers the brand two months on. A model that regresses this week's sales on this week's spend assumes all of that away, and it will systematically understate every channel with a long tail — which is to say every brand-building channel. Adstock is the standard repair: transform the spend series into a series of accumulated, decaying exposure, and use that as the model's input.
The usual form is geometric. This week's adstock is this week's spend plus a fraction λ of last week's adstock, so the effect of a single burst decays by a constant proportion each period. λ near zero means the channel acts almost entirely on impact; λ near one means it lingers for months. Typical estimates run around 0.1-0.3 for paid search, where intent is immediate, and 0.5-0.8 for television, where the effect accumulates and persists — but these are starting points, not constants, and they differ by category, creative and audience.
It matters because getting λ wrong redistributes credit between channels. Set television's decay too low and its measured contribution collapses, because most of what it did falls outside the window the model is looking at, and whatever channel happens to run later — usually search — absorbs the credit. Set it too high and television appears to be responsible for sales it had nothing to do with. Since search often runs continuously while television is flighted, this single parameter can reverse the apparent ranking of the two largest lines in a media plan.
Two refinements matter in practice. Advertising rarely peaks in the same week it runs — there is a lag before the effect builds, particularly for anything requiring consideration — so a delayed adstock that peaks at week one or two often fits better than pure geometric decay. And a Weibull specification allows the decay shape itself to vary rather than fixing it as constant-proportional, which suits campaigns whose effect builds and then falls away rather than decaying monotonically from the start.
Ideally λ is estimated rather than assumed, and in a Bayesian marketing mix model it is given an informative prior and inferred alongside everything else. In practice it is often weakly identified, because separating carry-over from diminishing returns and from ordinary seasonality demands more variation than most spend histories contain. When it cannot be identified, say so and run sensitivity analysis across a plausible range — a conclusion that holds only at λ = 0.7 is a conclusion about the assumption, not about the channel.
One recursion and its consequences. Everything about how long a campaign keeps working follows from λ.
A_t = x_t + λ · A_{t−1}, 0 ≤ λ < 1x_t is spend or impressions in period t. The recursion is what turns a burst into a decaying tail.
half-life = ln(0.5) / ln(λ) periodsλ = 0.5 gives a one-week half-life; λ = 0.8 gives about three weeks; λ = 0.9 about seven. The intuitive way to sanity-check a fitted value.
Σ λ^k = 1 / (1 − λ)λ = 0.8 means a burst eventually delivers five times its immediate exposure. Normalise by this factor if you want adstock on the same scale as spend.
A_t = Σ_k w_k · x_{t−k}, w_k = λ^{(k − θ)²}θ is the peak lag. Fits channels whose effect builds for a week or two before decaying, which is most brand advertising.
A brand runs a single £500,000 television burst in week 10 and nothing before or after. An analyst compares what a model sees under three assumptions about decay, holding everything else fixed.
At λ = 0, the model can only credit week 10, and the lift in weeks 11-14 is attributed to whatever else was running. At λ = 0.8 it credits the burst across all five weeks.
The sales data are identical in all three cases; only the assumption differs, and it changes which channel gets paid. With λ = 0 the model sees television active for one week and sales elevated for five, so four weeks of lift get absorbed by search and by the intercept — search was running continuously, so it will happily take the credit, and the resulting plan shifts budget from television to search on the strength of an assumption rather than an observation. The honest procedure is to let the model estimate λ from a history containing several flights, and where it cannot, to report the channel's return across a range of λ so the reader can see how much of the answer is the data and how much is the prior.

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).


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

Applying it to a live measurement problem is the part that goes wrong. If you are designing an experiment, reading a result you do not trust, or trying to work out what your marketing actually caused, that is the work we do.