Marketing Mix Modeling

Method

A way of estimating how much each channel contributed by statistically relating years of channel spend to total revenue, without using any individual-level tracking.

Why it exists

Measuring advertising has long leaned on following clicks. Stitch together who clicked which ad and later paid, one person at a time, and channel performance falls out of the records. That approach has two holes in it.

The first is channels with nothing to click. Subway station posters, television, a mid-roll ad in a podcast — they move people, but those people search for the product later, so the credit lands on search. A team that put a third of its quarterly budget into out-of-home advertising ends up with exactly that line blank in the report.

The second is that individual-level records themselves have thinned out. As browsers and phones started blocking tracking markers, it became common to be unable to connect the ad someone saw yesterday with the purchase they made today.

Planning meetings kept stalling in the same place. Grace would ask which part of the quarter's $90,000 in ad spend actually worked, and Ravi could answer immediately for search ads and the newsletter while having nothing to say about the $30,000 in subway advertising beyond "revenue did go up."

Marketing mix modeling (MMM) sidesteps the problem by moving the unit of analysis from the person to the time period. Instead of following one individual, it stacks up several years of weekly records — how much went to each channel that week, and what revenue came in — and estimates the relationship between the two statistically. The method originally belonged to consumer goods companies back when television and newspapers were the only options, and it got pulled back out as person-level records became harder to keep.

How to run it

Five steps, and the first two are most of the work.

  1. Build a weekly table. One row per week, with columns for spend by channel and that week's revenue. Two to three years — more than 100 rows — is the usual requirement. With too few rows the math downstream will return numbers, just not meaningful ones.
  2. Add everything else that moved revenue. Seasonality, weeks with a price cut, holidays, periods when a competitor advertised heavily, weeks when a major feature shipped. Leave these out and every December's lift gets credited to whatever ran in December.
  3. Fit the relationship. This is regression, a method for fitting the relationship between variables into a single equation, with two properties specific to advertising built in. One is that the effect of an ad doesn't end in the week it ran but fades across several weeks. The other is that doubling spend in a channel doesn't double the result — the curve flattens past some point.
  4. Check the output against an experiment. If the equation says subway advertising contributed 18 percent, turn the ads off in one region, keep a holdout — a comparison group deliberately left untouched — and compare revenue. Where the two disagree badly, the equation gets revised. This is the same logic incrementality work uses.
  5. Re-split the budget. Pull the projected revenue for spending more and spending less in each channel, and build next quarter's allocation from it. This step is the reason the method gets run at all.

When it fits and when it doesn't

It suits companies with large ad budgets, a meaningful share of that budget in channels clicks can't measure, and two to three years of weekly spend records already on hand. The typical case spends a few hundred thousand dollars a quarter with half of it going to television and out-of-home. At that size, improving the split by 10 percent covers the cost of building the model.

There are four limits. First, the data requirement rules out companies that only recently started advertising. Pagedeck has eight months of spend history, which is fewer than 35 weekly rows — not enough for the calculation to stand up at all. Second, answers don't come quickly. Models are usually refreshed once a quarter, so they can't tell you whether to keep an ad running next week.

Third, the method can't separate things that always moved together. If search ads and the newsletter were always increased in the same weeks, the equation has no way to divide credit between them and will hand back an arbitrary split. Fourth, the output is a range rather than a number. A contribution listed as 18 percent may really mean somewhere between 12 and 24, and reading it without that spread means trusting precision that isn't there.

How it sounds at work

"Attribution can't cover out-of-home. We'd need to run an MMM for that."

A proposal to get click-free channels onto the same table as everything else.

"This MMM run puts the newsletter higher than we assumed. Should we move budget?"

Going straight to reallocation, which is what the model is for.

"We can't run an MMM on our data yet. You need at least two years."

The row count is short, so the method doesn't apply.

At Pagedeck, Grace raised it first. After two months of subway station advertising she asked for a performance report, and the one line in Ravi's table with no value in it was that one. She had heard other companies used this approach and suggested trying it.

Ravi said no and gave two reasons. The spend history covers eight months, which leaves the weekly table in the thirties for row count, and during that same period the price changed once and the free plan terms changed once, so revenue movement can't be separated into product causes and advertising causes. What he proposed instead was turning the ads off on some subway lines the following quarter and comparing signups by region. It answered the same question for far less, and Grace went with it.

What people get wrong

The most common mistake is reading this as a replacement for attribution. Both divide credit across channels, so it looks like a choice between two tools. The questions are different sizes. One is about how to split a quarterly budget across channels; the other is about whether to kill the creative that went up yesterday. Keep only the large one and weekly decisions stop; keep only the small one and click-free channels stay blank in every report. Larger teams run both and use experiments to settle the disagreements.

Treating the output as settled fact is the other one. It comes from statistics and arrives with decimal places, which makes it look exact. In practice, specifying the equation slightly differently on the same data moves channel contributions by several percentage points. Move an entire budget without knowing that spread and, when revenue falls next quarter, you're back to not knowing whether the allocation caused it.

Easily confused with

TermWhat it looks atHow it differs from marketing mix modeling
AttributionThe touchpoints behind a single conversionFollows individual-level records to divide credit for one conversion. It can't handle channels that leave no click, but results arrive the same day and go all the way down to a single creative

Where to go next

Last updated 2026-09-16