Without SourceLoop
UntaggedKayden Floyd
- SourceUnknown
- MediumUnknown
- CampaignUnknown
- Landing pageUnknown
Free tool
Plug in current spend and revenue per channel, set a saturation level, and see how to rebalance your budget for maximum revenue. Diminishing-returns math without the 12 months of data a real MMM requires.
Current vs optimal allocation
| Channel | Current spend | Optimal spend | Change | Current ROAS | Marginal ROAS |
|---|
Marginal ROAS is the next-dollar return. A channel with high average ROAS but low marginal ROAS is saturated. The optimizer reallocates from low marginal channels to high ones until they equalize.
How it works
Plug in real numbers, set the saturation slider, take the optimal mix as a hypothesis to test (not a verdict).
google = $40K → $120K meta = $30K → $90K email = $5K → $40K sat = 50%
Per channel, last period. Pull from your finance data and ad platforms. Use net revenue, not platform-reported revenue.
Each channel's revenue curve flattens at higher spend. The marginal ROAS at your current spend is the slope at that point.
Optimal mix at $100K
Move 50% toward the optimal mix in the next period, measure, repeat. Never reallocate 100% on a single calculator run.
Concepts explained
Real MMM is regression on aggregate data. This calculator simulates the math for budget arguments without the 12 months of weekly data a real model needs.
Diminishing returns
Doubling spend on a channel never doubles revenue. The first $1,000 always works harder than the millionth. Saturation captures how steeply the curve flattens.
Marginal ROAS
Revenue from the next dollar spent, not the average. A channel with high average ROAS but low marginal ROAS is saturated. Optimizing means equalizing marginal ROAS across channels.
Saturation
How quickly returns flatten. 0% saturation = linear (rare). 50% = moderate (typical paid channels). 90% = the channel is tapped out.
Optimal allocation
The split that maximizes total revenue at a given total budget. Found by equalizing marginal returns across channels until adding $1 to any channel returns the same as any other.
Adstock / carryover
Past spend keeps working. A brand campaign in March still produces sales in May. Real MMM models this as a decay coefficient. This calculator skips it for simplicity.
Why this is not real MMM
Real MMM fits a regression on 12+ months of weekly data per channel. This calculator is a what-if simulator with assumed curves. Useful for budget arguments, not for executive sign-off.
Best practices
Treat the lift number as directional
The exact lift percentage depends on your saturation assumption, which is a guess. The direction (which channels to grow vs cut) is more trustworthy than the absolute number.
Move halfway, not all the way
Never rebalance 100% to the suggested mix in one period. Move 30 to 50%, measure for 30 to 60 days, re-run. Saturation curves are wrong by surprising amounts in practice.
Use channel-specific saturation when possible
A single global saturation hides real differences. Email saturates faster than search. Use the global slider for direction, then sanity-check by adjusting per channel mentally.
Account for adstock manually
This calculator ignores carryover. Brand and content channels keep working after spend stops. Mentally bump their effective revenue 20 to 40% before plugging in.
Never use this for executive sign-off
A what-if simulator is a budget argument tool, not a business case. For board-level decisions, run a real MMM with your data and a statistician.
Built by the team behind SourceLoop
Guide
Every marketer knows their average ROAS by channel: Google 3x, Meta 4x, Email 8x. The intuition is to put more money in Email. The intuition is sometimes wrong. Email at 8x might be saturated: the next dollar produces 2x, while Google at 3x is still linear and the next dollar produces another 3x. The right metric for budget decisions is marginal ROAS (the next dollar's return), not average. Optimizing total revenue means equalizing marginal ROAS across channels until adding $1 to any channel returns the same as any other.
For each channel, assume revenue follows a power-law in spend:
revenue(s) = a * s^e
where:
a = current_revenue / current_spend^e (fit from current state)
e = elasticity (1 - saturation/100, capped at 0.95)
Marginal revenue (dRev/dSpend) at the current spend equals
e × current_ROAS. With elasticity 0.5 and
current ROAS 3x, marginal ROAS is 1.5x.
To maximize total revenue at a fixed total budget B:
optimal_share_i = a_i^(1/(1-e)) / sum_j(a_j^(1/(1-e)))
optimal_spend_i = optimal_share_i * B
predicted_rev = sum_i(a_i * optimal_spend_i^e)
The exponent 1/(1-e) is what makes high-marginal
channels grow faster than low-marginal ones in the optimal
allocation. At e=0.5 (50% saturation), the exponent is 2,
which is why an Email channel with 8x average ROAS often
gets a much larger share than a Google channel with 3x
average ROAS — the marginal advantage compounds.
Real Marketing Mix Modeling is a multivariate regression on 12 to 24 months of weekly data per channel. It models adstock (how spend in week 1 still produces revenue in week 5), seasonality, external factors, and channel-specific saturation curves. It produces confidence intervals for every coefficient. This calculator skips all of that: single global saturation assumption, no adstock, no regression. The advantage is you can use it without 12 months of data. The disadvantage is the lift number is directional, not exact.
Three useful interpretations:
Never move 100% to the suggested allocation in one period. The saturation curves are wrong by surprising amounts in practice — channels that look saturated sometimes scale further than expected, and channels that look untapped sometimes hit hidden ceilings. The standard practice in paid marketing is to move 30 to 50 percent toward the suggested mix, measure for 30 to 60 days, re-run the model, and iterate. Three or four iterations get you most of the way to the optimal mix while avoiding the catastrophic rebalances that come from trusting any single model output completely.
You have $100K/quarter across 5 channels. Google Ads ($40K → $120K, 3x), Meta Ads ($30K → $90K, 3x), LinkedIn ($15K → $30K, 2x), Email ($5K → $40K, 8x), Content ($10K → $20K, 2x). Total revenue: $300K. At 50% saturation, the optimizer suggests Google $34K, Meta $26K, LinkedIn $6K, Email $30K, Content $4K. Email's high marginal ROAS pulls a lot of budget toward it. LinkedIn and Content get cut sharply because their average ROAS is only 2x and they look saturated. Predicted total revenue at the new mix: $324K, an 8 percent lift. The honest read: 4 to 5 percent lift is a realistic post-test outcome, with the direction (grow Email, cut LinkedIn) being more reliable than the exact number.
FAQ
You enter current spend and revenue per channel and a saturation level. The calculator assumes a power-law revenue curve per channel, fits the curve to your current state, and finds the budget allocation that maximizes total revenue at a given total budget. The optimal split equalizes marginal ROAS across channels, which is the standard rule from media optimization literature.
Saturation is how quickly diminishing returns kick in for a channel. Concretely, this calculator uses an elasticity coefficient (e) where saturation 0% means e=1 (linear, no diminishing returns) and saturation 100% means e=0.05 (almost flat). Realistic values: paid social 50 to 70%, paid search 40 to 60%, display 60 to 80%, content/SEO 30 to 50%, email 20 to 40%. The default of 50% is a reasonable starting assumption for most paid channels.
Real MMM fits a multivariate regression on 12 to 24 months of weekly spend and revenue data per channel, models adstock (carryover effects), accounts for seasonality and external factors (competitor activity, macroeconomic), and produces channel-specific saturation curves with confidence intervals. This calculator is a what-if simulator that uses a single global saturation assumption to redistribute a fixed budget. Useful for budget arguments and quick sanity checks, not for board-level decisions.
Because best average ROAS does not mean best marginal ROAS. A channel that delivered 8x average might be saturated at current spend, meaning the next dollar only returns 4x. A channel currently at 3x might still be linear, returning 3x on the next dollar too. The optimizer redistributes toward channels with high marginal returns even if their average ROAS is lower. Counterintuitive but mathematically correct.
Zero saturation means linear returns, where doubling spend doubles revenue. The optimizer collapses to 'put everything in the highest-ROAS channel'. This is wrong in practice (every channel saturates eventually), so the calculator caps elasticity at 0.95 instead of letting it go to 1.0. For real-world budget decisions, saturation 30 to 70 percent is the realistic range.
Treat it as directional, not exact. The lift number depends entirely on your saturation assumption, which you cannot know precisely without real MMM. The directional signal (which channel is over- or underfunded relative to its marginal return) is more trustworthy than the absolute lift percentage. Use the calculator to find the rebalancing direction, then test conservatively.
Yes. No signup, no email gate. We host it because the same teams trying to optimize their channel mix also need real attribution data to feed the model, which is what SourceLoop does.
Capture and send full attribution data from every signup, lead, booking, and sale to your CRM and ad platforms, so you know exactly what's driving revenue.
Without SourceLoop
UntaggedKayden Floyd
With SourceLoop
Auto-taggedKayden Floyd