Saturation
Saturation is the flattening of response as spend rises: each additional dollar in a channel buys less than the one before, because audiences exhaust and auctions get more expensive. MMMs encode this as a concave curve, usually a Hill function, and it is the mathematical reason budgets have an optimal split.
The Hill function has two parameters worth knowing by name, because vendor decks show them without introduction. The half-saturation point (k) is the spend level at which the channel delivers half its maximum response; below k the curve is still steep, above it the flattening is under way. The shape parameter (s) controls how abrupt the bend is: a low s bends gently from the first dollar, a high s stays nearly linear and then hits a wall. Both Robyn and PyMC-Marketing use Hill-type saturation transforms.12
Saturation is what turns a decomposition into a decision. The optimizer behind an MMM's "optimal allocation" output is doing one thing: moving dollars from channels past their bend to channels before it, until marginal returns equalize. Without a saturation curve there is no bend, no equalizing, and no allocation output worth the slide it is printed on.
Bend the curve yourself
One 100-unit pulse of spend in week 1, nothing after. The decay rate is the fraction of last week's effect that survives into this week; the half-life is how many weeks until half the effect is gone. TV-like channels sit at high decay, performance channels low. Values here are illustrative, not benchmarks.
Worked micro-example: marginal ROAS near saturation
A channel returns $4.00 revenue per dollar on average at its current $500k/mo spend. The response curve says moving to $600k adds only $150k revenue: marginal ROAS = 1.5 (150k / 100k), even though average ROAS still prints 4.0. If your contribution margin is under 67%, that last $100k loses money while the dashboard celebrates. Average ROAS describes the past; marginal ROAS prices the next dollar. This distinction has its own page: ROI vs ROAS.
Source ledger
Every numeric claim on this page resolves to one of these primary sources.
- [1]Meta Robyn feature documentationhttps://facebookexperimental.github.io/Robyn/docs/featuresretrieved 2026-08-02
- [2]PyMC-Marketing documentationhttps://www.pymc-marketing.io/retrieved 2026-08-02