The true cost of discounting: why 20% off wipes out half your profit

It's a quiet Tuesday. Footfall is soft, the cabinet is fuller than you'd like, so you chalk up "20% off all coffees this week" on the A-board and feel good about it. Generous. Customer-friendly. A bit of buzz.
What you've actually done is hand over a chunk of profit that's much bigger than 20%. On a lot of café drinks, a 20% price cut doesn't shave 20% off your earnings. It wipes out closer to half.
That sounds like an exaggeration. It isn't. It's just how the maths works, and almost nobody runs the maths before they chalk up the sign.
So let's run it.
The bit nobody tells you: discounts come off margin, not cost
Here's the whole problem in one sentence. A discount comes entirely out of your gross profit, because your costs don't move at all.
When you knock 20% off a flat white, your milk still costs the same. Your beans still cost the same. Your cup, your VAT-inclusive everything, all unchanged. The supplier doesn't give you 20% off your invoice because you decided to run a promo. The only thing that shrinks is the gap between your price and your cost. And that gap is your profit.
So the right question is never "what's the discount as a percentage of price?" It's "what's the discount as a percentage of my margin?" Those are very different numbers, and confusing the two is the same trap a lot of operators fall into when they mix up markup and margin in their pricing.
Let's make it concrete.
A worked example
Take a flat white at £3.50 with a 65% gross margin. That's a common enough number for a well-run café drink.
- Price: £3.50
- Cost of goods: £1.23 (35% of price)
- Gross profit: £2.27
Now run "20% off."
- New price: £2.80
- Cost of goods: still £1.23
- New gross profit: £1.57
You cut the price by 20%. But your gross profit dropped from £2.27 to £1.57. That's a 31% fall in profit off a 20% price cut.
Drop a lower-margin item and it gets uglier fast. On a 50% margin item, a 20% discount cuts your gross profit by 40%. On a toastie sitting at a 60% margin, it's a 33% hit. The lower the margin, the more brutal the discount, which is exactly backwards from how most people think about it.
The break-even volume uplift: the number that should scare you
Here's where it really lands. If you discount, you're presumably hoping to sell more. Fair enough. So how many more do you need to sell just to stand still on gross profit?
This is the break-even volume uplift. It's the extra sales volume a discount has to generate before you're back to the same total gross profit you'd have made without it.
The formula is simple:
Break-even uplift = discount ÷ (gross margin - discount)
Back to the flat white. 20% discount, 65% margin:
- 0.20 ÷ (0.65 - 0.20) = 0.20 ÷ 0.45 = 44%
You need to sell 44% more coffees just to break even. Not to make more money. Just to not lose any. If you sold 100 flat whites a day, you now need 144 a day, every day of the promo, before the discount has earned its keep. Sell only 120 and you've gone backwards, even though sales "went up."
Here's how that uplift balloons across different margins and discount levels.
| Gross margin | 10% off | 20% off | 30% off | 50% off (BOGOF-style) |
|---|---|---|---|---|
| 70% | 17% | 40% | 75% | 250% |
| 65% | 18% | 44% | 86% | 333% |
| 60% | 20% | 50% | 100% | 500% |
| 50% | 25% | 67% | 150% | break-even impossible |
| 40% | 33% | 100% | 300% | break-even impossible |
Read that 50%-off column again. On a 60% margin item, a "buy one get one free" needs you to sell five times as many to break even on gross profit. On a 50% margin item, you literally cannot get there, because the discount is now bigger than your margin and every extra sale loses money.
That's the maths behind why BOGOF is so dangerous in a café.
BOGOF and 2-for-1: the giveaway in disguise
"Buy one get one free" sounds like a 50% promotion. It isn't. It's worse.
A genuine BOGOF means the second item is sold at 100% off. Average that across the two and yes, it looks like 50% off the pair. But you're still paying full cost on both items. Two coffees made, two lots of milk and beans and cups consumed, one coffee's worth of money taken.
On our £3.50 flat white at 65% margin:
- Two drinks made: £2.46 of cost
- Money in: £3.50
- Gross profit: £1.04 across two drinks
Without the promo, two full-price flat whites earn you £4.54 of gross profit. With BOGOF, £1.04. You've given away 77% of your profit on every pair, and you've done twice the work, used twice the stock, and tied up your one espresso machine for two drinks instead of one.
BOGOF only makes sense when the second unit is close to free for you to produce, or when you're deliberately clearing something. Coffee isn't free to produce. A tray of bakery heading for the bin at 4pm is a completely different story, which is the one good case for this kind of thing.
Loyalty cards: the free 10th coffee, costed properly
Stamp cards feel harmless because the discount is spread out. Buy nine, get the tenth free. But strip it back and a "free 10th coffee" is just a 10% discount on every coffee, deferred.
You're giving one free drink for every ten sold. That's 10% off your coffee revenue, paid in product. At 65% margin, your break-even uplift for a 10% discount is 18% (from the table above). So the stamp card only pays its way if it makes each loyal customer buy at least 18% more coffee than they would have anyway.
Does it? Sometimes, genuinely, yes. A stamp card can move a wavering regular from "sometimes here" to "always here," and that incremental loyalty is real money. But if you're stamping cards for people who were already coming in five days a week, you're just gift-wrapping a 10% discount to your best, most loyal customers and getting nothing extra in return.
The fix isn't to scrap the card. It's to know what it costs (one free drink in ten, full cost to you) and to make sure it's actually changing behaviour, not just rewarding habits you already had.
Staff discounts: the line nobody tracks
Now the one that hides in plain sight.
Staff discounts almost never appear in anyone's margin maths. The drinks get made, the discount gets applied, the till records a low-value sale, and it quietly vanishes into the day. But it's real cost, and on a small team it adds up faster than you'd think.
Let's quantify it. Say you offer staff 50% off, and you've got four people who each have two or three discounted drinks and a bite to eat per shift. Call it £6 of menu value per person per shift, at 50% off, so £3 of discount each. Four staff, five shifts a week:
- £3 × 4 × 5 = £60 a week of discount
- Over a year, that's roughly £3,000
And remember, that £3,000 is all margin. The food still cost you money to make. If your gross margin is 65%, you'd need to sell around £4,600 of full-price product just to generate £3,000 of gross profit to cover it. That's the true weight of a perk that never shows up on a P&L line.
This is not an argument for scrapping staff discounts. Looking after your team is good business, and a fed, caffeinated barista is a better one. It's an argument for knowing the number. Once you know it's £3,000 a year, you can decide if that's the right spend, cap it, or move to a flat allowance instead of open-ended 50% off. What you can't do is manage a cost you've never measured.
So when is discounting actually right?
All of this might read as "never discount." That's not it. Discounting can absolutely be the right call. It just has to clear a bar, and the bar is: you've done the maths and you have a specific goal.
There are three situations where a discount genuinely earns its place.
1. Clearing stock that's about to be worthless. A tray of sandwiches or pastries at 4pm is heading for the bin. Anything you get for it beats binning it, because the cost is already sunk. Here the maths inverts, and a deep discount is simply good sense. This is the disciplined version of running specials to clear stock while protecting margin.
2. Driving genuine trial. A new item, a new daypart, a new location. A short, sharp discount to get people to try something they'd otherwise walk past can be worth the margin you give up, if enough of them come back at full price. The discount is buying you future full-price customers, so judge it on the repeat rate, not the promo week.
3. Filling dead time. A "quiet hours" deal between 2pm and 4pm can put bodies in seats that would otherwise be empty. The drink you sell at a discount in a dead hour is incremental, you weren't going to make that sale anyway, so the margin maths is far kinder than running the same deal at 8am when you're already slammed.
The common thread: in all three, the discounted sale is incremental or the cost is already sunk. The danger zone is discounting sales you'd have made anyway, at full price, to people who were already going to buy.
A simple framework for deciding
Before you chalk up any discount, run it through five questions.
- What's the real margin on this item? Not a guess. The actual gross margin. You can't size a discount without it, and you'll want the food cost percentage worked out properly underneath it.
- What's the break-even uplift? Use discount ÷ (margin - discount). If the answer is "I'd need to sell 50% more," ask honestly whether that's realistic.
- Is this sale incremental, or am I just discounting demand I already have? Discounting your regulars' usual order is pure giveaway. Discounting an empty 3pm is found money.
- What's the goal, and how will I know if it worked? Footfall in a dead hour? Trial of a new item? Clearing stock? Name it, then measure it against that, not against vanity "sales were up."
- Is there a cheaper way to get the same result? A free cheap-to-make add-on, a loyalty perk on a low-cost item, or simply holding your prices with confidence often beats a blunt percentage off.
If a discount can't answer those five, it's not a strategy. It's just margin walking out the door with a smile.
Where Brikly Fits
You can't size a discount you can't see, and most of this comes down to knowing your true margin per item before you touch the price.
CostingBrik gives you exactly that. It holds the real gross margin on every drink and dish, updated as supplier prices move, so when you're tempted to run "20% off" you can see in seconds what it actually costs you and what break-even uplift you'd need. No more guessing whether a promo is generous or reckless.
MenuBrik then pulls your sales mix from the POS and tells you the truth afterwards: did the promo actually drive incremental volume, or did you just hand margin back on sales you'd have made anyway? That's the difference between a discount that worked and one that quietly cost you, and it's almost impossible to judge by eye.
The maths in this post is doable on the back of an envelope for one item. Keeping it honest across a full menu, week after week as costs drift, is the bit worth handing to software.
Ed O'Brien has run Hunters Cake Company for 17 years across cafés in Witney, Burford, and a bakery in Carterton, Oxfordshire. He's building Brikly - modular tools that give independent café owners the same data the big chains have, without the big chain price tag.