The two numbers, plainly

Theoretical food cost is what the period should have cost if every plate matched its recipe exactly: each item sold times its costed portion, divided by food sales. Actual food cost is what the period really cost, from counts and invoices: beginning inventory plus purchases minus ending inventory, divided by food sales. Theoretical is the recipe's promise; actual is the kitchen's reality.

Variance = actual food cost % − theoretical food cost %
Variance in dollars = variance % × food sales

Worked example

NumberHow it's builtValue
Food sales for the monthfrom the POS$40,000
Theoretical usageitems sold × recipe costs$11,200
Theoretical food cost11,200 ÷ 40,00028.0%
Actual usagecounts + invoices$12,560
Actual food cost12,560 ÷ 40,00031.4%
Variance31.4 − 28.03.4 pts
Variance in dollars3.4% × 40,000$1,360 / month

Sample numbers for illustration, and the point sits in the last row: a variance that reads like a rounding error is $16,320 a year walking out of one location. Multi-unit operators multiply that by the store count, which is why actual-vs-theoretical is the report chains obsess over.

Where the gap comes from

  • Portioning. The recipe says 5 oz; the ladle says whatever the cook feels. The most common and most fixable source.
  • Waste and spoilage. Trim beyond planned yield, the dropped tray, the walk-in casualty nobody logged.
  • Receiving gaps. Paying for 50 lb and shelving 47, or accepting a substitution at a higher price nobody entered.
  • Theft and shrink. Unrung items and back-door loss show up here and nowhere else.
  • Stale theoretical. The sneaky one: if recipe costs lag invoice prices, the theoretical itself is wrong, and you chase a variance that is really a bookkeeping artifact.

How to close the gap

First make the theoretical trustworthy: recipes costed from current invoice prices with yields applied; the costing method is here. Then make the actual honest: consistent counts, every invoice captured. Only then does the variance mean anything, and the fixes rank themselves: retrain portioning on the two or three items with the biggest gaps, log waste for two weeks to see where it concentrates, and spot-check receiving against invoices.

The reason most independents never run this report is arithmetic labor: theoretical needs every recipe costed and current, and actual needs every invoice entered. That is precisely the typing Culvana removes: the AI reads invoices as they arrive, keeps recipe costs current, and depletes inventory per sale, so actual-vs-theoretical stops being a quarterly project and becomes a number on the dashboard. See it with your own menu.

Common questions

What is theoretical food cost?

The food cost you would have if every plate matched its recipe: items sold times recipe cost, divided by food sales.

What is an acceptable variance?

Smaller is better and zero is fiction. What matters is that the variance is measured on honest inputs, watched weekly, and trending down. A widening gap is the earliest signal of portioning, receiving or shrink problems.

Why is my actual food cost higher than theoretical?

Waste, over-portioning, receiving gaps, unlogged transfers or theft. If theoretical was built on stale prices, part of the gap is bookkeeping, not the kitchen; fix the costing first.

Can actual be lower than theoretical?

Yes: under-portioning, substitutions with cheaper product, or counting errors. Guests eventually notice the first two, so a negative variance deserves the same investigation.

Get a theoretical you can trust

Cost a dish in the free recipe cost calculator, then see what live, invoice-fed costing looks like at $199 a location. Or start with the menu engineering matrix to find which items deserve the attention first.