Glossary · Budget Optimization
mROAS

Marginal ROAS

Definition

The revenue generated by the next incremental dollar of ad spend on a given platform — not the average return on all spend to date. The correct signal for retail media budget allocation decisions.

Formula
mROAS = ΔRevenue ÷ ΔSpend
i.e. the slope of the return curve at the current spend level

A platform reporting a 5x average ROAS on $50,000 of spend does not mean the next $10,000 will also return 5x. In nearly every retail media channel, the first dollars spent capture the highest-value inventory — top-of-search placements, in-stock best-sellers, high-intent keyword auctions. As spend increases, the campaign moves into progressively less efficient inventory. The marginal return on each additional dollar is lower than the last.

This is why two platforms can have identical average ROAS but completely different allocation implications: the one that's underfunded has high marginal returns, while the one that's overfunded has low marginal returns.

Average ROAS vs. Marginal ROAS: The Difference That Changes Everything

Platform Current Spend Average ROAS Marginal ROAS Allocation Signal
Amazon Ads $40,000 4.8x 4.1x ↑ Underfunded — add budget
Walmart Connect $55,000 4.6x 1.9x ↓ Overfunded — reduce budget
Criteo $25,000 3.9x 3.2x → Near optimal

Looking at average ROAS only, the three platforms appear roughly comparable (4.8x, 4.6x, 3.9x). A planner using average ROAS might leave allocations unchanged or modestly shift toward Amazon. But marginal ROAS reveals a stark difference: Walmart is already saturated (1.9x at the margin) while Amazon still returns 4.1x on the next dollar. Every $1,000 shifted from Walmart to Amazon generates approximately $2,200 of additional attributed revenue on the same total budget.

The allocation rule

Optimal budget allocation is achieved when marginal ROAS is equal across all platforms. If any platform returns more at the margin than another, shifting budget toward the higher-marginal-return platform increases total revenue without increasing total spend.

Why Marginal ROAS Requires Normalized Data First

Marginal ROAS is only a reliable allocation signal if the underlying ROAS figures are measured on comparable terms. Amazon's 14-day last-click window, Walmart's 30-day view-inclusive window, and Criteo's first-click model produce incomparable average ROAS figures — meaning the marginal ROAS estimates derived from them are also incomparable.

The correct sequence is: normalize first, then compute marginal returns. A normalized ROAS baseline brings all platforms to a common measurement standard (14-day last-click equivalent). Marginal ROAS estimates built on normalized data produce allocation recommendations that reflect true performance differences, not measurement differences.

How Marginal ROAS Is Calculated in Practice

Step 1: Fit a return curve

Historical weekly spend and revenue data for each platform is used to fit a Hill curve (also called a saturation curve). The Hill function captures the characteristic shape of retail media performance: steep returns at low spend, decelerating growth as the platform approaches saturation.

Step 2: Differentiate the curve

The first derivative of the Hill function at the current spend level gives marginal ROAS at that point. This is the slope of the return curve — how much additional revenue is generated per additional dollar of spend.

Step 3: Equalize across platforms

With marginal ROAS estimates for each platform, the optimizer finds the budget allocation where all marginal returns are equal, subject to any minimum spend constraints. This is the mathematically optimal allocation for maximizing total revenue on a fixed budget.

Constraints That Bound the Optimization

Pure marginal ROAS optimization must account for real-world constraints: minimum spend commitments to specific platforms, data maturity (a platform with two weeks of data has wide confidence intervals on its return curve), and auction saturation thresholds where increasing spend produces sharply diminishing returns regardless of the curve fit.

FAQ

Is marginal ROAS always lower than average ROAS?

In almost all cases, yes. The exception is a severely underfunded platform that hasn't reached the efficient range of its return curve — in that case, early incremental spend can actually generate higher marginal returns than the current average because the campaign is still on the steep part of the curve. This is relatively rare at meaningful budget levels.

How much data do I need to calculate marginal ROAS reliably?

As a rule of thumb, at least 8–12 weeks of weekly spend-revenue data with meaningful variance in spend levels (ideally, some periods of higher and lower spend) is needed to fit a reliable return curve. With fewer data points or no spend variation, the curve fit will have wide confidence intervals and the marginal ROAS estimates should be treated with caution.

Can I use marginal ROAS to evaluate campaigns within a single platform?

Yes — the same principle applies at the campaign or ad group level. A high average ROAS campaign that is already well-funded may have lower marginal returns than a lower-average-ROAS campaign that is underfunded. Budget allocation within platforms benefits from the same marginal thinking as cross-platform allocation.

What's the difference between marginal ROAS and incremental ROAS?

Marginal ROAS measures the return on the next dollar of spend, derived from the return curve. Incremental ROAS (iROAS) measures the revenue that wouldn't have occurred without the advertising — it corrects for organic purchases that would have happened anyway. The two concepts are complementary: normalize for attribution first, apply marginal analysis for allocation, and use incrementality testing to validate true causal impact.

RetailNorm calculates marginal ROAS for each platform by fitting Hill curves to your normalized spend-revenue history. The budget optimizer finds the allocation that equalizes marginal returns across platforms, expressed as a projected revenue uplift on your current total budget.

Run a marginal ROAS analysis on your own data →