food-cost

Margin is down: how to find the real cause instead of guessing

20 August 2026 · 13 min

Revenue is holding, covers haven't even dropped, and yet at month-end there's less margin than usual. "Margin is down" is an empty diagnosis until you know which of the five P&L lines is actually hiding the problem.

T
Team BiteBase
BiteBase Editorial

"Margin is down" isn't a diagnosis, it's a symptom

This month's revenue is on target, maybe even a bit higher than usual. Covers haven't dropped. And yet at month-end, when you look at what's left after paying everything, margin is lower than it should be. It's one of the most frustrating situations in running a restaurant, because it feels like everything is going fine except for one number that doesn't add up — and without a method, the instinctive reaction is to guess: "must be ingredient costs going up," or "we must have overspent on overtime."

Sometimes that's true. Often it isn't. A restaurant's margin can erode from at least five different points in the P&L, and without breaking it down line by line you end up fixing the wrong cause — cutting staff when the real problem was menu mix, or renegotiating with the wrong supplier when the real problem was discounts at the table.

How margin is built (in short)

Operating margin = Revenue − Food cost − Labor cost − Fixed costs

Two aggregate indicators help read it faster:

Prime Cost = Food cost + Labor cost. It's the sum of a restaurant's two largest variable costs, and in many kitchens it alone represents 55-65% of revenue. A rising prime cost is almost always the first visible sign of a margin problem, before even looking at the rest of the P&L.

Contribution margin = Revenue − Food cost. It's what's left to cover labor, fixed costs and profit, after removing only ingredient cost. It's the indicator break-even calculations are built on: the higher it is, the less revenue is needed to cover the rest of the costs.

The 5 most common causes of a shrinking margin

1. Food cost % rising. The most commonly suspected cause, but not always the real one: raw material prices that went up (sometimes gradually, without a single obvious jump), recipe sheets not updated to real prices, or — more often than people think — a growing gap between theoretical food cost from the recipe and the actual one that emerges from purchases: unlogged waste, off-standard portions, unplanned trim loss.

2. Labor cost growing faster than revenue. Shifts planned for a volume of covers that never materialized, overtime that became structural instead of exceptional, staffing sized for peak season and never scaled back down. Labor cost isn't just take-home pay: it includes social contributions, severance accrual, extra monthly payments — a few extra hours a week weigh more than they seem to on the payslip.

3. Menu mix shifting toward low-margin dishes. Even with each dish's food cost unchanged, if customers shift their choices toward the less profitable menu items — maybe because they're the most promoted, the cheapest, or simply seasonal — average margin per cover drops, even though every single dish costs exactly what it cost before.

4. Fixed costs rising silently. Rent, utilities, insurance, maintenance contracts: rarely does anyone check every month whether they're still what was budgeted. An energy price increase, a contract renewal with slightly worse terms, a fee that rises with automatic indexing — none of these events is "urgent" on its own, and precisely because of that it goes unnoticed.

5. Discounts and promotions eroding average price. A discounted daily menu, a promotion to fill slow evenings, a habitual discount for a loyal customer: legitimate, but if you don't track how much margin these practices actually remove — not just how much extra revenue they bring — you risk finding out that some "full" evenings are actually less profitable than quieter, full-price ones.

The cascade method to isolate the real cause

Instead of checking everything at once, it's better to go in order, ruling out one level at a time:

Step 1 — Look at Prime Cost. Did it rise compared to the reference month or period? If yes, the problem is food cost, labor cost, or both — go to step 2. If Prime Cost is stable, the problem is elsewhere: skip to step 4.

Step 2 — Break down Prime Cost. Compare food cost % and labor cost % separately against the previous period. If only one of the two has risen, you've already isolated half the problem.

Step 3a — If it's food cost: compare theoretical food cost (from the recipe) with actual (from purchases and stock). If theoretical is stable but actual has risen, the problem is operational — waste, portioning, trim — not a price increase. If theoretical has also risen, the problem is purchase prices not updated on the recipes.

Step 3b — If it's labor cost: compare planned hours with hours actually worked, and the latter with covers actually served over the same period. Unchanged staffing on fewer covers weighs more as a percentage, even if the absolute cost hasn't changed.

Step 4 — If Prime Cost is stable but margin is still shrinking: check fixed costs line by line against the previous period, and check the menu mix — is what you're actually selling changing, not just what it costs to produce it?

A full worked example: two months compared

A trattoria compares two consecutive months with nearly identical revenue:

Line Month A Month B Difference
Food revenue €45,000 €44,500 −€500
Food cost €13,500 (30.0%) €13,795 (31.0%) +1.0 point
Labor cost €14,400 (32.0%) €14,240 (32.0%) unchanged
Fixed costs €9,000 (20.0%) €9,000 (20.2%) unchanged in value
Operating margin €8,100 (18.0%) €7,465 (16.8%) −€635 (−1.2 points)

Prime Cost (food cost + labor cost) goes from 62.0% to 63.0%: just one point, which at first glance could look like statistical noise. Breaking it down, though, shows labor cost stayed perfectly stable — the extra point comes entirely from food cost, up from 30% to 31% despite nearly identical revenue.

At this point, step 3a of the cascade method guides the search: theoretical food cost for the same recipes is compared across the two months. It comes out stable at 28% in both cases — the recipes haven't changed, and prices recorded in the system haven't risen meaningfully either. The gap between theoretical (28%) and actual (31% in month B, against a narrower gap in month A) has widened by 2 extra points: the problem isn't a price increase, it's a widening operational gap — likely unlogged waste or off-standard portioning, exactly the kind of cause a recipe sheet alone could never have revealed.

How BiteBase helps isolate the cause

BiteBase's monthly P&L automatically breaks down revenue, food cost, labor cost and fixed costs in the same format used in this example, comparable month over month without having to rebuild the numbers by hand from scattered invoices and shifts.

For food cost, BiteBase always keeps both the theoretical number (calculated from the recipe sheet, automatically updated whenever a recorded price changes) and the actual one (reconstructed from real purchases and stock valuation) visible side by side — so step 3a of the cascade method doesn't require a separate manual calculation, both numbers are already available together.

On the menu side, every dish is classified by margin and real sales popularity, to understand whether a drop in profitability comes from a change in costs or a change in what customers are actually ordering — the two causes require completely different fixes, and confusing them almost always leads to correcting the wrong thing.

Frequently asked questions

Should a 1-2 percentage point margin drop always be investigated? Not every isolated month: a small dip can be normal seasonal or operational variability. The signal worth taking seriously is a trend repeating for two or three consecutive months in the same direction, with no obvious seasonal cause.

Is it better to look at margin in euros or as a percentage? Both tell you different things. The percentage says whether efficiency is worsening at the same revenue; the euro value says how much it actually weighs on the bank account. A 1% drop on high revenue can be worth more euros than a 3% drop on low revenue.

Does the cascade method work even if revenue itself has dropped, not just stayed flat? Yes, but in that case it's worth first checking whether the revenue drop comes from fewer covers or a lower average ticket: those are two different problems, and they change which of the five margin causes is worth checking first.

Try BiteBase free

Automate food cost, orders and invoices. 14 days free.

Start free →
← Back to blog