Skip to content
flayv.

Build a Marketing Mix Model Without a Data Science Team

Marketing mix modelling returned because it needs no user-level tracking. Here is what it actually requires, what it can answer, and when you should not attempt one.

Faizal · · 5 min read

Marketing mix modelling is a technique from the era of television and print that became newly relevant for an unexpected reason: it never needed to know who anyone was. It works entirely on aggregate data, which makes it immune to exactly the privacy changes that broke user-level tracking.

It is also routinely oversold. This is what it takes, what it answers, and when you should not attempt one.

What is a marketing mix model?

A marketing mix model uses statistical regression on aggregate historical data to estimate how much each marketing input contributed to an outcome such as sales.

In plain terms: you assemble a table of weekly figures — sales, spend per channel, price, seasonality, anything else that plausibly matters — and fit a model that explains the variation in sales using the other columns. The coefficients are the estimated contributions.

What does it actually require?

Four things, and the third is where most attempts fail.

Enough history. Two to three years of weekly observations is the common working minimum. Fewer observations than variables is not a model; it is arithmetic that always fits.

Genuine variation in spend. This is the binding constraint, and it is under-appreciated. If a channel's budget has been broadly flat for two years, there is no variation for the regression to learn from, and the model cannot distinguish that channel's effect from the baseline. Models are informative in proportion to how much the inputs actually moved.

Non-marketing drivers. Price, promotions, distribution changes, competitor activity, weather in weather-sensitive categories, and seasonality. Omitting these is the single most common failure: whatever moved at the same time as spend gets credited to spend.

Someone with judgement. Not necessarily a data scientist. Someone who knows the business well enough to notice that a coefficient is implausible and to know what else was happening in the week the model finds surprising.

The data table

The whole exercise rests on one table. Columns, at minimum:

ColumnNotes
WeekConsistent week boundaries throughout
Sales or revenueThe outcome being explained
Spend per channelOne column per channel, consistently defined
Price indexAverage selling price or discount depth
Promotion flagWhether a promotion ran that week
SeasonalityWeek of year, holidays, category-specific peaks
DistributionStore count, market coverage, if relevant
Competitor activityEven a crude proxy beats omitting it

Assembling this honestly takes longer than fitting the model, and it is where the value is. Teams frequently discover during assembly that two systems disagree about what revenue was — which is a finding worth the effort on its own.

Two things every model must handle

These two adjustments are what separate a marketing mix model from an ordinary regression, and skipping them produces confidently wrong coefficients.

Adstock, or carryover. Advertising affects sales beyond the week it ran. Money spent in week one produces some effect in weeks two and three. A model that ignores this attributes a delayed effect to whatever ran later.

Diminishing returns, or saturation. The tenth thousand spent in a week does less than the first thousand. A model assuming a straight line will systematically overstate what happens if you double a budget — which is usually the exact question being asked.

Both are standard in any serious MMM package. Neither is optional.

Can you do this without a specialist?

Partly, and being clear about which parts matters.

What a capable analyst can do with an open-source package: assemble the data table, fit a model with sensible defaults, produce contribution estimates, and run a simple budget scenario.

What genuinely needs experience: choosing which variables belong, deciding how to treat a structural break such as a rebrand or a market entry, judging whether a coefficient is plausible, and quantifying uncertainty honestly rather than presenting a point estimate as fact.

The packages have made the statistics accessible. They have not made the judgement accessible, and a model built without it will produce numbers — which is the danger, because numbers get acted on.

Validate against something the model did not see

A model that fits history well can still predict the future badly. Two checks are worth insisting on before anyone acts on the output.

Holdout validation. Fit the model on all but the most recent few months, then check whether it predicts those months. A model that fits everything it has seen and fails on what it has not is describing noise.

Experimental validation. Run an incrementality test on one channel and compare the result against what the model claims for it. Where they agree, confidence in both rises considerably. Where they disagree, the experiment wins — it measured causation directly.

That second check is the most valuable thing you can do with a mix model, and the most often skipped.

When not to build one

Three situations where the effort is better spent elsewhere.

Not enough history. Under two years of consistent data, the model will be unstable and the estimates will swing with each refresh.

Flat spend. No variation, nothing to learn. Deliberately varying budget for a period is a legitimate precursor, but that is an experiment, not a model.

One dominant channel. If 90% of spend is in one place, a model has almost nothing to disentangle. A holdout test on that channel answers the real question faster and more directly.

Where it fits

MMM answers a specific question: how should budget be split across channels over the coming months. It is slow, aggregate and approximate, and for that question it is the best tool available in a privacy-constrained environment.

It does not replace platform reporting for in-channel optimisation, and it does not replace experiments for causal evidence. Used for either, it produces confident nonsense; used for allocation and validated against an experiment, it is genuinely useful. The full stack is described in marketing measurement in a privacy-first world.

Frequently asked questions

How much data does a marketing mix model need?

Two to three years of weekly observations is the common working minimum, and the binding constraint is variation rather than length. A channel whose budget has been flat throughout is nearly invisible to the model, because there is nothing for the regression to learn from.

Can we use an open-source MMM package?

Yes, and several are well documented. The packages handle the statistics. They do not handle the judgement calls — which variables to include, how to treat a price change, whether a coefficient is plausible — and those are where models go wrong.

Does MMM replace attribution?

No. MMM answers allocation questions across channels over months. Attribution answers optimisation questions inside a channel over days. Using either for the other's question produces confident nonsense.

What is the most common way these models fail?

Omitting a non-marketing driver that moved at the same time as spend. If you ran a price promotion during your heaviest advertising month, a model without a price variable will credit advertising for the promotion's effect.

Written by

Faizal

Founder

Flayv grew out of years of running performance marketing directly — not from a pitch deck, but from campaigns actually executed and budgets actually managed across paid media, SEO, lead generation, and affiliate marketing, spanning financial services, insurance, iGaming, energy, and nutra, in APAC, ANZ, North America, and Europe.

Read next

Tell us the number you are trying to move.

Describe what you are spending and what it has to return, and we will tell you whether we are the right people.

Start a conversation