StockTake Online Blog | Tips for Efficient Restaurant Inventory Management

Theoretical vs Actual Food Cost: Closing the Variance Gap

Written by Team STO | Sep 9, 2026, 8:31:31 AM




Theoretical food cost is what you should have spent. Actual food cost is what you did spend. Everything useful in back-of-house cost control lives in the space between those two numbers.

Most operators can produce one of them. Producing both, and trusting the difference, is what separates a kitchen that reports its costs from one that manages them.

What is theoretical food cost?

Theoretical food cost is calculated forward, from your recipes and your sales. Take every dish sold in the period, multiply by its costed recipe, and you have what those covers should have consumed.

It is a modelled number. Its accuracy depends entirely on your recipe costs being current, complete and inclusive of yield. A theoretical figure built on recipes costed eighteen months ago is a precise answer to a question about a menu you no longer serve.

What is actual food cost?

Actual food cost is calculated backward, from stock movement. Opening stock, plus purchases, minus closing stock, gives you what actually left the building.

It is a measured number, and it is only as good as the two counts at either end of it. This is why an unreliable stock count does not just produce a wrong actual figure. It produces a wrong variance, which then sends you looking for an operational problem that does not exist.

What does the gap between them actually tell you?

The gap is variance, expressed either in cash or in percentage points of food cost. It tells you that product left the building without generating the sale your recipes said it should.

What it does not tell you is why, and that is the part most operators get wrong. Variance is a symptom. Treating the number itself as the problem leads to a monthly ritual of reporting a figure that nobody acts on.

It also has a floor. No kitchen runs at zero variance, and chasing zero is a good way to waste management time. What matters is the size of the gap, its direction over time, and whether you can explain it.

The Gap Test

Before you go looking for an operational cause, establish that the gap is real. Four questions, in order. The first two ask whether the numbers can be trusted. The second two ask what the numbers mean.

1. Question one, is the count right? Same units, same order, same point in the week, at both ends of the period.

2. Question two, is the recipe right? Costed to sub-recipe level, with yield applied, and updated since the last menu change.

3. Question three, is the sale right? Every dish sold mapped to a costed recipe, including modifiers, staff food and comps.

4. Question four, is the period right? Deliveries and transfers landing inside the period they belong to, not either side of it.

Roughly speaking, a gap that survives all four questions is operational. A gap that fails any of them is a data problem wearing an operational costume, and no amount of kitchen discipline will close it.

If you want to sanity-check your recipe costs before running any of this, the free food cost calculator gives you a per-dish figure in a few minutes without an account.

Question one: can you trust the count?

Actual food cost sits on two counts, one at each end of the period. An error in either flows straight into variance at full value, and a closing-stock error carries into the next period as an opening-stock error, so a single bad count corrupts two months of reporting.

The most common cause is not carelessness. It is inconsistency: two people counting the same store differently, or the same person counting in a different order on a busy week.

Question two: are the recipes current?

Recipes drift out of date quietly. A supplier change, a portion adjustment, a seasonal substitution. Each one is small and none of them prompts anybody to re-cost the dish.

Yield is the specific thing to check. A recipe costed against raw purchase weight rather than plated portion understates cost on every cover, which inflates theoretical margin and makes variance look worse than it is. That is a common and expensive way to misread your own numbers.

Question three: does every sale map to a recipe?

This is the question that catches most people out. Theoretical cost is driven by sales data, so anything that leaves the kitchen without a mapped sale creates variance that has nothing to do with the kitchen.

Staff meals, comps, tastings, wastage, modifiers that add a protein without adding a costed line. All of these consume product. If none of them appear in the sales mix, the theoretical figure assumes they never happened.

Question four: is everything in the right period?

A delivery received on the last day of the period but invoiced into the next one shows up as product consumed with no purchase to explain it. A transfer out that was never recorded does the same thing.

Timing errors produce a distinctive signature: a large negative variance in one period followed by a matching positive variance in the next. If your variance oscillates rather than trending, look at timing before you look at the kitchen.

Where does real variance actually come from?

Once a gap has survived the Gap Test, it is operational. According to WRAP's overview of waste in the UK hospitality and food service sector, food waste in the sector arises roughly 45% during food preparation, 21% from spoilage and 34% from customer plates. Preparation is the largest single contributor, which is consistent with what usually shows up when variance is traced properly: yield and portioning, not theft.

Illustrative example, not an attributed client figure. A site running a 30% theoretical food cost and a 33% actual has three points of variance. On a period turnover figure that site would recognise, that gap is a real cash number, and it will usually decompose into a handful of high-volume lines rather than spreading evenly across the menu. Working the largest cash contributors first closes most of it.

Theoretical or actual: which should you manage to?

Theoretical food cost

Actual food cost

Calculated from

Recipes and sales mix

Opening stock, purchases, closing stock

Direction

Forward, modelled

Backward, measured

Depends on

Recipe accuracy and yield

Count accuracy at both ends

Answers

What should this have cost

What did this cost

Fails when

Recipes are stale or sales are unmapped

A count is rushed or inconsistent

Use it to

Price the menu and set the target

Report the result and find the gap

 

The answer is both, and neither in isolation. Theoretical alone is a plan with no feedback. Actual alone is a result with no explanation.

Producing both reliably every period, across every site, is a reporting problem before it is a kitchen problem, which is why variance reporting sits inside restaurant analytics software rather than in a month-end spreadsheet.

How often should you run this?

Weekly, for most sites. Monthly variance is accurate enough for the accounts and far too slow to change anything, because by the time you see the number the trading period that caused it is closed.

Operators using StockTake Online typically identify up to 3 to 8% in recoverable food cost within the first 60 days. As with any range, the starting point matters, and a site already producing both numbers weekly will find less than one seeing its first real variance figure.

For the finance-side framing of the same problem, our CFO guide to protecting gross profit covers how variance reaches the P&L, and the guide to calculating food cost percentage covers the underlying formula.

If you would rather run the Gap Test against your own period data than a worked example, book a demo and bring one closed period with you.

Key takeaways

Theoretical food cost is modelled forward from recipes and sales. Actual is measured backward from stock movement.

The gap between them is variance, and it is a symptom rather than a problem in itself.

Run the Gap Test before investigating: count, recipe, sales mapping, period.

A gap that fails any of the four questions is a data problem, not a kitchen problem.

Variance that oscillates period to period is usually a timing error, not an operational one.

Manage to both numbers weekly. Monthly is too slow to change a decision while it still matters.

Frequently asked questions

What is an acceptable variance between theoretical and actual food cost? There is no universal figure and any number presented as a standard should be treated with caution. As a rule of thumb rather than a sourced benchmark, a gap under one percentage point is usually within the noise of counting and rounding. The more useful test is whether the gap is stable and explainable, not whether it matches someone else's target.

Why is my actual food cost lower than my theoretical? Negative variance almost always signals a data problem rather than a kitchen running better than its recipes. Common causes are a closing count that was too generous, a delivery landing in the wrong period, or recipes that overstate portion sizes. Run the Gap Test before celebrating it.

Do I need EPOS integration to calculate theoretical food cost? You need the sales mix from somewhere. Theoretical cost is driven by what sold, so without sales data you can cost dishes accurately but cannot model what the period should have consumed. Manual entry works at small scale and stops being viable quickly.

How do staff meals and comps affect variance? They consume product without generating a mapped sale, so they inflate variance unless they are recorded. Any product leaving the kitchen without a costed sale attached to it will show up as an unexplained gap.

Should I calculate variance in cash or in percentage points? Report in percentage points because that is comparable across periods and sites. Act in cash, because that is what tells you which line to work on first. A small percentage variance on a high-volume protein is usually worth more than a large one on a garnish