Attribution & Measurement
RGM° · Training
Media Mix Modeling
MMM is back and bigger than ever. Fundamentals, Bayesian frameworks, calibration with experiments, and the strategic measurement layer mature programs build on.
Why MMM is back
Media mix modeling has been around since the 1960s. For decades, it was the domain of CPG giants with quarterly bonded analyst teams and six-figure-budget engagements. The 2010s saw MTA eclipse MMM as "digital-native" attribution. Then ATT and cookie deprecation arrived, and the industry realized aggregate-level measurement that doesn't rely on user identity is structurally more durable.
The 2020s MMM renaissance is being driven by: open-source frameworks (Meta's Robyn, Google's LightweightMMM, Uber's Orbit) making MMM accessible to mid-market brands; modern compute making Bayesian models tractable; ATT making MTA degraded; and meta-analysis showing MMM's causal validity was always stronger than MTA's.
MMM fundamentals
MMM is regression analysis fitting:
Sales(week) = baseline + Σ coefficient_i × adstock(saturation(spend_i, week)) + Σ control_j × week + error
The model decomposes weekly sales into: baseline (organic demand), media-attributed sales by channel, and control-attributed sales (seasonality, pricing, distribution, competitive activity, macro).
Adstock (carryover)
Advertising effect doesn't end on the day the ad runs. People remember; impressions accumulate; conversions happen days or weeks later. Adstock models this carryover with a geometric or Weibull decay function:
adstock(t) = spend(t) + λ × adstock(t-1)
where λ is the carryover rate (typically 0.3–0.7 depending on channel; TV is high, sponsored search is low).
Saturation (diminishing returns)
Doubling spend doesn't double sales. Saturation curves (Hill function, sigmoid, log) model the diminishing-returns relationship between spend and outcome. The shape of the saturation curve is crucial for budget optimization.
Controls
The model must account for non-media drivers: seasonality, holidays, weather, pricing changes, distribution changes, competitive activity, macroeconomic factors. Without controls, the model attributes their effects to media incorrectly.
Data requirements
- Weekly sales or conversions: 2+ years (104+ weeks) ideal; 1 year (52 weeks) workable for simpler models.
- Weekly spend by channel: Each meaningful channel separately (Meta, Google Search, TikTok, Display, CTV, Email, etc.).
- Impressions or GRPs: When available, better than spend alone (less correlation with channel CPMs).
- Pricing and promotions: Week-level average price, promotional discount %, promotional events.
- Distribution: Store count, region availability changes.
- Competitive media spend: If available; Kantar/Nielsen syndicated data.
- Macroeconomic and seasonal: Consumer confidence, weather, holiday indicators.
- Granularity: National or DMA-level depending on the model; geo-MMM allows DMA-level inputs.
Bayesian MMM and open-source
Modern MMM is largely Bayesian: priors are set on coefficients (based on prior knowledge or experiments), posterior distributions are computed, uncertainty is quantified. This is a step up from frequentist regression that gives point estimates without uncertainty.
Open-source frameworks
- Meta Robyn. R-based; uses Nevergrad optimization. Strong calibration with experiments. Active community.
- Google LightweightMMM. Python-based; built on NumPyro (JAX-backed Bayesian inference). Built-in geo support.
- Uber Orbit. Python-based Bayesian time-series framework; not MMM-specific but used for MMM.
- PyMC and Stan. General Bayesian modeling languages; for advanced custom models.
Calibration with experiments
A frequentist MMM is just a regression on observational data. It conflates correlation with causation. Experiment calibration fixes this: incrementality test results inform Bayesian priors on channel coefficients, making the model causally grounded.
- Run incrementality tests (geo holdouts, user-level lift studies) on major channels.
- Use test results to set Bayesian priors on channel coefficients.
- Fit MMM with experiment-informed priors.
- Validate model against held-out periods.
- Repeat experiments and refit model on a rotation.
This experiment-MMM hybrid is the modern best practice. Single-source MMM (no experiments) and single-source experiments (no MMM) both have gaps that the hybrid fills.
Vendor landscape
- Modern MMM-as-a-service: Recast, Haus, Northbeam, Mass2 Analytics, Vexpower, Marketing Evolution. Quarterly model rebuilds, dashboards, integrated experiments.
- Traditional CPG MMM: Nielsen, Kantar, IRI/Circana, Marketing Analytics Consultants. Annual or semi-annual engagements; deep CPG expertise.
- Boutique consultancies: Many regional firms with strong domain expertise.
- In-house teams: Robyn, LightweightMMM, or proprietary code. Requires statistical capacity but offers full control.
Interpreting MMM outputs
- Channel contribution. What % of sales each channel drove in the modeled period.
- Channel ROI (or ROAS, iROAS). Revenue per dollar of channel spend, with carryover and saturation accounted for.
- Response curves. Sales lift as a function of spend; reveals diminishing returns and saturation points.
- Optimal budget allocation. Given total budget, what allocation maximizes sales? Model output.
- Marginal ROI. Incremental sales from the next $1 of spend at current levels.
- Saturation point. Spend level where additional investment yields diminishing returns — useful for capping channel budgets.
- Carryover length. How long ad effect persists per channel; informs flighting decisions.
Communicating MMM
- Quote uncertainty. Bayesian MMM gives credible intervals; share them with stakeholders.
- Explain what MMM can and can't answer. MMM answers strategic; can't answer tactical campaign optimization.
- Distinguish in-sample fit from out-of-sample predictive accuracy. A model with great in-sample R^2 and poor out-of-sample accuracy is overfit.
- Avoid false precision. "Meta drives 23.7% of sales" is overconfident; "Meta drives roughly 20–28% of sales with 80% credibility" is honest.
- Bring CFO along early. MMM is the most financially defensible attribution methodology; CFOs respect the methodology when explained well.
Advanced playbook
- Bayesian priors from experiments. Always-experiment, always-model approach. Quarterly tests inform model priors; model informs which tests to run next.
- Out-of-sample validation discipline. Hold out the most recent 12 weeks during model fitting; test predictions against actuals before deploying.
- Geo-MMM for added power. DMA-level data gives 50+ "observations" per week instead of 1. Statistical power grows dramatically.
- Channel decomposition. Split Meta into Facebook + Instagram, into prospecting + retargeting, into conversion + awareness campaigns. The granularity reveals which sub-channels drive value.
- Saturation curve maintenance. Saturation shifts as audiences exhaust. Annual refresh required.
- Pricing and promotion as primary controls. For ecommerce and retail, pricing changes drive 20–50% of sales variance. Model carefully or attribute pricing effects to media incorrectly.
- Brand vs activation separation. Brand-building channels (TV, OOH, podcast, CTV upper-funnel) have long carryover (8–12+ weeks); activation channels (sponsored search, social conversion) have short carryover (1–3 weeks). Model accordingly.
- Cross-channel synergies. Some channel pairs have multiplicative effects (TV + search). Model interaction terms where supported by theory and data.
- Budget optimization with constraints. Optimal allocation often shows recommendations that violate operational constraints (can't put 80% in one channel). Build constraints into optimization.
- Scenario modeling. What if budget rises 20%? Falls 30%? Channel mix shifts? Run what-if analyses with the model to inform planning.
Common mistakes
- Building MMM without experiment calibration; observational regression has identifiability problems.
- Insufficient control variables; pricing, distribution, competitive effects attributed to media.
- Single-source MMM with no incrementality tests for validation.
- Quoting point estimates without credible intervals.
- Models with great in-sample fit and poor out-of-sample prediction; overfit.
- Treating MMM outputs as exact; expecting daily-level granularity from weekly-level model.
- Annual MMM that becomes stale by month 9.
- Refusing to refit when major changes happen (new product launch, pricing shift, channel addition).
- Building MMM without finance team alignment on methodology; CFO rejects outputs.
- Outsourcing without methodology transparency; can't defend numbers when questioned.
Operating checklist
- 2+ years of weekly sales and spend data assembled
- Comprehensive control variables (pricing, promo, distribution, seasonality, macro)
- Bayesian framework chosen (Robyn / LightweightMMM / vendor)
- Incrementality test results used as priors
- Out-of-sample validation built into model fit process
- Model rebuilt quarterly or semi-annually
- Response curves and saturation visualized
- Budget optimization scenarios produced quarterly
- Stakeholder communication with credibility intervals
- Methodology documented for finance team review
- Experiments calendar coordinated with MMM refresh cycle
Sources and further reading
- Meta Robyn open-source documentation and GitHub
- Google LightweightMMM documentation
- Uber Orbit documentation
- PyMC and Stan documentation
- Recast, Haus, Northbeam — modern MMM vendor methodology
- Nielsen MMM whitepapers and academic publications
- Mass2 Analytics — CPG MMM case studies
- Mike Taylor, Vexpower — MMM tutorials and case studies
- Igor Skokan and Bayesian Marketing community
- Andrew Gelman — Bayesian Data Analysis (textbook)
- Markus Strauss et al. — Bayesian MMM research
- Hyokjin Kwak et al. — academic MMM and incrementality research
Part of the Attribution & Measurement series.