The MMM Glossary and Math Reference
Adstock, saturation, priors, decomposition, calibration, response curves, mROI: the MMM vocabulary defined plainly, without the vendor wrappers.

Marketing mix modeling (MMM) is necessary and dangerous in the same breath. It is the only tool that can read every channel inside a single coherent picture, including the offline and view-through media that platform attribution and multi-touch attribution (MTA) cannot see. It is also generative by construction: feed it a spend matrix and a target series and it will return a decomposition, response curves, and a ranked list of channels. That output looks the same whether the underlying model is anchored to reality or floating on defaults.
The difference between a useful MMM and econometric storytelling is calibration. An MMM with at least one major channel tied to an experimental result, like a geo holdout or a pause test, has an anchor that forces the rest of the model to be honest. An MMM with no external anchor is internally consistent and externally unmoored; every recommendation it produces is a hypothesis dressed as a measurement.
This glossary collects roughly 25 terms across four categories: foundational concepts, time dynamics and diminishing returns, the statistical framework, and validation and calibration. Each entry names the term, defines it plainly, and flags the gotcha that tends to bite teams in practice. Read it once as a reference, then return to it the next time you are staring at an MMM readout and trying to decide which numbers are decision-grade. The taxonomy alongside MTA and incrementality lives in MMM vs MTA vs incrementality.
Foundational concepts
Channel contribution. The share of a chosen outcome (revenue, conversions, units) that the model attributes to a given marketing input over a defined window. Channel contribution is a model output, not a measurement; it is the product of the adstock form, the saturation form, and the priors used to fit the model, and it changes when any of those change. The gotcha is presentation. Most decks show contribution as a single point per channel. Without credible intervals next to that point, you cannot tell whether the model is confident or guessing, and a guess presented as a number tends to drive decisions anyway.
Base vs incremental. Base is the volume the model thinks would have happened with no paid media in the window: organic demand, seasonality, distribution, pricing. Incremental is what the paid inputs added on top. The gotcha is that base is a residual; it falls out after the model assigns contribution to every other variable. A misspecified seasonality term or a missing macro driver inflates or deflates base, and that error flows straight through to every channel ROI in the deck. If base looks suspiciously high or suspiciously stable, suspect the controls before you trust the channel splits.
ROI. Incremental revenue (or margin) divided by spend for a channel over the modeled window. In an MMM context ROI is an average across the window at the realized spend level. The gotcha is that average ROI tells you almost nothing about what happens to the next dollar. A channel can post a healthy historical ROI and still have a marginal return below break-even, because spend has pushed it deep into the flat part of its saturation curve. Decisions move at the margin; an average is the wrong number to optimize against.
Marginal ROI (mROI). The incremental revenue the model expects from the next unit of spend at the current spend level. mROI is the right number to drive reallocation decisions, because budgets move one dollar at a time and that dollar earns whatever the slope of the response curve gives it. The gotcha is omission. Many vendor decks show ROI and stop there. If you cannot see mROI per channel at current spend, you cannot tell which channel earns the next dollar, and the reallocation conversation is being run on the wrong metric. Ask for mROI explicitly, every time.
Response curve. The modeled relationship between spend on a channel and the outcome it drives, after adstock has shaped the timing and saturation has imposed diminishing returns. The curve produces both ROI (average slope from zero) and mROI (slope at the current point). The gotcha is range. Response curves are smoothest where they extrapolate furthest. The reliable region is the spend range you have actually run; the rest is the model finishing the sentence for you, with confidence that bears no relationship to the data behind it.
Decomposition. The breakdown of total outcome into base and each channel's incremental contribution, usually visualized as a stacked area or waterfall chart. Decomposition is the most-shown and least-interrogated MMM output. The gotcha is that a tidy chart can hide enormous parameter uncertainty. Two models that produce visually identical decompositions can disagree by 2x on a single channel's contribution once you read the credible intervals. The chart is the headline; the intervals are the story.
Time dynamics and diminishing returns
Adstock. The transformation that captures how a marketing exposure keeps influencing the outcome after the exposure ends. Adstock turns a one-week spend pulse into a weighted echo across subsequent weeks: some channels (paid search) echo for hours, others (TV) for months. The gotcha is that adstock is a strong assumption, not a free parameter. The form you pick (geometric, Weibull, delayed) and the priors you put on its decay determine how much of a channel's effect ends up assigned to the channel itself versus quietly absorbed into base.
Adstock half-life. The number of time periods over which half of an exposure's effect decays. A paid search ad with a one-day half-life and a connected TV (CTV) ad with a four-week half-life are doing different jobs in the model and should not share a decay assumption. The gotcha is that vendors often set half-lives by default rather than estimating them from the data. Check whether the half-lives are channel-appropriate before you trust any contribution estimate that depends on them; an implausible half-life is the loudest single signal that the model is on autopilot.
Geometric vs Weibull adstock. Geometric adstock decays at a constant rate from the moment of exposure, a simple exponential. Weibull adstock allows the effect to ramp up before it decays, which matters for channels like TV or out-of-home that build awareness before they convert. The gotcha is forcing the wrong form on the wrong channel. Weibull on a direct response channel adds parameters without insight; geometric on a channel with real ramp-up under-credits it for the work it actually does. Match the form to the buying cycle, not to the library default.
Carryover and lag. Carryover is the portion of a channel's effect that lands in periods after the spend; lag is how many periods pass before the effect peaks. Both are encoded inside adstock but worth naming on their own, because categories and channels pair them differently. A B2B campaign can lag four to twelve weeks; paid search lags hours to days. The gotcha is window length. If your fit window is shorter than the longest plausible lag in your mix, the model will assign that channel's late effect to base or to whichever variable trends with it, and the channel will look weaker than it is.
Saturation. The transformation that captures diminishing returns: every additional dollar of spend on a channel produces less incremental outcome than the previous one. Saturation is what bends response curves away from straight lines and what makes mROI fall as spend rises. The gotcha is that the saturation form (Hill, Michaelis-Menten, logistic) plus the priors on its parameters are usually the single biggest driver of where the inflection in your response curve sits, and therefore of where the model tells you to spend more and where it tells you to spend less.
Hill saturation function. A flexible S-shaped saturation function with two main parameters: a half-saturation point (EC50) and a shape parameter (n) that controls how sharp the curve is. Hill is the default in Meridian and a common choice in PyMC-Marketing. The gotcha is that Hill can produce a true S-shape with a steep takeoff, which implicitly says the channel needs a minimum viable spend before it works. If you do not actually believe your channel has a threshold, an aggressive Hill curve invents one and bends your allocation around a floor that does not exist.
Michaelis-Menten function. A monotonically concave saturation function with a single half-saturation parameter; effectively the Hill function with the shape parameter fixed at one. Michaelis-Menten shows diminishing returns from the first dollar, with no S-curve takeoff. The gotcha is symmetric to Hill's. Michaelis-Menten is the safer default when you have no evidence of a minimum-spend threshold, but it can under-credit channels that genuinely need to clear a frequency floor before they work. Pick it deliberately for the channels where the shape matches the buy, not because the library defaulted you into it.
EC50 (half-saturation point). The spend level at which a channel produces half of its maximum modeled effect. EC50 sets where the response curve bends; everything to the left is steep, everything to the right is flat. The gotcha is fit relative to history. If EC50 sits far below your historical spend range, the model thinks you have been deep in diminishing returns for years and will recommend cuts. If it sits far above, the model thinks you have untapped headroom and will recommend more. Sanity-check EC50 against the spend you have actually run before acting on either recommendation.
Hill shape parameters (K and n). In the Hill formulation, K is the half-saturation point (the same role as EC50) and n is the Hill coefficient that controls steepness. A low n produces a gentle concave curve that resembles Michaelis-Menten; a high n produces a sharp S-shape. The gotcha is the prior on n. A wide prior centered above one quietly tells the model to assume the channel has threshold dynamics, and the rest of the fit follows from there. Tighten that prior, or constrain n outright, unless you have evidence the threshold is real.
Statistical framework
Priors. In a Bayesian MMM, priors are the distributions you put on every parameter (adstock half-life, EC50, channel coefficients) before the model sees the data. Priors are how external knowledge enters the model: lift studies, geo tests, vendor benchmarks, category common sense. The gotcha is that weakly informative defaults are still priors. If you do not set them deliberately, the library's defaults are doing it for you, and those defaults were chosen for a generic case rather than for your category and your channel mix.
Posterior. The updated distribution over a parameter after the model has been fit to data. The posterior combines the prior and the likelihood: with tight data the posterior moves toward the data, with thin data it stays close to the prior. The gotcha is the close-to-prior posterior. If a parameter's posterior looks suspiciously similar to its prior, the model did not learn that parameter from the data; it learned it from whoever set the prior. Fine when the prior is calibrated to an experiment, dangerous when the prior is a vendor default no one inspected.
Credible interval. The Bayesian range that contains the true parameter with a stated probability (commonly 95 percent) given the data and the priors. A 95 percent credible interval on a channel's contribution says the model is 95 percent sure the true value sits inside that range. The gotcha is omission. Credible intervals are easy to compute and easy to leave out of decks. If a channel's credible interval on ROI spans break-even, reallocating budget toward it is not a defensible decision regardless of where the point estimate lands.
Bayesian vs frequentist framing. Bayesian MMMs (Meridian, Robyn in its Bayesian mode, PyMC-Marketing) produce posteriors and credible intervals; frequentist MMMs produce point estimates and confidence intervals from sampling distributions. The Bayesian framing matters more in MMM because it lets you encode prior knowledge from experiments. The gotcha is labeling. Bayesian on a vendor slide does not automatically mean the priors carry information. If the priors are flat or library-default, the model is Bayesian in machinery and frequentist in spirit, and the credible intervals it reports are doing less work than they look like they are.
Identifiability. Whether the data can actually distinguish one channel's effect from another's. If two channels are flighted together for the entire window, the model cannot tell them apart and will split credit based on the priors. The gotcha is silence. Identifiability problems do not announce themselves; the model produces a clean-looking decomposition anyway. Diagnose with parameter correlation plots and by checking whether a channel's contribution swings when you remove a correlated channel from the fit. If it swings, the original fit was not measuring what it claimed to measure.
Validation and calibration
Calibration. The practice of constraining a model's parameters to match a real-world experimental result for at least one major channel. In Bayesian MMM, calibration usually means putting an informed prior on a channel's coefficient based on a lift study, geo holdout, or pause test, then refitting so the rest of the model has to fit around that anchor. The gotcha is that an uncalibrated MMM is a named anti-pattern for a reason: with no channel tied to an experimental result, the model is internally consistent but externally unanchored, and every decision it implies is exploratory.
Lift study. A controlled experiment (geo holdout, ghost bidding, matched-market, conversion lift on a platform) that estimates the causal effect of a channel by comparing treated and untreated groups. Lift studies are the cleanest single read on whether a channel is doing real work and the right input for calibrating an MMM prior. The gotcha is precision. Lift estimates have their own confidence intervals and decay as conditions change; the math behind incrementality is what tells you whether a result is decision-grade or directional.
Geo holdout. A specific incrementality design: hold one or more matched geographies dark on a channel for a pre-agreed window, then compare outcomes against control geos. Geo holdouts are the workhorse incrementality method for upper-funnel and platform-agnostic channels: TV, CTV, audio, retail media. The gotcha is design quality. A six-week test on two small markets will produce a confidence interval wide enough to drive a truck through; the design choices that make geo-lift trustworthy happen before launch, not during analysis.
Pause test. A simpler experiment in which a channel is turned off for a defined window and the outcome change is measured against the pre-period and a parallel control. Pause tests are cheap, fast, and especially useful for branded paid search and platform retargeting, where the suspicion is that the channel is harvesting demand rather than creating it. The gotcha is the control. Pause tests confound seasonality and competitive moves unless you have a real comparison group; a pause without a control is anecdote presented as measurement, and it will mislead the budget conversation that follows.
Backtest and holdout validation. Refitting the model on a subset of history and checking how it predicts the holdout period; rolling-window backtests do this repeatedly across the window. Backtesting is how you find out whether the model is stable or simply well-fit to its training window. The gotcha is the in-sample fit statistic. A high in-sample R-squared proves nothing about stability; if channel contributions swing wildly across rolling refits, or if holdout prediction error is much worse than in-sample error, the model is not ready to drive budget no matter how good the headline fit looks.
How to apply this in practice
When an MMM readout lands on your desk, work through these questions in order. They are written as a defensive checklist: each one is designed to surface whether the model is anchored to reality or quietly relying on defaults.
Start with calibration, not the pie chart. Ask which channels are calibrated to experiments. If the answer is none, treat every contribution number in the deck as a soft hypothesis rather than a measurement. The order matters; if you start with the headline contribution chart, you will spend the meeting debating splits that the model is not actually qualified to make.
Interrogate time dynamics. Check the half-life on every channel. Anything implausible (paid search with a six-week half-life, for example) is a red flag that the model is on autopilot. Confirm that the adstock form, geometric or Weibull, matches the channel's actual buying cycle rather than the library default.
Interrogate saturation. Confirm which saturation curve is in use per channel and what the priors are on EC50, K, and n. Then compare the historical spend range to the plotted response curve. Anything far outside the spend range you have actually run is extrapolation, and the smoothness of the curve out there is the model finishing the sentence rather than the data speaking.
Look at mROI, not just ROI. Use mROI at current spend to drive reallocation. If the deck shows only average ROI, ask for marginal explicitly; budgets move at the margin and the average is the wrong number to optimize against.
Demand uncertainty. For every contribution and ROI number, ask for the 95 percent credible interval. If the intervals on two channels overlap heavily, the recommendation to shift budget from one to the other is unproven, regardless of where the point estimates fall.
Plan experiments from the model's blind spots. Use the widest credible intervals and the most sensitivity-dependent priors to decide which geo tests or pause tests to run next. The goal is not a perfect model; it is a model that gets less wrong over time as each experiment retires another assumption.
Who this is for
Performance marketers who suddenly own MMM because multi-touch attribution broke. Data scientists and analysts implementing Meridian, Robyn, or PyMC-Marketing. Finance and leadership who need to understand what MMM can and cannot say about budget shifts. Read the glossary as a defensive tool rather than a vocabulary list; the entries that matter most are the ones you can use to push back on a slide.
How should I use this glossary when reviewing an MMM readout?
Use it as a checklist. For every chart or metric on the slide, map it to a glossary term: adstock, saturation, priors, calibration, mROI, credible intervals. Then ask the corresponding questions. Are the half-lives plausible by channel? Are the saturation priors realistic given historical spend? Which channels are calibrated to experiments and which are running on defaults? Where are the uncertainty intervals, and how wide are they on the contributions and ROIs that the recommendation depends on? The glossary stops being a reference and starts doing real work the moment you use it to interrogate a specific deck.
The math will always give you an answer. An MMM run on any reasonable spend matrix will return a decomposition, a set of response curves, and a ranked list of channels by ROI. The output is generative; it does not refuse to render just because the underlying assumptions are weak. That is what makes MMM useful and what makes it dangerous in the same breath.
Calibration is what decides whether that answer is trustworthy enough to move budget. An anchored model with informed priors, credible intervals on the numbers that drive the recommendation, and at least one channel tied to a real experimental result is decision-grade. An unanchored model is exploratory at best. The glossary is the vocabulary that lets you tell the two apart in real time, in the meeting where the budget decision actually gets made.
Without external validation - geo lift tests, holdout markets, platform-side conversion experiments - an MMM is econometric storytelling with a confidence interval slapped on.
— QRY
Get smarter about paid media
Strategy and data for senior marketers. No spam.

Founder & CEO
Samir Balwani is the founder and CEO of QRY, a full-funnel paid media agency he started in 2017. He has 15+ years of advertising experience and previously led brand strategy and digital innovation at American Express. He writes on paid media strategy, measurement, and how agencies should operate.


