Skip to content

What is marketing mix modeling?

Marketing mix modeling explains weekly sales from spend per channel, prices, promotions and season. It usually needs two or more years of weekly data with spend that moved. It decides how to split budget between channels, not which ad to keep.

By , Founder & CEOUpdated 6 min read

Run the numbers for your store: the free multi-channel budget calculator.

Marketing mix modeling is a statistical model that explains weekly sales from what you spent on each channel, plus price, promotions and season. It usually needs two or more years of weekly spend and sales data. What it decides is the budget split between channels, not which ad or campaign to keep.

What one store's data shows

One store's anonymised GA4 export, 1 January 2024 to 21 August 2026. It holds shares of revenue only: no ad spend, no order counts.

What the export showsShare of revenueSource cell
Direct, in last click, first click and touched views57.7%Channels sheet, Direct row
Journeys with 1 touch (0.5 days to buy)79.5%Journeys sheet, 1 touch row
Journeys with two or three touches (12.5 days to buy)12.2%Journeys sheet, two to three touches row
Journeys with four to nine touches (16.9 days to buy)5.4%Journeys sheet, four to nine touches row

The first lesson is what the export lacks. It has no spend column, and a mix model cannot run without spend. Google's Meridian guide says the dataset must include spend for each paid channel, because spend is the denominator of ROI. So this one store's export could not feed a mix model at all. It answers a different question: which paths revenue took on the way in.

Those paths still tell you something about the model you would build. In the Channels sheet, Direct holds 57.7% of revenue in every view. A mix model never sees a Direct line. It sees total weekly sales and splits them into what your marketing explains and a baseline. Meridian describes that baseline as what would have happened without paid media, organic media or other treatments.

In the Journeys sheet, journeys with 1 touch hold 79.5% of revenue and took 0.5 days to buy. In the export, journeys with two or three touches took 12.5 days, and four to nine touches took 16.9 days. That kind of lag is what adstock is for. Meta's Robyn guide defines it as the effects of advertising lagging and decaying after the first exposure. If buyers who see several channels take two weeks, a weekly model has to let one week's spend keep working in the next.

What the export cannot tell you is whether any of that revenue needed the ads. Paths cannot answer it, and a mix model answers it only under assumptions. Google's Meridian FAQ says as much: observational methods like MMM rely on assumptions to estimate incremental impact.

What does a mix model need from you?

The usual pitch is that MMM needs no tracking. That part holds: Robyn's guide says it does not need user-level data and runs on aggregated data instead. What it needs is harder to fake.

Time. Robyn's guide asks for a minimum of two years of historical weekly data. With only monthly data it wants more years, because each month is a single data point.

Spend that moved. A regression learns from change. Robyn's guide warns that if TV spend stayed constant while sales moved, the model struggles to say what TV did. Flat budgets leave it guessing.

Enough rows per parameter. Google's Meridian guide gives a sobering example. Twelve media channels, six controls and eight knots make 26 parameters. Two years of weekly data gives 104 data points, four per parameter, and Meridian calls that too low to estimate reliably.

The other reasons sales moved. Promotions, price changes and holidays need their own variables. Leave them out and the model may credit them to whichever channel spent that week. Newsletters and organic posts count too: Robyn files them as organic variables, activity without a clear spend.

A mix model is a patient accountant. It wants two years of receipts before it will say anything about last month.

What does it decide, and what can it not?

Meridian's documentation names three questions it is built for. What did each channel return and contribute in the past? How does each channel's effect change with spend? And how should the next budget be split?

Those map to three outputs. ROI grades past spending. Response curves show where extra spend stops paying. Marginal ROI, the return on the next euro, shows which channel deserves the next increase. Robyn's budget allocator turns the same outputs into a suggested mix for a total you choose.

What it cannot decide matters as much. It works at channel level: Meridian's guide does not recommend campaign-level models and points to attribution for finer detail. Its FAQ says it does not measure how channels work together. And if you always spent the same on a channel, Meridian warns the model must extrapolate what zero spend looks like.

That is why both guides push you to test. Robyn's guide strongly recommends calibrating the model with experiments, such as lift tests or geo holdouts. A mix model is a good map of the past. A test tells you whether the map is right.

What to do this week

  1. Count your weeks in Shopify. Go to Analytics > Reports, open Total sales over time and set the time unit to week. Pass: two full years of weekly rows with no gaps. Fail: less than that, so test one channel with a holdout before you plan a mix model.
  2. Check that your Google Ads spend moved. Open the Campaigns table, select the segment icon, then Time and Week. Pass: weekly cost rises and falls across the period. Fail: it sits flat for months, which leaves a model nothing to learn from.
  3. Explain your sales spikes. Next to the Shopify export, mark every week with a promotion, price change or launch. Pass: every peak and trough has a reason on the list. Fail: unexplained spikes, which a model may hand to whichever channel spent that week.

Check the homework. Your GA4 Attribution paths export already holds the evidence. Causality Engine reads that one file and shows what each channel caused next to what last-click gave it, in 1 to 2 minutes, for €99 once (excluding VAT), refundable within 30 days. Check the homework

Sources, 1 October 2026: An Analyst's Guide to MMM (Meta); An introduction to Meridian (Google); Collect and organize your data (Google). Amount of data needed (Google); Assess the baseline (Google); ROI, mROI and response curves (Google); FAQs (Google); Time ranges for reports (Shopify). Use segments in your tables (Google)

Frequently asked questions

  • How much data do I need for marketing mix modeling?
    Meta's Robyn guide asks for at least two years of weekly data. Google's Meridian guide adds a second check: data points per model parameter. Two years of weekly rows can still be too few if you model many channels.
  • Can marketing mix modeling tell me which ads to cut?
    No. It works at channel level. Google's Meridian guide does not recommend campaign-level models and points to attribution for finer detail. For a single ad or campaign, run a test inside the ad platform instead.
  • Can a small Shopify store use marketing mix modeling?
    Only if it has the data: at least two years of weekly sales, spend that moved, and few enough channels for its row count. With less, a holdout test on one channel answers a narrower question sooner.

Go deeper: Causal attribution, explained.

Sixty-second versions of these ideas: Causality Engine on YouTube Shorts.

Keep reading

Terms in this article

Browse the full glossary

Your platforms guess.
We run the math.

Upload a GA4 export and see what each channel caused, next to last-click, in 1–2 minutes. The read is yours to keep.

Free, in your browser: your file is not uploaded. The full read is €99, refundable within 30 days. Prices exclude VAT.
Or book a 30-min call.