A good food cost percentage is one low enough to leave room for labor, rent and a profit after the ingredients are paid for. Restaurants commonly aim for roughly 28% to 35% of food sales, but the right number depends on what you sell and how you sell it: a bakery's retail loaf might run near 20% while the same loaf sold wholesale runs above 30%, and both can be healthy. Food cost percentage is the cost of the food you used divided by your food sales. For a month, that's opening stock plus purchases minus closing stock, divided by sales. Below are the formula, common targets, a month worked through, and where the extra points usually hide.
The short version
- Food cost % = cost of food used ÷ food sales × 100.
- For a period: (opening stock + purchases − closing stock) ÷ food sales.
- For one item: ingredient cost ÷ menu price.
- Common restaurant targets are about 28% to 35%; your own number depends on your mix and channels.
- Compare actual against what your recipes say it should be. The gap is waste, portions, prices and comps.
- TaroStack costs every recipe from what you paid and shows where the gap comes from. More below.
The formula, two ways
For a period, from your books and your counts:
Food cost % = (opening stock + purchases − closing stock) ÷ food sales × 100
For a single item, from its recipe:
Food cost % = ingredient cost per portion ÷ menu price × 100
The period version is what you spent; the item version is what your recipes say you should have. Most of the useful information is in the difference between them.
Common targets, by kind of business
These are the targets you'll commonly hear. They're rules of thumb rather than measurements, so treat them as a starting point and let your own margins decide.
| Business | Often-quoted target |
|---|---|
| Full-service restaurant | 28% to 35% |
| Café or coffee counter | 25% to 35%, lower where drinks dominate |
| Bakery selling retail | 25% to 35% |
| Food truck | 25% to 35% |
| Catering | 25% to 35% |
| Producer selling wholesale | Higher, often 30% to 45% of the wholesale price, because the price is lower |
A common companion rule is prime cost (food plus labor) at about 60% to 65% of sales or less. Food cost alone can look fine while labor eats the margin, so look at both.
The same product, different percentages
Windward Roots, the made-up taro business I use in these examples, sells at its own counter and wholesale to cafés.
| Item | Ingredient cost | Price | Food cost % |
|---|---|---|---|
| Taro sweet bread, retail loaf | $2.31 | $12.00 | 19.3% |
| Taro sweet bread, wholesale loaf | $2.31 | $7.25 | 31.9% |
| Taro latte | $1.05 | $5.75 | 18.3% |
| Lunch plate: kalua pork, taro, salad | $4.60 | $15.00 | 30.7% |
The loaf is the same loaf. Wholesale has a higher food cost percentage because the price is lower, and that's fine: there's no counter staff, no card fees, and 24 loaves go out in one delivery. That's why a single target for the whole business can mislead you. How the wholesale price was set is in how to price baked goods for wholesale, and why a percentage of price behaves differently from a percentage of cost is in markup vs margin.
A month, worked through
September at the counter:
Opening food stock $4,200
+ Purchases $9,800
− Closing food stock $4,600
= Food used $9,400
Food sales $31,000
Food cost % $9,400 ÷ $31,000 = 30.3%
The owner's target is 28%, which would be $8,680 of food. So the month ran $720 over, about $8,640 a year if every month looks like this one. Where did it go? The recipes say the month's sales should have used $8,401 of food (27.1%), so the gap between what was used and what should have been is $999:
| Where the gap came from | Amount |
|---|---|
| Waste: expired and spoiled stock | $310 |
| Portions: the scoop got bigger | $280 |
| Prices: butter and pork went up | $250 |
| Comps, samples and staff meals nobody recorded | $159 |
| Gap | $999 |
That split is the real answer to "is my food cost good?". A 30.3% that's mostly price rises calls for a menu change; a 30.3% that's mostly waste calls for better rotation, not higher prices. How to split it yourself is in the food cost variance formula.
Six ways to bring it down
| Lever | What to do | On the example |
|---|---|---|
| Waste | Rotate by date, pull short-dated stock forward, use it in specials | Most of the $310 |
| Portions | Fixed scoops and scales, a photo of each plate | The $280 |
| Prices you pay | Compare suppliers, watch for creep, buy the right pack size | Part of the $250 |
| Menu prices | Reprice the items whose cost has moved | The rest of the $250 |
| Recipes | Check yields; a recipe that makes 22 rather than 24 costs 9% more per piece | Hidden in all of it |
| Recording | Write off comps, samples and staff meals with a reason | The $159, made visible |
Waste is usually the cheapest place to start, because it costs nothing but habits. The habits are in stock rotation methods.
Where this stops working
The monthly percentage arrives late and says little. You count on the 30th, work it out on the 5th, and learn that September ran over, with no way to tell whether it was the butter, the scoop or the walk-in. The recipe costs in the spreadsheet were right in spring. Nobody recorded the staff meals. And to split the gap the way the table above does, you need every batch, every write-off and every price change, which is exactly what a spreadsheet doesn't keep.
How TaroStack does it
TaroStack keeps the numbers under your food cost true as they happen, and shows you where the gap comes from instead of leaving you to guess.
Recipes are costed from what you paid. Ingredients come in at the price on the delivery, with freight spread across what arrived, and stock is costed in FIFO layers, or moving average if you prefer. Recipes contain sub-recipes, like a dough or a sauce, so when butter goes up, the dough, the bread and the plate all move with it. Every batch you record is costed from the lots it used and shown against what the recipe says it should cost.
Each part of the gap has its own report. Recipe truth, from your own batch history, shows whether a recipe yields what it claims and which ingredient's quantity is off, so a batch that quietly makes 22 instead of 24 shows up in numbers. A price-creep report per supplier shows who has been nudging prices up. And every write-off carries a reason (expired, spoiled, damaged, sample), so the losses report shows waste by reason, item and site, and the staff meals and samples stop disappearing.
Waste gets caught before it happens. Oldest date goes first everywhere stock is picked, and TaroStack forecasts what will expire before it's used and what it'll cost, while there's still time to put it in a special. Counts run on a phone, even in the walk-in with no signal, and show what each difference is worth before you post it.
And the formula's inputs are ready. Stock value is kept at what it cost, by site, with a month-by-month history, so opening and closing stock for the period are a screen, not a count night. Margins are reported per product on what each one actually cost.
| The question | On a spreadsheet | In TaroStack |
|---|---|---|
| What did this plate cost? | The recipe sheet from spring | Its recipe, at what you paid |
| Why is food cost up? | A guess | Recipe truth, price creep and losses, side by side |
| What will expire this week? | A walk round the shelves | A forecast, with its cost |
| Opening and closing stock | A count and a spreadsheet | Stock value by month |
Stock value, counts, expiry and the losses report are on every plan, from $49 a month; recipes, batch costs, recipe truth and margins on actual cost are on Standard at $99. The first 30 days are free, with no credit card, and your recipes import from a spreadsheet or a photo of a recipe card. If you'd like a hand setting up, ask, and we'll do it with you.
