Uncommon Insights
Marketing Attribution
Marketing Attribution

Marketing Mix Modeling for Ecommerce Brands Past $1M

A brand doing $8M in annual revenue called me last quarter. They were spending $500K a month on Meta and pulling a reported 3.0x ROAS. The CMO pushed spend to $750K to chase a Q4 forecast. ROAS dropped to 1.8x. Revenue grew, but gross profit shrank.

9 min read · 16 August 2025

Marketing Mix Modeling for Ecommerce Brands Past $1M

Marketing Mix Modeling for Ecommerce Brands Past $1M

A brand doing $8M in annual revenue called me last quarter. They were spending $500K a month on Meta and pulling a reported 3.0x ROAS. The CMO pushed spend to $750K to chase a Q4 forecast. ROAS dropped to 1.8x. Revenue grew, but gross profit shrank. The platform did not fail them. Their math did.

This is the hidden problem buried inside every ecommerce budget meeting past $1M in annual revenue. Platform attribution assumes your next dollar behaves like your last dollar. It does not. Every channel has a saturation point where incremental spend produces shrinking marginal revenue. If you do not measure that curve, you will scale yourself broke while your dashboard tells you everything is fine.

The $23K-Per-Month Blind Spot Hiding in Your Budget

Platform reports show linear channel performance. You spent $100K on Facebook, got $300K in attributed revenue, ROAS is 3.0x. So you reason that $200K will produce $600K. Any operator who has scaled paid spend past a certain threshold has felt what happens next. The second dollar does not behave like the first. The tenth does not behave like the ninth. You hit a wall, and the wall is invisible in every default reporting view.

Companies relying only on platform attribution reports allocate budgets 23% less effectively than those using marketing mix modeling to quantify channel saturation, according to Admetrics MMM analysis. That is not a rounding error. For a brand spending $1M per year on paid media, that is $230K of wasted spend baked into the budget before Q1 even starts. Per month, that is roughly $19K to $23K leaving the building with no marginal return attached to it.

The deeper problem is that platform attribution is designed to sell more platform inventory. Meta's system claims credit for every conversion that touched its pixel. Google Ads does the same. Klaviyo does the same. Add up the attributed revenue from all your platforms and you will find you sold your product 2.4 times. That math is impossible, which is the first clue that the reports are lying about something structural.

Beyond double-counting, the platforms cannot tell you where the curve bends. Your ad account dashboard shows the average ROAS across your total spend. It does not show you what the next $10K will actually produce. That is the number that runs your business. Measured saturation curves research makes the point plainly: revenue is a logarithmic function of spend, not a linear one. The first $50K you spend on a channel is almost always more productive than the tenth $50K. Ignore that and you are scaling a channel past its usefulness.

For operators past $1M in annual revenue, this is the gap between perceived and real performance. You think your Facebook is healthy at 2.8x ROAS. In reality, your first $100K is producing 4.5x and your last $100K is producing 1.2x. The blended number hides both the opportunity and the leak. You cannot fix what a single average has averaged away.

The Saturation Curve Analysis System

I call the replacement The Saturation Curve Analysis System. It is a statistical modeling layer that maps each channel's unique diminishing-return curve. It exposes the point where incremental spend becomes wasteful. It reveals the real best-case budget allocation, where marginal revenue equals true channel cost, not platform-reported ROAS.

I have deployed The Saturation Curve Analysis System across a handful of ecommerce brands in the $2M to $15M revenue range. The pattern is consistent. Every brand finds a 15% to 25% productivity gain within 60 days of the first reallocation, without any new media buying or creative overhaul. That gain comes from moving budget away from saturated channels and into under-deployed ones that still sit on the steep part of their curve.

The logic has three layers. First, every channel has its own curve. Meta saturates fast during Q4 because auction density spikes. Google Shopping saturates more slowly but hits a harder ceiling once you have exhausted your branded and high-intent non-branded queries. SMS and email never saturate in the same way, but their curves are capped by list size, not auction pressure. Second, the curve is logarithmic. Every incremental dollar produces less revenue than the last one, in a predictable mathematical pattern. Third, curves move. Audience sizes shift. Creative fatigues. Competitor spend pushes your curve down. A model you built in January is lying to you by April.

The Saturation Curve Analysis System answers the one question platform attribution cannot: what will your next dollar produce in this specific channel, right now? When you answer that question across six to eight channels, reallocation becomes a math problem, not a politics problem. You do not argue about which channel is winning. You read the curve, find the channels where the next dollar produces the most revenue, and move money there.

Ruler Analytics MMM frames this well. Marketing mix modeling is not about which channel is best. It is about where the next dollar is best spent. That reframe is what changes how you run the budget meeting.

Phase 1: The Data Lift (Days 1-30)

Before you build any model, you need clean historical data. Most brands get stopped here, because their spend and revenue live in six different tools and nobody has ever joined them properly.

Week 1: Pull 18 to 24 months of historical spend by channel, by week. Not by month. Weekly is the minimum resolution that lets the model see saturation. If you have only 12 months of history, the model will work, but the confidence intervals will be wider. For each channel, pull the actual invoice amount. Meta billing, Google Ads billing, TikTok billing, Klaviyo send fees, SMS platform fees, influencer payments, affiliate payouts. Platform-reported spend is fine for ad networks, but do not forget agency retainers and creative production cost if those are meaningful.

Week 2: Pull weekly revenue by channel using a first-touch or last-touch model from your single source of truth. GA4, Shopify, or whichever warehouse you run. The model does not care which attribution logic you pick, as long as it is consistent across the 18 to 24 months. MMM is going to strip out the attribution noise anyway. What it needs is a consistent y-variable.

Week 3: Pull external variables that move revenue outside your control. Promotional periods (Black Friday, EOFY for Australian brands, Memorial Day). Weather spikes if your product is seasonal. Competitor launch events. Major creative or product launches on your side. PR mentions. Any TV or OOH spend. These are the confound variables that a good model controls for. Without them, your model will attribute a Q4 revenue spike to whichever channel you happened to scale in November.

Week 4: Build the master dataset. One row per week. Columns for each channel's spend, each external variable, and the revenue outcome. A small brand will have 20 to 30 columns and 100-ish rows of data. That is enough for a first pass. Lebesgue MMM overview lists the specific data requirements for ecommerce brands and is the cleanest checklist I have seen for this stage.

One warning. If your spend in a channel has never varied, the model cannot estimate its curve. You need variation. If you have spent exactly $50K on TikTok every week for a year, the model sees a flat line and cannot tell you what $30K or $80K would produce. Most brands have natural variation in their spend. If you do not, plan a deliberate test in Phase 2 where you vary spend by channel to create the signal the model needs.

Phase 2: Building the Model and Reallocating (Month 2-3)

Month 2 is where you build the actual saturation curves. You have three credible paths.

Path 1 is open source. Robyn from Meta and LightweightMMM from Google are free and well documented. Both require a competent analyst (internal data scientist, contractor, or a capable agency) who understands Bayesian regression. Budget two to four weeks of analyst time.

Path 2 is a managed platform. Measured, Rockerbox, and a handful of smaller vendors will run the model for you for a monthly fee, typically $3K to $8K depending on brand size. For most brands past $3M in revenue and under $20M, this is the faster path. Rockerbox budget guide publishes a useful description of what that service looks like in practice.

Path 3 is a consulting engagement. A specialist firm builds the model, delivers the curves, and hands you a reallocation plan. Typically $25K to $60K for the first engagement. Useful if you want one-time strategic clarity rather than an ongoing tool.

Whichever path you pick, the output should be a set of saturation curves, one per channel, showing predicted revenue at every spend level from zero to your historical maximum plus 30%. The curves will not be smooth. They will have inflection points. That is the information you are paying for.

Month 3 is reallocation. Do not move more than 30% of a channel's budget in a single month. The model is a forecast, not a guarantee. The goal is to test the curve's predictions with real spend, then feed the result back in and tighten the model.

Start with the most over-saturated channel. Usually Meta or Google for brands past $3M. Cut the bottom 20% of that channel's spend (the lowest-returning audiences, the weakest campaigns) and move that money into whichever channel has the steepest curve below your current spend. For most brands I have seen, that channel is SMS, a direct mail test, or a partnership and affiliate push. These channels are under-deployed because they are harder to scale inside a platform interface, not because they do not work.

Measure outcomes weekly against the model's prediction. If the curve said a $50K Meta cut would reduce revenue by $30K but you actually see a $15K drop, your curve was too pessimistic on Meta's saturation point. Update the model and repeat. Expect to move 8% to 15% of total paid budget in the first reallocation pass.

Marginal Revenue Per Dollar Is Your New North Star

Here is the reframe that matters. Stop asking "what is our blended ROAS?" Start asking "what is the marginal revenue per dollar at our current spend in each channel?" That number is the output of the curve. It is what the model exists to give you.

Marginal revenue per dollar at current spend is the predicted revenue your next incremental dollar in that channel will produce. If Meta's curve says $1.40 and SMS's curve says $4.80, you do not need a three-hour meeting to decide where to move the next $10K. You move it to SMS until SMS's marginal figure drops to $1.40 and the curves cross. That is the equilibrium the model is pointing you toward.

This metric replaces blended ROAS as the primary allocation input. Blended ROAS is an average, and averages hide saturation. Marginal revenue per dollar is a derivative, and a derivative is what you need to make allocation decisions. Your CFO will appreciate the shift because it finally lets you justify budget moves with a forward-looking number rather than a backward-looking attribution report. ConvertMate 2026 benchmarks show that ecommerce brands using marginal-revenue allocation consistently outpace peers still anchored to blended ROAS.

Refresh the model quarterly, not weekly. Marketing mix modeling needs stability to produce useful curves. A model updated too often picks up noise. A model updated too rarely loses signal. Quarterly is the cadence most of the brands I have worked with settle into, with one mid-quarter refresh if something meaningful changes (a major creative drop, a competitor bankruptcy, a platform policy shift). The Saturation Curve Analysis System is not a dashboard you check every morning. It is a strategic tool you consult when you are making multi-month budget commitments.

The before and after picture is specific. Before: a founder staring at a $1M monthly media budget, scaling Meta because it looks healthy, watching gross margin shrink quarter over quarter, and having the same unresolved argument about which channel deserves more money. After: the same founder with a quarterly saturation map, a clear marginal revenue per dollar number by channel, a 15% to 25% productivity gain from the first reallocation, and budget meetings that take 20 minutes because the math does the arguing.

You do not need to pick the most sophisticated tool. You need to pick the one that gives you the curves, forces a reallocation decision, and gets refreshed on a schedule your team can hold. Start the data lift this week. The first set of curves will surprise you, and that surprise is worth more than any platform report you have read this year.

Free tool · put it to numbers

Breakeven ROAS Calculator

The exact ad return you need to break even — and the one you need to actually profit.

Open calculator →

Newsletter

The Uncommon Insights Letter

Practical FMCG & eCommerce growth playbooks — margins, retention and scaling tactics, straight to your inbox.

No spam. Unsubscribe anytime.

Put it to work

Turn marketing attribution into profit you can see

Get a hands-on operator to turn the frameworks above into results — book a free audit call.