Marketing mix modeling for DTC & ecommerce

A portfolio view for the next allocation decision

Which Channels Drive Your Sales?

Updated

Use MMM to put channel claims, upper-funnel effects and Finance's bottom line into the same decision. Don't treat any dashboard or model as if it can't be wrong.

Talk through an MMM question
Client-owned workModel risk made visibleTests where the answer matters

The decision

What does a marketing mix model tell a DTC brand?

It shows how much each channel seems to add to total sales once seasonality and promotions are accounted for. Think of it as a portfolio view. Where might the next dollar do the most? Which channel gets too much credit, or too little? How much it can tell you depends on your history. About 12 months of consistent sales and spend data gives the model something to learn from, as long as spending actually changed over that time. You get ranges back, not a verdict. Tests check the reads that matter most.

Last-click reporting can reward the channel closest to the sale. Platform reports can double-count the same sale. Upper-funnel media can create demand that shows up later in Search, Direct or another channel.

MMM helps you look at the whole system: media spend, revenue, seasonality, promotions and other known business conditions. The goal is a contribution story you can make a decision with. Not a dashboard winner.

A strong fit

A real portfolio decision with enough signal.

  • Several meaningful channels or tactics competing for budget
  • About 12 months of consistently defined sales and spend history, with useful variation
  • A real question about scaling, cutting, protecting or adding a channel
  • A decision owner ready to act on ranges, guardrails and new evidence

More history can help. But no universal revenue threshold replaces judgment about the signal and the decision at stake.

Better to start elsewhere

When the data can't support the question yet.

  • One dominant paid channel with no meaningful alternative or organic baseline
  • New, low-spend, on-and-off or rarely varied activity
  • Unreconciled outcomes, shifting channel definitions or no owner for the decision

The next step may be a focused lift test, attribution and first-party data foundations, or time to build a more useful history.

The approach

Use models to challenge the story, not to manufacture one score.

A model is an informed view of historical data. Different reasonable setups may agree, disagree, or show that a channel can't be identified clearly yet.

  1. 01

    Frame the allocation decision

    Define the outcome, the choices, the decision owner, the current reports and the cost of getting the call wrong.

  2. 02

    Reconcile the evidence

    Review spend taxonomy, outcomes, promotions, seasonality, baseline demand and gaps before you treat the data as a model input.

  3. 03

    Pressure-test the recommendation

    Compare workable setups, explain sensitivity and uncertainty, and use a credible experiment when a big claim needs calibration.

A useful outcome

Every channel gets an action, not false precision.

A strong result supports a bounded budget change. A plausible but uncertain result needs a guardrail. A big disagreement can become a test. And some channels shouldn't be scored yet, because the history can't support a useful read.

That split keeps MMM tied to the decision. It also gives you a practical learning loop. Tests strengthen the next model. Attribution helps your team watch the visible behavior between big allocation decisions.

Watch

What a marketing mix model can—and cannot—tell you

A short practical explanation of portfolio measurement, overlapping platform claims, model uncertainty and the role of testing.
ActEvidence supports a bounded change.
WatchDirection is plausible; use a guardrail.
TestDisagreement matters and can be resolved.
Do not score yetThe data cannot support a useful read.

Worked example · synthetic data

What does an MMM read look like in practice?

Simulated data. Every number below is simulated for illustrative purposes, to show how to read an MMM. It's not a client result, a benchmark, or a prediction for your brand.

Picture a made-up DTC brand. It has 12 months of weekly sales and spend for three channels, plus a promo calendar. It runs two reasonable model setups (each called a “specification”) on the same data.

Here's what comes back for the next quarter's budget question:

Channel (synthetic)Spec A: return per $1Spec B: return per $1Spend historyRead
Paid search$1.60–$2.20$1.70–$2.40Always on, steady variationAct
Paid social$1.10–$3.00$0.90–$3.40Always on, wide swingsWatch
Connected TV$0.40–$2.80$2.10–$4.50Six flightsTest
PodcastNot scoredNot scoredTried for one week last yearDo not score yet

How do you read that?

Paid search: both specs agree and their ranges sit in the same place, so a bounded change is reasonable.

Paid social: the direction looks fine, but the ranges are wide, so move carefully and set a guardrail.

Connected TV: Spec A's range runs from well under $1 to $2.80. Spec B's sits at $2.10–$4.50. They barely overlap, so they disagree on whether it's worth the money. That's a model-risk flag, and the honest move is a test, like a geo holdout, before shifting real money. A well-designed result can then calibrate the next model.

Podcast: one week of spend last year isn't enough consistent data to model, so don't let the model score it.

Why not just take the average?

Because the average hides the disagreement, and the disagreement is the useful part. An MMM is a time series comparison, so it has to assume how long people take to act after seeing an ad (the “decay rate”). A big promo, like a Memorial Day sale, can pull buyers forward from months of earlier ads. Two setups that handle that differently can land far apart.

And watch for coincidence. Spending $100 a day on a channel, then $110 on the same day sales are 10% higher, doesn't mean that channel caused 10% growth.

No model owns the truth. Act where they agree, test where they don't.

What the work delivers

A decision system your team can keep using.

01

Decision-ready model view

Channel and portfolio contribution ranges, response and saturation context, scenarios where they fit, and a clear explanation of what the model can support.

02

Model-risk review

Alternative setups, sensitivity, uncertainty and the assumptions that really move the recommendation. Written down, not hidden.

03

Calibration roadmap

A ranked plan for experiments, data fixes or monitoring that can make the next allocation decision more credible.

Outputs and documentation are designed for your own environment. The scope follows the decision and the evidence you can get. Fixed prices and universal promises are deliberately avoided.

Keep the methods in conversation

MMM is the portfolio view. It isn't the only view.

Attribution helps your team make fast tactical calls. A lift test gives you causal learning for one specific change. MMM puts the wider media system and its tradeoffs into one allocation conversation.

See whether MMM is timely for your brand
Explore incrementality testing for a specific claim
Read why multiple MMM perspectives help
Check what to put in an MMM
See what an incrementality test can calibrate in an MMM

Questions before committing

What does MMM answer?

It helps your team look at how a mix of media and other business drivers relates to total outcomes over time. Then you can make a more defensible budget call. It isn't universal proof of cause for every channel.

Do we need a lift test before MMM?

Not always. A relevant lift test is most valuable when a big channel claim needs causal calibration. The right order depends on the decision, the history you have and what you can test credibly.

Does MMM replace attribution?

No. Attribution is useful for visible customer behavior and tactical calls. MMM is a wider portfolio view. A lift test creates causal evidence for one defined change. The useful question is how each one should inform the decision in front of you.

What if the model is uncertain?

Uncertainty is a finding. A useful engagement sorts out what can support a bounded action, what needs a guardrail, what deserves a test and what shouldn't be scored yet.

A practical first conversation

Bring the allocation question, not a perfect dataset.

We'll figure out whether an MMM, a focused test, stronger foundations or a staged mix is the most useful next move.

Talk through an MMM question