Open Source
← Back to blog
Data & AnalyticsJuly 27, 202613 min read

Marketing Mix Modeling Is Back: Build an MMM That Actually Works in the Post-Cookie Era

Quick answer: Marketing Mix Modeling is back because attribution broke after Apple's ATT and cookie deprecation. Most MMM projects fail from bad data inputs, over-complex models, and treating them as one-off exercises rather than operationalized measurement stacks. To build an MMM that works, you need clean spend and outcome data at weekly granularity with 2-3 years of history, piped through an automated pipeline. The two leading open-source tools are Meta Robyn and Google Meridian — each with distinct strengths depending on your stack and team capabilities.

Attribution broke. MMM is what's left.

Apple's App Tracking Transparency pushed iOS opt-in rates down to roughly 35% (per Digitasomedia's 2026 reporting, though the original source for this figure should be independently verified). Google reversed its plan to force-deprecate Chrome's third-party cookies, but organic cookie reachability has declined to roughly 40-60% as users block trackers — and Safari and Firefox block them by default. GA4's modeled conversions fill gaps with statistical estimates, not observed behavior.

The result: multi-touch attribution that once felt precise now feeds you garbage dressed up in dashboards. Last-click attribution isn't just outdated. It's actively harmful. It over-credits branded search and undervalues every channel that creates demand. Kill it.

I've run over 1,000 campaigns managing $50M+ in ad spend across Meta, Google, Bing, and TikTok. I've seen platform ROAS regularly overstate true incrementality by 20–40%. Those attribution numbers that look great in your reporting? They're often lying about what actually drove the sale.

Marketing Mix Modeling — MMM — is the methodology that works when user-level tracking doesn't. It uses aggregated, privacy-safe time-series data. No cookies. No user IDs. No consent gates. Just channel spend and business outcomes measured over time.

It's back. Not because it's new. Because everything else broke.

MMM vs. Attribution: They answer different questions

Multi-touch attribution asks: which touchpoints did this specific user encounter before converting? It's user-level, deterministic (or now, modeled-deterministic), and granular — but fragile. One privacy policy change breaks the whole system.

Marketing Mix Modeling asks: how much did spending $X on channel Y contribute to total sales this week? It's aggregate, causal-ish, and robust to privacy shifts — but coarse. It can't tell you which ad creative won. It can tell you whether your Meta spend is saturated and whether shifting $50k to Google would lift total revenue.

Different questions. MMM is not a replacement for attribution. It answers a question attribution can't answer with any reliability anymore: where should I allocate next month's budget?

Use both, layered, not either/or. MMM at the top for strategy. Incrementality testing for paid media in the middle for validation. Attribution at the bottom for tactical optimization within channels that still have reliable signals. This is your measurement stack. Not a single methodology. A stack. (I cover the full stack architecture in my guide to marketing attribution models in 2026.)

Why most MMM projects fail

Most MMM projects produce a 40-page PDF that gets filed away and never changes a budget allocation. I've seen this across teams managing $100k/month to $500k/month. Same pattern every time.

You fed it garbage

You need roughly 2 years of weekly data across all channels — including seasonality, promotions, competitor activity, and macro factors (Davies Meyer, April 2026). Most teams dump in spend and revenue from three platforms and skip everything else. The model outputs garbage because the inputs are garbage.

Your data scientist overfit it

15 ad channels, 10 seasonal variables, 5 competitor proxies, 3 macro indicators. The model fits historical data beautifully. Then it predicts next quarter's budget allocation and it's wrong. Overfit models capture noise, not signal. Simple models with good inputs beat complex models with incomplete inputs every time.

The model doesn't know your business

You launched a new product in March. Your competitor ran a massive promotion in Q2. If you don't feed that in as variables, the model attributes those sales spikes to whatever ad channel happened to be running at the same time. Correlation, not causation.

You ran it once and forgot

Martech360 (July 2026) calls this out: MMM should be a living capability, not an annual report. Models degrade. Market conditions shift. A model built in January is stale by June. If you're not refreshing and recalibrating regularly, your outputs are historical analysis, not decision support.

Nobody actually changed the budget

The model says shift 15% of Meta budget to Google. Then nothing happens. No workflow to make the shift. No monitoring to track whether it worked. The MMM gets built. The presentation gets delivered. The budget stays the same.

The data you actually need

Get your data right before you pick a tool. This is the hardest part of the whole project.

Required inputs

  • Weekly spend per channel for at least 2 years — Meta, Google, TikTok, Bing, email, influencer, direct mail, everything
  • Weekly revenue or conversions at the same time granularity as spend
  • Seasonality indicators: holidays, promotions, product launches
  • External factors: competitor activity proxies, macro indicators (inflation, weather if relevant to your business)
  • Organic/baseline traffic and sales

Time granularity

Weekly is standard. Daily introduces too much noise. Monthly loses too much signal. Weekly balances both.

Minimum history

2 years. 3 is better. Less than 104 weeks of data and your model won't have enough variation to estimate saturation curves and diminishing returns reliably.

Data pipeline

If you're pulling spend and performance data from 5 ad platforms, you need it normalized and consolidated before it hits the model. This is exactly the problem I solved when I migrated reporting from manual spreadsheet exports to a real-time dashboard pulling from 5 ad platforms via API, normalized in Python, visualized in Looker Studio. The same pipeline architecture feeds MMM data inputs. Start with building a real-time marketing dashboard and extend it to serve your model.

Common data mistakes

  • Including only paid channels and ignoring organic/baseline. The model needs to estimate what would have happened without any advertising.
  • Aggregating all digital into one variable. That defeats the purpose — you need channel-level granularity to make channel-level allocation decisions.
  • Using monthly data when weekly is available. You're throwing away signal.
  • Not logging promotions and launches. The model will misattribute those revenue spikes to whatever channel was active at the time.

The tools: Meta Robyn vs. Google Meridian

Two open-source tools have made MMM accessible to teams that can't afford six-figure consulting budgets.

Meta Robyn

Robyn is Meta's open-source MMM package, built in R. It's been in development for several years with a growing practitioner community. Key features:

  • Automated model building with ridge regression and regularization
  • Built-in saturation curves (hill function) and adstock (carryover decay)
  • Budget allocation optimizer suggesting reallocation scenarios
  • Response curves showing diminishing returns per channel
  • Designed for marketing practitioners, not just data scientists

Status: Robyn is actively maintained and used in production by brands and agencies. It's not experimental in the sense of being unstable — it produces real outputs from real data. But it requires R proficiency and statistical literacy. You can't press a button and get trustworthy results.

Google Meridian

Meridian is Google's open-source MMM framework, released in 2025 as the successor to LightweightMMM (Google's earlier Python-based package, which is no longer actively maintained). Key features:

  • Built in Python (broader accessibility than R)
  • Bayesian approach using PyMC
  • Handles geo-level data for spatial modeling
  • Built-in calibration to incrementality test results
  • Designed to integrate with Google's ad platform data

Status: Meridian is newer than Robyn and still evolving. The calibration-to-incrementality feature is the standout — it's built to accept lift test results as ground truth to anchor the model. That's exactly the MMM + incrementality stack approach I'm advocating.

Which one should you use?

If your team is comfortable with R and wants a more battle-tested tool: Robyn.

If your team prefers Python and wants to integrate incrementality calibration directly: Meridian.

If you're a solo marketer or small team without deep statistical expertise: start with Robyn's automated features, but invest time in understanding what the model is actually doing. Blind trust in automated outputs produces garbage allocations.

Both tools require real data science work to set up properly. Neither is an install-and-run solution. Open-source availability removes the cost barrier. It does not remove the expertise barrier.

MMM + Incrementality: The measurement stack that actually works

MMM tells you where to allocate budget. Incrementality testing tells you whether that allocation actually drives incremental sales. Complementary, not competing.

  1. MMM identifies the allocation. The model says Meta is undersaturated and Google is oversaturated. It recommends shifting $100k from Google to Meta next quarter.
  2. Incrementality validates the call. Before you shift the full $100k, run a geo-lift test on Meta to confirm that incremental spend actually drives incremental sales in the regions you're targeting. Platform ROAS regularly overstates true incrementality by 20–40%. Incrementality testing for paid media is the validation layer.
  3. Calibrate the MMM. Feed the incrementality test results back into the MMM as calibration points. Meridian has this built in. With Robyn, you adjust model parameters manually to match observed lift. This makes the model more accurate for future predictions.
  4. Iterate. MMM quarterly — or monthly for high-spend accounts. Incrementality tests on major allocation changes. Continuous calibration.

This layered approach separates teams that make data-informed budget decisions from teams that produce impressive-looking models no one trusts enough to act on.

Operationalizing MMM: From model output to budget shift

The gap between the model says shift budget and we actually shifted budget is where most MMM projects die.

  1. Model refresh cadence. Run the model monthly for accounts spending $100k+/month. Quarterly for smaller accounts. Never annually. Annual refreshes are historical analysis, not decision support.
  2. Output review with decision-makers. The MMM output isn't a PDF to email. It's a working session. Walk through the saturation curves, allocation scenarios, and what-if projections with whoever controls the budget. Make sure they understand what the model is saying — and what it isn't.
  3. Incrementality validation on major shifts. Any allocation change above 10% of total budget gets an incrementality test before full implementation. This is the bridge between MMM strategy and validated execution.
  4. Budget implementation. Actually change the budgets. Set up monitoring. Track whether the projected lift materializes. If it doesn't, feed that back into the model.
  5. Recalibrate. Model outputs drift from reality over time. Recalibrate every refresh cycle using actual performance data and incrementality test results.

Continuous loop. Not a one-time project. The model improves with each cycle because it's anchored to real outcomes, not just historical correlations.

Building your MMM: A practical starting point

If you're building an MMM for the first time:

  1. Get 2+ years of weekly data across all channels. This is the hardest part. Most teams don't have clean, normalized historical data. Start consolidating now even if you're not ready to model.
  2. Start simple. One model. 5–7 channel variables. Seasonality. Baseline. Don't add 15 parameters on your first run. A simple model with good data beats a complex model with missing variables.
  3. Use Robyn or Meridian. Pick based on your team's language preference — R vs Python. Don't build from scratch. These tools handle the statistical heavy lifting and have community support.
  4. Validate against what you know. Does the model's estimate of Meta's contribution roughly match what incrementality tests have shown? Does it correctly attribute your biggest seasonal spike? If the outputs contradict validated ground truth, the model needs adjustment, not blind acceptance.
  5. Operationalize one decision. Don't try to reallocate the entire budget on your first model run. Pick one allocation shift the model recommends, validate it with an incrementality test, implement it, and track the outcome. Prove the model works on one decision before scaling to all decisions.
  6. Build the refresh cycle. Monthly model runs. Quarterly recalibration with incrementality results. Continuous data pipeline maintenance.

The honest limitations of MMM

MMM isn't magic. It has real limitations worth understanding before you invest time and budget.

  • It's coarse. MMM can tell you Meta contributes 25% of sales. It can't tell you which campaign, audience, or creative within Meta drove that contribution. You still need within-platform attribution for tactical optimization.
  • It's backward-looking. The model estimates based on historical patterns. If market conditions change dramatically — new competitor, product pivot, economic shock — the model's predictions degrade until it has enough new data to recalibrate.
  • It requires good data. No amount of statistical sophistication compensates for missing channels, wrong time granularity, or unlogged promotions.
  • It doesn't prove causation. MMM estimates causal-ish relationships from observational data. Incrementality testing with randomized holdouts is the gold standard for proving causation. MMM is for estimating and allocating. Incrementality is for proving and validating.
  • It takes expertise. Open-source tools removed the cost barrier. They didn't remove the expertise barrier. You need someone who understands both the statistics and the business context to build and interpret a useful model.

Build it with eyes open. Part of a measurement stack, not a standalone silver bullet.

Start now, start simple

The post-cookie era isn't arriving — it's here. Attribution signals are degraded and will keep degrading. MMM is the methodology that works without user-level tracking. The open-source tools exist. The data pipeline patterns are solvable. The only thing missing is someone on your team actually building it and operationalizing the outputs.

Start with 2 years of weekly data. Start with 5 channels. Start with Robyn or Meridian. Start with one allocation decision. Prove it works. Then scale.

The teams that build measurement stacks now — MMM for strategy, incrementality for validation, attribution for tactics — will make better budget decisions than the teams still clinging to broken attribution dashboards. The data is worse. The methodology is better. Use it.

Subscribe for weekly posts on marketing measurement, automation, and the stuff that actually moves the needle — no fluff, real numbers, working code.

Frequently Asked Questions

  • How does MMM work without cookies or user-level tracking?

    MMM uses aggregated time-series data — weekly channel spend and weekly business outcomes. It estimates how changes in spending levels correlate with changes in revenue, controlling for seasonality and other factors. No user IDs, no cookies, no consent requirements. It works with the data you already have in your ad platform cost reports and sales records.

  • What is the difference between MMM and multi-touch attribution?

    Multi-touch attribution tracks individual user journeys across touchpoints — it's user-level and granular but fragile to privacy changes. MMM measures how channel spend levels contribute to total business outcomes — it's aggregate and robust to privacy shifts but can't identify specific user paths. They answer different questions: MTA asks 'which touchpoints did this user see?', MMM asks 'how much did spending on this channel lift total sales?'

  • How much data do you need to build a reliable MMM?

    Minimum 2 years of weekly data across all channels — spend, revenue, seasonality, promotions, and organic baseline. 3 years is better. Less than 104 weeks and the model won't have enough variation to estimate saturation curves and diminishing returns reliably. Weekly granularity is standard; daily is too noisy, monthly loses too much signal.

  • Is Meta Robyn production-ready or still experimental?

    Robyn is actively maintained and used in production by brands and agencies. It requires R proficiency and statistical literacy to use well. The automated features help, but you can't just press a button and get trustworthy allocation recommendations. You need someone who understands what the model is doing and can validate the outputs against business reality.

  • How do MMM and incrementality testing work together?

    MMM identifies where to shift budget. Incrementality testing validates whether that shift actually drives incremental sales. Feed the incrementality results back into the MMM as calibration points — Meridian has this built in, Robyn requires manual adjustment. This layered approach (MMM for strategy, incrementality for validation) is more reliable than either method alone.

Related reading: Marketing Attribution Models in 2026: Why Last-Click Is Dead and What Replaces It

Related reading: Incrementality Testing for Paid Media: Did Your Ad Actually Drive the Sale?

Related reading: Build a Real-Time Marketing Dashboard: Pull 5 Ad Platforms Into One Looker Studio Report

#Marketing Mix Modeling#MMM framework#Post-cookie measurement#Meta Robyn#Google Meridian#Attribution vs MMM#Marketing measurement stack#Cookieless measurement

Comments (0)

Loading comments...