Gross margin lies to you. Contribution margin doesn't.
Gross margin lies to you. Contribution margin doesn't.
A healthy gross margin can hide a shop that loses money on every delivery order, every card fee, every return. Contribution margin — what is actually left after every cost that scales with the sale — is the number that should be vetoing your promotions. Most owners have never calculated it.

Jaswant Singh
Co-Founder, CTO & COO, Kauzio
Gross margin is the number every owner knows: what is left after the cost of the thing you sold. It is a fine number for judging your buying. It is a dangerous number for judging your selling, because between gross margin and actual profit sits a crowd of costs that scale with every sale — and gross margin pretends they do not exist.
The costs that ride along with every sale
Card processing fees. Delivery and packaging on online orders. Marketplace commissions. Returns — not just the refund, but the handling and the restocking of something that may no longer be sellable at full price (your returns are quietly telling you something). None of these appear in gross margin. All of them disappear from your pocket at the moment of sale.
Contribution margin is simply gross margin with the whole crowd counted: revenue, minus cost of goods, minus every cost that exists *because this sale happened*. It is the honest answer to the only question that matters about a sale: after everything this transaction dragged along with it, did it leave money behind?
For plenty of small shops, whole categories of sales — typically discounted items sold online, paid by card, shipped, and returned at normal rates — have a contribution margin near zero or below it. Gross margin says those sales are fine. The bank balance disagrees, and nobody can see why.
The floor: one rule that stops the worst decisions
Here is the single most useful pricing discipline we know, and it fits in one sentence: no promotion runs if it pushes contribution margin below zero. Not gross margin — contribution margin, with the fees and the freight and the expected returns counted.
Run that test against your last big discount and the routine chain of consequences becomes visible: the 20% off that looked generous but survivable on gross margin was, once the ride-along costs were counted, paying customers to take stock away. We built a whole post around that mechanism in The 20% sale that costs you 35%. The floor is how you stop it before it runs, rather than diagnose it after.
Doing it without drowning
You do not need this per product to start. You need it per *channel*: in-store cash, in-store card, online delivered. Three columns, honest numbers, an afternoon's work. The channel view alone usually reshapes where you push volume.
The per-product, always-current version — where every price and promotion decision gets checked against a contribution floor computed from what you are actually paying in fees and freight this month — is the version that belongs in software, and it is how Kauzio evaluates every pricing decision it challenges: not "will this lift sales", but "what will actually be left". Sales are a vanity of the till. Contribution is the truth of it.
Read next
Forecasting covers: the restaurant version
Forecasting covers: the restaurant version
August 7, 2026 · 2 min read
From 'what happened' to 'what to do': prescriptive analytics, honestly
From 'what happened' to 'what to do': prescriptive analytics, honestly
August 7, 2026 · 2 min read
How to choose decision intelligence software
How to choose decision intelligence software
August 7, 2026 · 3 min read
