Skip to content
SourceLoop

Free tool

Free Marketing Mix Model Calculator

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.

Inputs

Channels and saturation

$

Default matches your current total. Change it to model expansion or cuts.

Linear (0%) Typical (50%) Saturated (95%)

How aggressively returns diminish. Most paid channels: 40 to 70%.

Channels (current state) Spend and revenue you saw last period
5 channels
Results

Current vs optimal allocation

Predicted lift from rebalancing
Optimal total revenue
Current allocation
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

Three steps from current spend to a defensible budget rebalance

Plug in real numbers, set the saturation slider, take the optimal mix as a hypothesis to test (not a verdict).

  1. google = $40K → $120K
    meta   = $30K → $90K
    email  = $5K → $40K
    sat    = 50%
    01

    Plug in real spend and revenue

    Per channel, last period. Pull from your finance data and ad platforms. Use net revenue, not platform-reported revenue.

  2. 02

    See diminishing returns

    Each channel's revenue curve flattens at higher spend. The marginal ROAS at your current spend is the slope at that point.

  3. $

    Optimal mix at $100K

    +8% vs current

    • Email +$25K
    • Google -$6K
    • LinkedIn -$9K
    03

    Test the rebalance

    Move 50% toward the optimal mix in the next period, measure, repeat. Never reallocate 100% on a single calculator run.

Concepts explained

Six concepts that make MMM math work (and where this tool stops)

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.

Best practices

Five rules for using a what-if MMM responsibly

  1. 01

    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.

  2. 02

    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.

  3. 03

    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.

  4. 04

    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.

  5. 05

    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

You modeled the optimal mix. SourceLoop gives you the channel data to feed the model.

SourceLoop channel attribution dashboard providing the per-channel spend and revenue data that feeds a Marketing Mix Model

Guide

How budget optimization actually works

The fundamental MMM idea: average ROAS lies

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.

The math, top to bottom

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.

Why this is not real MMM

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.

How to read the result

Three useful interpretations:

  • Channels marked +X% are underfunded relative to their marginal returns. Test growing them gradually.
  • Channels marked -X% are saturated. Cut budget and watch revenue drop less than proportionally.
  • The lift number is the upper bound assuming the saturation guess is correct. Real-world lift after testing is usually 30 to 60% of the predicted number.

The rebalance-halfway rule

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.

A worked example

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

Marketing Mix Modeling, FAQ

How does this Marketing Mix Model calculator work?

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.

What is saturation and how do I pick the right value?

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.

How is this different from real Marketing Mix Modeling?

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.

Why does the optimizer suggest cutting my best ROAS channel?

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.

What happens if I set saturation to 0%?

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.

Should I trust the predicted revenue lift?

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.

Is this calculator free?

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.

Track every conversion to its true source

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

Untagged

Kayden Floyd

[email protected]

  • SourceUnknown
  • MediumUnknown
  • CampaignUnknown
  • Landing pageUnknown
Journey
No touchpoints captured

With SourceLoop

Auto-tagged

Kayden Floyd

[email protected] · Acme Co.

  • Channel Paid Social
  • CampaignFree_demo
  • Landing page/pricing
Journey
Synced to HubSpot Google Ads Meta