The Delivery P&L Stack
Your Last Delivery Campaign Lost Money. Here's the Math You Didn't Do.
A 25% discount campaign. Orders up 20%. Bank deposit: down €322. More work, more kitchen stress, less money.
This is part of the Delivery P&L Stack — our framework for understanding restaurant delivery economics. We'll use verified European restaurant data because it's what we've audited to the cent — but the economics are the same whether you're on DoorDash in Austin or Deliveroo in Manchester.
The phone call every restaurant gets
Thursday, 2 PM. Your platform account manager calls.
"Run 25% off this weekend. We're seeing strong demand in your area. Boost your orders, get more visibility."
You say yes. It sounds like an investment. More orders means more revenue, right?
Saturday night: the kitchen is slammed. Orders up 40% from the discount traffic. Extra prep, longer hours, exhausted staff.
Monday morning: you check the bank. The deposit is the same as a normal week. Maybe less.
Nobody checks the bank account. That's the problem.
The campaign math (real worked example)
Let's run the numbers the account manager didn't.
Baseline week — no campaign
Gross revenue: €2,300/week
Platform cost (~40%): −€920
Food cost (~30%): −€690
= Baseline profit: €690/week
This is what the restaurant makes in a normal week after platform fees and food cost (before labor and rent).
Campaign week — 25% off, store-wide
The AM promised 20% more orders. Let's be generous and assume they delivered.
Volume lift (+20%): +€460 gross
Discount on ALL orders: −€690 (25% × €2,760 total gross)
Net revenue change: −€230
Extra platform fees: −€92 (40% of incremental €460)
Campaign result: −€322/week LOSS vs doing nothing
The restaurant lost €322 compared to running no campaign at all. More orders, more kitchen work, less money.
The break-even volume lift
For this campaign to break even — not profit, just break even — orders needed to increase by +47%. The AM estimated +20%. The campaign should not have run.
Break-even volume lift = (Discount cost + Extra fees) ÷ Baseline margin
= (€690 + €92) ÷ €690/week × (orders)
= +47%
Ask yourself: when was the last time a promotion nearly doubled your order volume? That's what 25% off needs to do just to not lose money.
Every day you run a losing campaign: the average loss on this example is €46/day. A 7-day campaign at those numbers: €322 gone.
The tipping point nobody sees
The aggregate numbers are bad enough. The per-item numbers are worse.
Real combo data from a consulting engagement, at 20% discount:
| Product | Full price | Discounted | Regular delivery profit | Premium subscriber profit |
|---|---|---|---|---|
| Small combo | €12.40 | €9.92 | €0.55 | €0.08 |
| Medium combo | €17.10 | €13.68 | €2.78 | €3.06 |
| Large combo | €24.80 | €19.84 | €3.74 | €4.17 |
€0.08. Eight cents profit on the small combo for premium subscriber orders.
One more percentage point of discount and every premium subscriber order on the small combo loses money. In major cities, 40-60% of all platform orders come from premium subscribers — the ones paying the platform's monthly subscription fee for free delivery. The majority of your campaign orders may be at the higher commission tier.
The account manager proposed 25% off. At 20% off, you're already at 8 cents. At 25%? You're paying the platform to deliver food to their best customers.
This example uses Estonian 24% VAT. Tax treatment varies by country, but the principle — that effective commission exceeds the headline rate — applies in every market.
The kill list (how to stop the bleeding)
This is our approach for every campaign proposal a client receives. It takes about an hour the first time; 15 minutes every time after.
Step 1: Calculate margin per item at the discounted price
For every item in the campaign scope, calculate:
Discounted price
− VAT
− Platform commission (on gross, including VAT on commission)
− Food cost
− Packaging
= NET profit per item
If the number is negative: that item loses money on every order during the campaign.
Step 2: Flag every item below €0.50 margin
Items at €0.50 or less are one bad day away from negative. A slight shift in food cost, a packaging price increase, a commission rate change — and they flip to a loss.
Step 3: Sort by loss amount
For a restaurant with 500 menu items at 20% off: we typically find that 40-80 items lose money at the proposed discount. These items get excluded from the campaign.
We haven't found a tool that connects per-item food cost to per-platform commission data for this analysis. Most restaurants have never done this calculation for a single item, let alone their entire menu.
Step 4: Counter-propose
Don't say no to the AM. Say: "25% loses money on 47 items. I'll do 15% on these 80 items." Or: "I'll do 20% on my high-margin category only."
The AM always has room to negotiate. They need campaigns running for their own KPIs. You have more leverage than you think.
The campaign addiction cycle
Here's the pattern we see in 70%+ of restaurants that run frequent campaigns:
Month 1: Run 25% off. Orders spike 30%. Owner thinks: "This is working."
Month 2: Campaign ends. Orders drop — not to the baseline, but below it. Customers who discovered you at 25% off don't come back at full price. They wait for the next deal.
Month 3: Panicking about the drop, the owner agrees to another campaign. 20% off this time. Orders recover, but not to the campaign-high of Month 1.
Month 4-12: The cycle continues. Campaign frequency creeps up. The owner is now running promotions 30-40% of the time. Customers have learned: the discounted price IS the real price. Full-price orders decline permanently.
The result: The platform's GMV grows (great for their metrics). The restaurant's margin shrinks (terrible for the restaurant). The incentives are structurally misaligned — and they always will be.
If you're running campaigns more than 30% of your operating days, you're not promoting — you're training customers to never pay full price.
How to say no (and what to say instead)
The AM's job is to grow platform GMV. That's not evil — it's their role. But their incentive and yours are different. Here's how to have a better conversation:
Counter-propose with data
"25% off loses money on 47 items. I'll run 15% on my top 8 margin items."
Every AM we've worked with accepts counter-proposals. They need something running. Your something can be profitable.
Ask for subsidy
"What percentage is the platform co-funding?"
Some platforms co-fund campaigns — they cover part of the discount cost. One platform we work with regularly subsidizes 30% of the discount amount. That €349 in campaign subsidy from the platform comparison in Your Delivery Platform Takes 42%? That's real money back in the restaurant's pocket. If the platform isn't co-funding, ask why not.
Demand NET data
"Show me the NET revenue impact, not gross order count."
Platform dashboards show campaign results as "orders increased by X%" and "gross revenue up Y%." They never show: did the restaurant's bank deposit increase? Did NET profit improve? Ask for what matters.
The nuclear option
"I've modeled this campaign. It loses money. I'll pass."
You can say no. The AM will call back next week with a different offer. Your venue won't lose ranking — platforms rank by order velocity and customer ratings, not campaign participation.
The intellectual honesty moment
We've seen campaigns that worked. Genuinely worked.
A restaurant running 15% off on high-margin pasta items (€2 food cost, €15 platform price, 19.5% commission) at a 25% volume lift: net gain of €186 for the week. The pasta absorbs the discount because the food cost is low and the price is high enough to leave room.
Not every campaign is a trap. The trap is saying yes without doing the math.
The difference between a profitable campaign and a money-losing one is usually less than 5 percentage points of discount or 10 percentage points of volume lift. The margins are that thin. Which is exactly why you need the math before you commit — not after.
The numbers that matter
Before agreeing to any campaign, know these four numbers:
- Break-even volume lift — the minimum order increase needed for the campaign to not lose money. If it's above 30%, be skeptical.
- Kill list count — how many items lose money at the proposed discount. If it's more than 10% of your menu, exclude them or lower the discount.
- Premium subscriber exposure — what percentage of your orders come from the platform's subscription customers? They're at the higher commission tier. A campaign that's barely profitable on regular orders can lose money on subscriber orders.
- Campaign frequency — what percentage of the last 90 days has a campaign been active? If it's above 30%, you're in the addiction cycle.
Track these four numbers for every campaign proposal you receive. For the full set of delivery metrics worth tracking, see We Tracked 15 Metrics Across 30+ Restaurants.
What to do right now
If you're currently running a campaign: Check your bank deposits for the campaign period vs. the same period without a campaign. If deposits are flat or down despite higher order volume, the campaign is losing money.
If an AM calls this week: Say: "Send me the proposal in writing. I need 24 hours to model it." Then calculate the break-even volume lift. If it's above what you realistically expect, counter-propose or decline.
If you want someone to model it for you: We model every campaign proposal before our clients commit. One hour of math can save €300-1,200 per month in campaign losses.
Last verified: April 2026. Campaign mechanics and platform fee structures checked quarterly against current data.