You are running a margin business on a revenue dashboard.
The gap between the two is where the money quietly leaves. This is the operator's method for closing it: see the one number that cannot lie, find exactly where it leaks, and name the single biggest move - with the arithmetic shown at every step.
Three things this report will convince you of.
- The median ecommerce brand keeps about 25 cents of every revenue dollar as contribution margin, with a spread from 3% to 56%. There is no slack in that number for a leak you cannot see.
- The three numbers your dashboard leads with - revenue, ROAS and "VIP" - are the three most likely to lie to you about profit.
- Most of the fix is already sitting in your data. You just cannot see it while everything is denominated in revenue instead of margin.
Figures marked Demonstrative data illustrate the method on a representative store; benchmark figures are cited to their source inline. Every formula is shown so you can run it on your own numbers.
Revenue is a vanity number with a cash-flow problem.
Revenue tells you a business is busy. It does not tell you whether it is worth running. Two stores can post the same top line and the same reported ROAS, and one is compounding while the other is quietly financing its own decline - and nothing on a revenue dashboard will tell you which is which.
Picture a paid campaign returning a clean 4x ROAS. The marketing lead is right to call it a winner. The CFO, looking at the bank balance, is right to say the business is losing money. They are both correct, because they are measuring different things. ROAS measures revenue returned per ad dollar. The CFO is measuring what is left after the product, the shipping, the fees and the ad spend are all paid. The only number that survives that subtraction - the only one an accountant would sign - is contribution margin.
This report is built on one rule: if a number cannot be reconciled back to your ledger to the dollar, it is a story, not a measurement.
The margin ladder: CM1, CM2, CM3.
Contribution margin is not one number. It is a ladder of three, and each rung answers a different question - a different decision, a different owner.
- CM1 = Revenue - landed COGS. Can the product itself carry its cost? This is your sourcing and pricing rung.
- CM2 = CM1 - fulfilment, shipping and payment fees. Can the operation deliver it profitably? This is your operations rung.
- CM3 = CM2 - variable marketing. Can you acquire the customer and still keep money? This is your growth rung.
The discipline that matters: a cost is only ever subtracted where you actually hold it. A missing unit cost is left visibly missing, never quietly filled with a zero - because a fabricated zero flatters the margin of exactly the products most likely to be underwater.
One order, all the way down
Here is a single A$120 order stepped down the ladder. It looks healthy at the top. Watch what is left at the bottom.
| Line | What it is | Amount |
|---|---|---|
| Order value | One frame, at list | A$120.00 |
| Landed COGS | Product + inbound freight + duty | -A$50.40 |
| CM1 | 58% - can the product carry cost? | A$69.60 |
| Pick, pack & ship | Fulfilment + outbound freight | -A$11.40 |
| Payment & transaction fees | ~3.8% of order value | -A$4.56 |
| CM2 | 44% - can the operation deliver it? | A$53.64 |
| Allocated ad cost | Blended acquisition on this order | -A$26.04 |
| CM3 | 23% - what the business actually keeps | A$27.60 |
Demonstrative data. Adapted from Blufire's Contribution Margin Playbook. The kicker: a single return on every second order wipes the contribution of the order it cancels and the outbound shipping on the one that stays.
Demonstrative data, indexed to revenue = 100. The distance between the CM1 bar and the CM3 bar is the part of the business that never shows up on a revenue report. That distance is where this method does its work.
You have seen the number. The next half is where the money is - the five places it leaks, and the move that fixes each.
Drop your email and we will send you this method plus one real margin leak, with the arithmetic that finds it, every week. No spam, unsubscribe in a click. Keep scrolling either way - the whole report is below.
The five places margin leaks.
"You are losing 15-30% of your margin" is a headline, not a diagnosis. The point of a method is that the leak is specific and computable. Here are the five it almost always hides in - each tied to a number you can pull today.
Discount stacking
Codes look fine one at a time. The damage is where they combine - a loyalty code landing on top of an already-marked-down sale item. On a revenue report the code is a top performer. In margin it is the single biggest loss in the store.
Promo ledger, by code, net of markdownA free-shipping threshold set too low
Free shipping is a give, not a feature. Set the threshold below your CM2 breakeven and every order that just clears it is subsidised out of contribution - quietly, thousands of times a month.
CM2 by order band, free-ship give isolatedReturns, the silent margin tax
A return does not just refund the sale. It cancels that order's whole contribution and eats the outbound shipping you already paid. Measured net of returns, some of your "best" categories change rank entirely.
SKU margin, net of refund reserveFake VIPs
Revenue analytics calls a customer a VIP because they spend a lot. Count the returns and the discounts they ride, and a slice of your "top" customers are net losses. You are protecting them and discounting to keep them.
Customer value, ranked by CM1 not spendCOGS creep and fabricated zeros
Costs drift up and nobody re-prices. Worse, the products missing a cost entirely get counted as pure margin - so the exact SKUs most likely underwater are the ones flattering your average.
Unit-cost coverage and provenance, statedThe discount autopsy
Put every promo code beside the margin it actually moved, net of the markdown it stacked on. This is the table that changes a merchandising meeting.
| Code | What the dashboard shows | True margin impact |
|---|---|---|
| WELCOME10 | New-customer acquisition | +A$61k |
| REPLEN15 | Replenishment nudge | +A$28k |
| FREESHIP | Cart-completion lift | -A$61k |
| VIP20 × SALE | Top code by revenue | -A$142k |
Demonstrative data. VIP20 looks like the hero on a revenue report and is the biggest loss in the store, because it stacks on sale pricing. That is the whole thesis of this section in one row.
The fake-VIP flip
The same customer base, re-ranked by contribution instead of spend. Two of these four buckets are the opposite of what a revenue dashboard would tell you to do.
| Segment | Revenue read | Margin read |
|---|---|---|
| Loyal, full-price | Solid | +A$418k - protect |
| Rising mid-tier | Overlooked | +A$96k - grow |
| High-revenue "VIPs" | Top of the list | -A$31k - fake VIP |
| Discount-only | Frequent buyers | -A$142k - suppress |
Demonstrative data. The move is not "email everyone." It is protect the first bucket, grow the second, stop subsidising the last two.
The three numbers that lie: ROAS, blended CAC, and "VIP".
ROAS lies because it has no floor
A ROAS number means nothing until you know the margin it has to clear. The floor is simple: break-even ROAS = 1 / contribution margin. A 3.4x ROAS is a triumph on a 62% margin and a slow loss on a 26% one - same number, opposite decision.
Demonstrative data. Two identical-looking dashboard tiles, opposite margin verdicts underneath.
There is no such thing as "CAC" - there are three
Blended CAC (total acquisition spend / new customers) is the honest portfolio number and needs no attribution model at all. Marginal CAC - what the last tranche of spend cost - is what actually decides whether to add budget, and it is often several times the blended figure in the same account, in the same month. Confusing the two is how brands scale straight past their profitable ceiling.
The useful rule most tools get backwards: per-dimension LTV:CAC - by category, region or segment - only needs blended CAC. You divide each dimension's margin-LTV by the one blended acquisition cost. It is only per-channel CAC that needs real, credited attribution. So most of the margin story you actually act on requires no attribution model at all.
The platforms grade their own homework
Add up what your platforms claim and you will find they take credit for more sales than you actually made - independent measurement puts the over-count as high as ~140% of real revenue, with Meta commonly over-reporting 15-30%. A classic field experiment found a channel reporting 4.8x while its true incremental return was 2.1x. The method's posture here is honesty, not a black box: credit is frozen at first order, branded search and retargeting are treated as the largely non-incremental claims they usually are, and what cannot be attributed is labelled as such rather than dressed up as certainty.
Sources: Measured (2025); Varos; Blake, Nosko & Tadelis, Econometrica (2015). This section is descriptive - it measures reported vs. incremental, it does not sell a causal model.
Whether you keep the customer is a margin question too.
Acquisition only pays off if the customer comes back. Around four in five DTC customers never buy a second time (81.2% one-time across 156,110 customers; BS&Co) - which means the entire economics of most stores rest on the minority who return. The number that governs that is CAC payback measured in margin: how many months of a customer's contribution it takes to earn back what you paid to acquire them.
- Under 6 months - the customer self-funds the next acquisition. Growth compounds.
- 6 to 12 months - healthy, but you are carrying the gap.
- Over 12 months - you are financing growth with capital, whether or not the dashboard says so.
A worked example: an A$90 CAC, an A$52 AOV at 60% gross margin (A$31.20 of contribution per order), reordering roughly every six weeks, pays back in about four months. Change any one input and the whole decision moves - which is exactly why it has to be computed on your real cohorts, in margin, not assumed. And because it is denominated in contribution rather than revenue, it tells you the truth a revenue-based LTV will not.
A finding you cannot act on is just trivia.
The method does not end at diagnosis. Every leak resolves into one ranked action with a dollar figure attached, and one metric to watch so you know if it worked. Rank every finding by dollars at stake and do the biggest one first. That is the entire operating loop:
Do that every week - biggest leak, named move, one metric watched - and margin stops being a number you report after the quarter and becomes a thing you steer during it.
The 5-minute leak check.
You do not need software to start. You need your last 30 orders and five minutes. This is the method in miniature - run it in a spreadsheet before you do anything else.
- Pull your last 30 orders with their order value, discount code and returned/kept status.
- Subtract the real cost of each: landed COGS, then pick-pack-ship, then payment fees (about 3-4% of order value).
- Add a return reserve - reduce each order by your store's return rate so the kept orders carry the cost of the returned ones.
- Sort by discount code. Sum the contribution left under each. The loser will jump out.
- Count the negative orders. The share of your last 30 that lost money, and which code they share, is your first move.
The house formulas, for the sheet: CM1 = revenue - landed COGS; CM2 = CM1 - shipping - fees; CM3 = CM2 - ad cost; break-even ROAS = 1 / CM; CAC payback = CAC / contribution per month.
The median hides the spread.
Across hundreds of 7- and 8-figure DTC brands, median contribution margin lands around 25%, on a spread from 3% to 56%, with median EBITDA near 5% (Finaloop, Ecommerce Profit Benchmarks, from ~US$3.16B of aggregated sales). But the median is close to useless on its own, because margin is set far more by category than by how well you run the store.
CM1 midpoints by category, cited across published DTC benchmarks. The rule: benchmark yourself against your category, never against "ecommerce" as a whole - a 40% CM is excellent in electronics and a warning sign in supplements.
For context on the market these numbers sit in: Australians spent A$82.6B online in 2025 (up 14%), spread their spending across an average of 16 retailers, and 62% switched retailer for a better price (Australia Post, 2025). Margin discipline is not a nice-to-have in a market where your customer is one better price away from leaving.
Profit velocity, and the honesty it demands.
If there is a single north-star to replace revenue, it is profit velocity: the rate at which your spend turns into durable contribution margin. It rewards exactly the things this method surfaces - a higher CM1, a faster payback, a customer who comes back - and it punishes the vanity growth that a revenue chart applauds.
But a north-star is only as trustworthy as the discipline underneath it. Four rules keep the whole method honest, and you should hold any margin tool to them:
See your real CM1 on your own store.
You can run this in a spreadsheet every Monday. Or connect Shopify, Klaviyo, Google and Meta and let Blufire reconcile it to your ledger to the dollar - and hand you the one ranked, dollar-attached move each week. Book a 15-minute margin teardown and we will show you the number, live, on your data.
Book a 15-minute margin teardown