Strategy  ·  Case Study

Café Nova:
A Margin Collapse

A 30-minute management-consulting case, worked end to end. A coffee chain grows 15% and its margin falls from 25% to 7%. The board wants an explanation. Here's how I'd structure it, and where I'd commit.

MECE Driver Tree Unit Economics P&L Analysis
11 min read

This is a 30-minute management-consulting case I set myself and worked end to end. The company's fictional and the numbers are built for practice, so the data's tidier than a real P&L ever is. I say where, at the end.

What I care about isn't the answer so much as how I get there, and where I'm willing to commit once the data runs thin. The short version: Café Nova doesn't have a cost problem. It has a revenue-per-location problem, from growing faster than it could staff and manage.

Setup

The brief

Café Nova is a Portuguese coffee chain in Lisbon and Porto. Over 18 months it made two big bets: it grew from 33 to 45 locations, 12 of them new, and it put €800,000 into a mobile ordering app for delivery and pre-order. Revenue grew 15%, but operating margin fell from 25% to 7%, and the board wants an explanation. Four executives each have a theory.

CEO
"The new locations just need more time to mature."
CFO
"Labour costs are up 46% and the app is not generating the return we projected."
COO
"We opened 12 locations in 18 months. Our managers are overwhelmed and staff are burning out."
CMO
"Our NPS dropped 19 points. Customers are noticing the decline in service quality."
The numbers

The data on the table

MetricPrevious yearCurrent year
Profit & Loss
Total revenue€10.8M€12.4M (+15%)
Cost of goods (% rev)€4.1M (38%)€5.2M (42%)
Labour costs (% rev)€2.6M (24%)€3.8M (31%)
Rent & utilities (% rev)€1.4M (13%)€1.9M (15%)
App & digital (% rev)n/a€0.6M (5%)
EBIT (% rev)€2.7M (25%)€0.9M (7%)
Operations
No. of locations3345 (+12 new)
Avg revenue per location€327K€276K (-16%)
Human resources
Staff turnover21%40%
Customer experience
Net Promoter Score6142 (-19 pts)
App & digital
Monthly active usersTarget 25,0008,200 (-67%)
Delivery platform feeProjected 12%Actual 28%
Industry-average turnover is about 22% in both years (the case's figure; real hospitality runs higher). Assumed for the analysis: new stores ≈ €217K each; the app's revenue ≈ €1.2M (about 10% of total); manager span ≈ 1:11; delivery commissions sit inside Cost of Goods; average ticket €5.20 to €4.80, down 8%.
Question 1  ·  Structure
Q1 Using MECE, what are the main categories to analyse why the EBIT margin fell from 25% to 7%?

Falling revenue per location, not runaway costs

EBIT margin is revenue minus four cost lines, each as a percent of revenue, and all four ratios went up. The easy read is that costs got out of control. Before I buy that, I want to know whether the ratios rose because costs grew, or because revenue per location fell and dragged them up mechanically. So I check the per-location numbers first.

Rent per location is basically flat, around €42K in both years, so the +2pp on rent isn't rising rent. It's the revenue per store shrinking underneath it. Labour per location rose about 7%, but the labour ratio jumped a full 7 points, from 24% to 31%. Had revenue per location held at last year's level, that same wage bill would read around 26%. So of the 7-point jump, only about 2 points is labour costing more; the other 5 is the revenue-per-location fall.

COGS +4pp
Partly the 28% delivery commissions now sitting inside it (up to about 2.7pp, if it's all delivery), partly the lower ticket. More a revenue-quality and mix story than a cost one.
Labour +7pp
Only about 2pp is labour actually costing more. The other 5pp is revenue per location falling against a near-fixed wage bill.
Rent +2pp
Rent per location is flat at about €42K. The whole increase is the revenue denominator shrinking.
App +5pp
The only line that's genuinely new spend, and a deliberate investment rather than an overrun.
Where the 18-point margin decline actually comes from.

So only the app is clearly new cost. The rest is revenue per location collapsing, down 16%, against a cost base that barely moved per store. A back-of-the-envelope check: if the 45 stores had each done last year's €327K, the margin would sit near 22% even carrying all of today's costs, app included. That holds the cost lines flat, so it flatters the counterfactual a little, but the direction holds. The drop from there to 7% is the revenue-per-location shortfall.

The categories follow from that. On revenue: locations split into new versus established, revenue per location, ticket, and channel mix. On cost: the app's return specifically, and whether any line is high once you adjust for the revenue shortfall.

For the board, in one sentence: the margin didn't collapse because costs ran away. It collapsed because each store earns about 16% less against a cost base that barely moved. The lever is revenue per location, and I wouldn't cut my way out of this.
Question 2  ·  Driver tree
Q2 Build a revenue driver tree. Which drivers show the biggest problems, on the revenue and cost sides?

The core is shrinking, and it's the ticket doing it

Revenue is locations times revenue per location, and revenue per location is daily customers times ticket times operating days. I'd also split it by channel, in-store versus delivery. Walking through where it breaks:

Locations
45, up 36%. The 12 new ones do about €217K each.
Revenue / location
Down to €276K, 16% lower. Two different things hide in here. New stores at about €217K drag the average down, but a one-year-old café earning less than a mature one is just ramp-up. What worries me is the established 33: on that €217K assumption, they slip from €327K to roughly €297K, about 9% lower. The core estate shrinking is no longer a ramp-up story.
Ticket
€5.20 to €4.80, down 8%, and it hits every store. This is the engine of the same-store drop: an 8% lower ticket on roughly flat footfall is almost the whole 9%.
Digital
8,200 users against a 25,000 target, about €1.2M, roughly 10% of revenue in year one.

So the same-store decline and the ticket aren't two problems, they're one. Back out the maths: an 8% lower ticket on roughly flat footfall accounts for almost all of the 9% same-store fall. People aren't staying away, they're spending less per visit. That shifts the question from "why did customers leave" to "why is each visit worth less", and the case doesn't say: it could be discounting, a cheaper delivery mix, or trading down. The distinction matters, because the fix differs: trading down on worse service is something fixing the operation can reverse, while a shift to low-ticket delivery isn't. I'll assume trading down, since it lines up with the NPS fall, but a delivery-heavy mix is what would change the call, and the delivery versus pre-order split would settle which it is. New-store dilution is real, but I discount it, since some is expected. On the cost side the app at +5pp is the only new cost; the rest is the revenue-per-location fall feeding through fixed costs.

The one number I'd put on the board: ticket, down 8% across the estate. Footfall looks roughly flat, so the bleed reads as spend per visit, not lost customers. But that read rests on the assumed new-store split and a chain-wide ticket, so I'd confirm it against true same-store numbers before betting the plan on it. The NPS drop is the warning that footfall is next to go, which is the case for fixing service now, before it does.
Question 3  ·  Judgement
Q3 The CEO says the new locations need more time. The CFO says cut costs now. Who is right?

Neither waiting nor cutting: fix the operation

The CEO is half right. New builds do ramp over 12 to 18 months, so some of the €217K shortfall is normal, and honestly I can't tell from this data whether €217K is bad for a one-year-old store, because there's no ramp curve. What I can tell, on that same new-store assumption, is that the established stores look down about 9%, and time doesn't fix that. So "needs more time" covers the new stores but not the core estate, which is the bigger problem.

The CFO is right that it's urgent, with EBIT down to €0.9M, but the fix is aimed at the wrong target. The cost base per store is roughly normal; the problem is revenue per location. Cutting costs in a café usually means cutting staff hours, which makes service worse when turnover's already 40% and NPS is already down 19 points. That deepens the very problem it's meant to solve.

My call: neither has it. The problem is revenue per location, from an operation that grew faster than it could staff and manage, so waiting won't fix it and cutting only makes it worse. Fix the operation first, then judge the new stores again in two quarters, once management's back in place.
Question 4  ·  Root cause
Q4 Using MECE, what are the possible root causes of the 40% staff turnover? Which are most likely?

Turnover traces back to the management ratio

I'd cut it four ways:

  • The job itself (workload): span of control collapsed to about 1:11, against a healthier 1:6 or so, and understaffing means everyone carries more.
  • Pay and progression: I can't assess this from the data. Labour per location rose only about 7%, but that's a store-level number, not per-person pay, and it's tangled up with the revenue fall. I'd want wage benchmarks and headcount first.
  • Onboarding and supervision: 12 new stores in 18 months with too few managers means thin training and weak day-to-day supervision.
  • Outside the company: the case puts the industry norm around 22% (real hospitality runs higher), so some of this is just the market.

I'll be honest that the first and third overlap, since both come back to too few managers, so this isn't perfectly MECE. The practical point is they share one root. Most likely it's the management ratio: turnover nearly doubled to 40%, 18 points above the 22% norm, and that gap is too big to pin on the market or pay alone. The COO names it directly.

Where I'd spend first: the manager ratio, before anything else. I'd run a quick wage benchmark alongside it rather than wait on it.
Question 5  ·  Cause vs symptom
Q5 Is the NPS decline (61 to 42) a root cause or a symptom? Explain the causal chain.

A symptom that's turning into a cause

It's a symptom, and it's starting to feed back as a cause. The chain: the expansion outran the ability to staff and manage it, managers got stretched to about 1:11, staff ended up undertrained and left at 40%, service turned inconsistent, and NPS fell from 61 to 42 with complaints rising. So far that's shown up in a lower ticket more than in lost footfall, but a 19-point NPS drop rarely stays contained to spend per visit.

On whether NPS leads or lags, it's both, depending on what you point it at. It's a lagging read on service quality, since it reflects what already went wrong. But it's a leading indicator for revenue, because today's NPS predicts tomorrow's repeat business.

My read: it's a symptom, but I'd act on it like a leading indicator on revenue. Fix it now; don't just monitor it.
Question 6  ·  The app decision
Q6 The CFO wants to shut down the app. The CMO wants to keep it. What is your recommendation?

Keep the app, stop running it as a delivery business

My call is to keep it, but stop running it as a delivery business, and I'll give a clear trigger for reversing that. I lead with the decision rather than a number because, on the data given, the contribution can't be pinned to a single figure and it lands near break-even either way. The number isn't what should decide this.

First, the €800K build is sunk. Ignore it. The only question is what the app contributes from here. Three things would settle it, and none are in the case:

Product cost
The chain runs cost of goods around 38% on product, so the coffee and food inside €1.2M of delivery is roughly €456K. The tempting shortcut is revenue minus the 28% commission minus the €600K app line, which gives +€264K and looks accretive. But it quietly drops that €456K of product cost, and once you add it back the sign flips.
Fee coverage
The 28% fee only hits third-party delivery; pre-order and any owned channel pay nothing. We don't know the delivery versus pre-order split inside the €1.2M, so charging 28% on all of it overstates the fee.
The €600K line
If part of the €800K build was capitalised, some of that €600K is depreciation of money already spent, which shouldn't be charged against a forward decision.

Put those together and the contribution lands around break-even, with a wide band: modestly negative if it's all 28%-fee delivery and the full €600K is forward cost, modestly positive if a good share is owned pre-order and part of the €600K is sunk. That's too soft to shut the app down on, in either direction.

The real issue is the 28% fee against the 12% planned. At 28%, third-party delivery is structurally low margin, and that won't change on its own. What's worth keeping is the owned channel: pre-order and loyalty pay no fee and build a direct line to the customer, which is what protects repeat visits and ticket. The 25,000-user target was over-ambitious; about 10% of revenue in year one is a slow start, not a failure.

My call, with a trigger: keep it, stop treating it as a delivery business, and give it two quarters. If by then the third-party commission isn't at or below about 18%, and owned pre-order isn't on track to roughly half the app's volume, I shut the third-party delivery down and keep only pre-order and loyalty. If both move, I invest further. The board gets a clear yes today and a dated checkpoint, not an open-ended "let's see".
Question 7  ·  Recommendations
Q7 What are your top three recommendations? For each: what, why, expected impact, main risk.

Stabilise the operation first, then grow

1. Stop opening, fix the manager ratio
Pause new stores and hire three to four area managers to get back toward 1:6, roughly €160 to 240K. Everything traces back to growing faster than the operation could absorb. I'd sell it as protecting the core estate, not a guaranteed payback. Risk: rivals keep expanding during the pause, and any signed leases make it messy.
2. Get turnover back down
Retention incentives and a real progression path, aiming back toward the 22% norm. Around 30 fewer replacements saves €40 to 50K directly, but the bigger gain is steadier service. The 31% labour ratio is partly structural, so retention won't fix the ratio on its own. Risk: the spend lands before the payback.
3. Fix the app's economics, don't kill it
Renegotiate the fee below 18%, lean into owned pre-order and loyalty, and set a realistic 15K-user target. The problem's the 28% fee, not the concept. Contribution moves from around break-even toward positive. Risk: the platforms may not budge, leaving pre-order to carry it.
If the board only does one of the three, it's the first. The thread through all three is the same: this isn't a growth problem or a cost problem, it's that revenue per location fell because the operation got stretched. Fix the operation and the margin follows.
Follow-up  ·  Missing data
Q8 What data, not in the case, would most change your recommendation?

What's missing would change the call

A real interview pushes on two things this case under-tests: handling missing data, and resisting a false-precision number on the app. The data I don't have but would most want:

  • The delivery versus pre-order split inside the app's €1.2M. The single biggest gap. It decides how much of the 28% fee actually applies, and therefore whether the app is viable.
  • Product cost on delivery, and how much delivery is incremental versus cannibalising in-store. Same theme: without it I can only guess at the app's real contribution.
  • A same-store sales series, and the ticket drop broken into price, promotions, and mix. The series separates "new stores just need time" from "the core estate is eroding"; the ticket breakdown tells me why each visit is worth 8% less, which is the actual bleed. Right now the 9% rests on a single assumed new-store number.

I'd also want headcount and wage benchmarks for the turnover question, to settle whether pay is part of the story.

Follow-up  ·  Estimation
Q9 Estimate the app's incremental contribution, listing every cost you charge against it.

Around break-even, with the assumptions named

Starting from €1.2M of revenue, the costs I'd charge against it:

  • Product cost at about 38% (the company's own rate): roughly €456K.
  • Commission at 28%, but only on the delivery slice. If all €1.2M is delivery, €336K. If half is owned pre-order, closer to €168K.
  • App operating cost, up to €600K, but some of that may be depreciation of the sunk build, so the true forward cash cost may be lower.

So contribution runs from clearly negative (all 28%-fee delivery, full €600K forward) to roughly break-even or slightly positive (a good share owned pre-order, part of the €600K sunk).

If pushed for one number: I commit to roughly break-even, give or take €150K, and I name the two assumptions it hangs on: the delivery versus pre-order split, and how much of the €600K is real forward cost. Showing the range and then committing beats doing either on its own.
Honesty check

What I'd challenge about this case

A real handout wouldn't be this tidy, and part of the job is saying so. Five things I'd flag before trusting the conclusions.

Five things I'd flag
The numbers are suspiciously round. Every cost ratio is a clean integer and the margin lands exactly on 25, then 7. Real P&Ls don't fall out this tidily. It reads like the figures were built backwards from a target margin.
A 25% starting margin is high for coffee. Around 15% is more typical for a chain. Plausible only for a very lean regional operator.
A projected 12% delivery commission doesn't exist in this market. Aggregators charge 25 to 35%. I read the 12% as a planning error, which is the defensible interpretation.
The periods don't line up. The two bets played out over about 18 months, but the P&L is annual. I'd reconcile that before drawing firm conclusions.
Depreciation is missing. The €800K build appears nowhere in the P&L. That gap is why the app's contribution can't be closed to a single number.

More strategy and product thinking

I write about product, strategy, and the analytics behind business decisions. Follow on LinkedIn for more.