- Average ROAS describes committed spend. Marginal ROAS is the only one about a decision you still get to make.
- Marginal response is the first derivative of the response curve, the next dollar at a given spend level. [1]
- Saturation is the standing assumption of marketing mix modeling: each added unit raises response at a declining rate. [1]
- A channel can show 5.4x blended at the exact point its next dollar returns 1.0x.
- Allocate by equalizing marginal return across channels, which is literally what Robyn’s allocator solves for. [1]
- Models bend by assumption. Test the bend with a step change or a geo experiment before believing it. [3]
- Geo experiments randomly assign non-overlapping regions to control or treatment via geo-targeted ads. [3][4]
Two people look at the same channel on the same afternoon. One sees 5.4x and wants to scale it. The other sees a dollar that returns a dollar and wants to move the budget. Neither is misreading the dashboard, because the dashboard only shows one of those numbers, and it is the one that cannot answer the question being asked.
Average return on ad spend divides all of the revenue by all of the spend. It is a summary of money already committed, most of it committed at lower spend levels where it worked better. The decision in front of you is never about that money. It is about the next increment.
The definition that fixes the confusion
Marketing mix modeling has had precise language for this for years, and it is worth borrowing exactly. In Meta’s open-source model the marginal response “is equal to the first derivative of a given point at the nonlinear curve. In layman’s term, it’s the ‘next dollar response’ on a given spend level.” [1]
The reason it declines is the founding assumption of the whole discipline. The same documentation states the theory of diminishing returns plainly: “each additional unit of advertising investment increases the response at a declining rate.” [1] Google’s open-source model is built the same way, with saturation among the real-world effects it assumes and response curves among the outputs it produces. [2]
Hold those two ideas together and the gap between your two numbers stops being a paradox. Average return is a backward-looking blend that includes every cheap early dollar. Marginal return is the live edge of the curve. They start together and separate for as long as you keep scaling.
To see how far apart they get, take one channel and read both numbers at rising spend. The table below does that on a negative-exponential response curve, the shape published marketing mix frameworks assume. [1][2] It is a modeled illustration rather than measured data, which is the point: this separation is not a quirk of one account, it is what a saturating curve does by construction.
| Monthly spend | Average ROAS | Marginal ROAS | What the dashboard suggests | What the margin says |
|---|---|---|---|---|
| $10,000 | 13.2x | 10.7x | Scale hard | Scale hard |
| $30,000 | 9.3x | 4.8x | Still excellent | Slowing, keep going |
| $50,000 | 6.9x | 2.2x | Healthy | Approaching the floor |
| $70,000 | 5.4x | 1.0x | Healthy | Stop |
Read the bottom row twice. Same channel, same month, and the two numbers give opposite instructions. The gap between them is not an error in either one. It is the whole reason the decision feels obvious to one person in the room and reckless to another.
The average is not lying. It is answering a question about the past with admirable accuracy, and that question is not the one on the table.
Finding where your own curve bends
There are three ways to learn this about a real account, and they are not equally trustworthy.
The cheapest is to read your own history. Find the months when spend in a channel moved materially and look at what the incremental revenue did. This costs nothing and is thoroughly confounded, because the months you spent more were usually the months demand was higher, which is precisely why you spent more.
The second is a deliberate step change. Move a channel’s budget by enough to clear the noise, hold it long enough to read, and compute the marginal return directly: the change in revenue divided by the change in spend. The two rules that make this work are both about size. The step has to be large enough that the effect exceeds normal week-to-week variance, which in practice means 20% or more rather than 5%. And it has to be held for at least one full purchase cycle, because a change measured over a week is measuring your weekly seasonality.
It is also the point at which a purely observational read stops being trustworthy, which large-scale experimental work at Facebook demonstrated across 15 experiments and 1.6 billion impressions: observational methods often fail to reproduce what the randomized version found. [6]
The third is a geo experiment, and it is the only one that produces a causal answer. Non-overlapping geographic regions are randomly assigned to control or treatment, and each region realizes its assigned condition through geo-targeted advertising. [3] Google has published both the original method and a later time-based regression framework for accounts with fewer geographic units to work with, along with an open-source implementation. [4][5] This is the same machinery behind incrementality testing, pointed at a different question: not whether the channel works, but how much more of it is worth buying.
The trap in trusting the curve your model drew
Here is the failure mode that catches sophisticated teams rather than careless ones.
Modeling frameworks build saturation in by assumption. Robyn fits a Hill function whose parameters control the shape and the inflection point of the curve. [1] That is a sensible default, because response really does saturate. But an assumed shape will produce a bend whether or not your observed spend range contains any evidence of one. Feed a model a channel you have only ever run between $10,000 and $15,000 a month, and it will still draw you a confident curve out to $60,000, complete with a recommended cap.
The practical rule is to treat any model recommendation outside your tested spend range as a hypothesis with a suggested experiment attached, not as a finding. If the curve says stop at a number you have never actually spent, you do not know that yet. A step-change test costs one month of partial discomfort. Believing the extrapolation costs a quarter.
The symmetrical error is just as expensive and gets discussed far less: a channel that is genuinely still linear, capped early because the model insisted it must be bending. Under-spending a working channel produces no incident, no alarm, and no line item. It just quietly does not happen.
Reading saturation before the revenue tells you
Some indicators move before marginal return collapses, and they are worth watching precisely because they lead.
- Frequency rising while reach stays flat. You are buying the same people more times, which is the mechanical definition of running out of audience.
- Impression share climbing toward its ceiling. There is a hard limit to how much of a finite auction you can buy, and search hits it early.
- Cost per click drifting up while conversion rate holds steady. You are bidding into thinner inventory rather than converting worse.
- New-customer share falling inside a stable total. The channel is increasingly harvesting people it already reached.
- Diminishing response to creative refreshes. When new work stops producing its usual bump, the constraint is not the work.
None of these prove saturation on their own. Together they tell you which channel to point the next test at, which is all a leading indicator is ever supposed to do.
The allocation rule, and the meeting it has to survive
The rule itself is one line: move budget from lower marginal return to higher marginal return until they are equal. This is not a philosophy, it is what optimization software actually computes. Robyn’s allocator uses gradient-based nonlinear optimization with bounds and constraints, converging marginal returns across channels to maximize total response. [1]
Doing it by hand means moving in increments rather than leaps, because every reallocation changes both curves. Move 10% to 20% of a channel’s budget, hold, remeasure, repeat. Each move is small enough to reverse and large enough to read.
Then comes the hard part, which is not analytical. Somebody senior is looking at 4x blended on the channel you are proposing to cut, and it looks like you want to defund the thing that works. The argument that lands is not a lecture about derivatives. It is arithmetic on the increment: the last 20% of spend in that channel produced this much revenue, here is the ratio, and here is the same ratio for the channel receiving the money. Both the 4x and the 1.1x are true. Only one of them is about a decision that has not been made yet.
This is also where the discipline connects to everything upstream of it. Marginal return is computed on revenue, and revenue is the wrong unit if your conversion values are not margin, because a channel selling low-margin inventory will show a flattering marginal ROAS right up to the point it stops paying rent. And a marginal read taken from platform-reported conversions inherits every attribution problem those numbers carry, which is why mix modeling and experiments exist as a layer above them rather than beside them.
Run the whole thing monthly and it stops being a project. One channel gets a step change, one gets a geo test if the budget justifies it, and the allocation moves in increments small enough that nobody has to be right about the shape of a curve nobody can see.
Sources
- Meta, Robyn · Robyn features: adstock, saturation, and the budget allocatorthe Hill saturation function and its alpha and gamma parameters, the statement that each additional unit of investment increases response at a declining rate, marginal response as the first derivative or next dollar response, and the allocator converging marginal returns across channels
- Google · Meridian: about the projectGoogle’s open-source marketing mix model, building in saturation and producing response curves and budget optimization recommendations
- Google Research · Measuring ad effectiveness using geo experimentsVaver and Koehler: non-overlapping geographic regions randomly assigned to control or treatment, realized through geo-targeted advertising
- Google Research · Estimating ad effectiveness using geo experiments in a time-based regression frameworkKerman, Wang, and Vaver: the later approach for accounts with fewer geographic units available to test
- GitHub · google/GeoexperimentsResearchan open-source implementation of the geo experiment analysis methodology developed at Google
- Marketing Science · A comparison of approaches to advertising measurement: evidence from big field experiments at Facebookwhy an observational read of a spend change is not a substitute for an experiment
Frequently asked questions
What is the difference between average and marginal ROAS?
Average ROAS divides all the revenue by all the spend across a period. Marginal ROAS is what the next increment of spend returns. Meta’s open-source marketing mix model puts it precisely: the marginal response “is equal to the first derivative of a given point at the nonlinear curve,” or in plain terms, the next dollar response at a given spend level.
Why is marginal always lower than average?
Because response saturates. The standard assumption across marketing mix modeling is that each additional unit of investment increases response at a declining rate, so every dollar you add returns less than the one before it. That drags the average down slowly while the margin falls quickly, which is why the two numbers separate as you scale.
Can a channel look profitable and still be losing money at the edge?
Routinely, and this is the entire problem. On a standard saturating curve a channel can report better than 5x blended at exactly the spend level where the next dollar returns about 1x. Every dollar of history is subsidizing the read on the dollar in front of you.
How do I actually find my own curve?
Three ways, in increasing order of trust. Look at what happened historically when spend moved materially, which is cheap and confounded. Run deliberate step changes in budget and hold them long enough to read. Or run a geo experiment, where non-overlapping regions are randomly assigned to control or treatment through geo-targeted advertising, which is the only one that gives you a causal answer.
How big should a budget step change be?
Big enough to produce a signal larger than the week-to-week noise, which usually means 20% or more rather than 5%. A small change inside normal variance tells you nothing, and running it for a week tells you less. Hold it for at least one full purchase cycle.
What is the correct allocation rule?
Move budget until the marginal return is equal across channels. If Meta returns 3x on its next dollar and search returns 1.2x, the portfolio is not optimized no matter how good either average looks. Robyn’s budget allocator does exactly this numerically, converging marginal returns across channels to maximize total response.
What are the leading indicators that a channel is saturating?
Rising frequency against flat reach, impression share climbing toward its ceiling, cost per click drifting up while conversion rate holds, and new-customer share falling inside stable total conversions. None of these prove saturation, but they all move before the revenue does.
Should I trust the saturation curve my model draws?
Only as far as your data supports it. Modeling frameworks build saturating shapes in by assumption, which means a curve will bend whether or not your spend range contains evidence that it bends. If your model says stop at a level you have never actually tested, the honest answer is that you do not know yet, and a step-change test is cheaper than the mistake.
How do I explain a negative marginal return to a finance team looking at 4x blended?
Show them the arithmetic on the increment rather than arguing about the average. The last 20% of spend in that channel produced a specific amount of revenue, and that ratio is the one that decides whether the next 20% should exist. Both numbers are true, and only one of them is about a decision that has not been made yet.




