Key takeaways
- Food cost percentage = cost of goods sold ÷ food sales × 100. Work out cost of goods sold as opening stock + purchases − closing stock.
- Calculate it the same way every period, and compare it with the theoretical cost from your recipe cards. The gap shows waste, over-portioning or loss.
- There is no single right target. It depends on your concept, prices and labour model, so set yours from your own recipe costings.
- Standard recipes, portion tools, regular stock takes, FIFO and supplier reviews do most of the work. Menu engineering tells you what to promote, reprice or remove.
- A POS with recipe-level inventory turns this from a monthly spreadsheet job into something you can check every day.
What food cost percentage means
Food cost percentage tells you how much of every dollar of food sales you spent on the ingredients that went into it. The formula is:
Food cost % = cost of goods sold (food) ÷ food sales × 100
If you spent $30 on ingredients to generate $100 of food sales, your food cost is 30%. The other 70% has to cover rent, wages, utilities, card fees, marketing and profit.
Keep food and beverages separate if you can. Drinks, especially coffee, tea and soft drinks, often have a very different cost profile to food, so a combined figure can hide problems in either. Most operators track food cost, beverage cost and sometimes alcohol cost as separate lines.
There are two versions of the number, and you need both:
- Actual food cost: what you really used, from stock counts and invoices.
- Theoretical (or ideal) food cost: what you should have used, based on recipe cards and what you sold.
The difference between them is your variance. That is where the money leaks.
How to calculate it: the period method
The standard way to find actual food cost for a week or a month is:
Cost of goods sold = opening stock + purchases − closing stock
Opening stock is the value of food on hand at the start of the period, which is the closing count from the last period. Purchases are all food deliveries received during the period, from invoices. Closing stock is what you count at the end.
Worked example (hypothetical round numbers)
These figures are made up to show the method. They are not a benchmark.
| Item | Amount |
|---|---|
| Opening food stock (1 June count) | $6,000 |
| + Food purchases in June (invoices) | $20,000 |
| − Closing food stock (30 June count) | $5,000 |
| = Cost of goods sold | $21,000 |
| Food sales in June | $70,000 |
| Food cost % | $21,000 ÷ $70,000 = 30% |
A few rules keep the number honest:
- Count on the same day and time each period, ideally after close or before deliveries.
- Value stock at the latest purchase price (or a consistent method) and apply it every time.
- Include everything: the walk-in, freezers, dry store, bar fridge and anything on the line.
- Adjust for transfers such as staff meals, food moved to another outlet, or ingredients used in drinks, if you track them separately.
- Match purchases to deliveries in the period, not to when you paid the invoice.
Plate costing and recipe cards
The period method tells you what happened across the whole kitchen. Plate costing tells you what each dish should cost. You need it to set prices and to calculate theoretical food cost.
A recipe card lists every ingredient, the exact quantity per portion, the unit cost, and the method and plating. Two details are often missed:
- Yield. Trimming, peeling, bones and cooking loss mean you use less than you buy. If 1 kg of mushrooms gives 900 g after trimming, the yield is 90%, and the cost per usable kilogram is higher than the invoice price.
- The small stuff. Oil, butter, garnish, sauces and packaging for takeaway add up. Include them, or add a small allowance per plate.
Worked example: mushroom pasta (hypothetical prices)
Illustrative prices only. Use your own supplier invoices.
| Ingredient | Portion | Unit cost | Cost per plate |
|---|---|---|---|
| Dried pasta | 120 g | $4.00 / kg | $0.48 |
| Mushrooms (90% yield) | 100 g usable | $12.00 / kg bought ($13.33 / kg usable) | $1.33 |
| Cream | 80 ml | $8.00 / litre | $0.64 |
| Parmesan | 15 g | $40.00 / kg | $0.60 |
| Truffle oil | 5 ml | $60.00 / litre | $0.30 |
| Butter, garlic, herbs, seasoning | allowance | n/a | $0.25 |
| Total plate cost | $3.60 |
If the menu price is $18 before GST and service charge, the plate cost is $3.60 ÷ $18 = 20%. The cash left over, $14.40, is the dish’s contribution margin. You need that figure for menu engineering later.
Repeat this for every item. Your theoretical food cost for a period is then the sum of (plate cost × quantity sold) for every dish, divided by food sales. If actual cost from the period method is noticeably higher than theoretical, something is going wrong between the delivery door and the plate.
Update recipe cards whenever a supplier changes a price. A card costed a year ago can be well out of date.
What’s a sensible target?
You will see “ideal” food cost percentages quoted online, but there is no single right figure. We don’t publish a benchmark here, because a sensible target depends on your own business:
- Concept and ingredients. A steak or seafood restaurant uses expensive proteins. A café selling pastries and pasta may have lower ingredient costs per dollar of sales.
- Price point. Higher menu prices usually carry service, ambience and presentation, not just more ingredients.
- Labour model. Food made from scratch has lower ingredient cost but more labour. Pre-prepared components cost more to buy but less to produce. Many operators watch prime cost (food cost plus labour cost) for this reason.
- Channel mix. Delivery orders carry packaging and platform commissions that change the maths.
The practical approach: set your target from your recipe costings and your budget. Work out what food cost % leaves enough margin to cover rent, wages and other costs at realistic sales. Then track the gap between actual and theoretical. A stable, small variance matters more than hitting a number you read somewhere.
Why food cost drifts
Food cost rarely jumps overnight. It creeps up. The usual causes are:
- Waste. Over-prepping, spoilage, expired stock, dropped plates and remakes. If it is not recorded, it is invisible.
- Over-portioning. An extra 20 g of protein per plate looks generous but adds up over hundreds of covers.
- Supplier price changes. Prices move with season, exchange rates and supply. If menu prices and recipe cards don’t follow, margin shrinks quietly.
- Theft and unrecorded consumption. Staff meals not logged, items given away, stock leaving through the back door, or voided orders that were actually served.
- Receiving errors. Short deliveries, wrong weights or substituted products accepted without checking.
- Menu mix. If customers shift towards higher-cost dishes, your overall food cost % rises even when every recipe is followed.
How to control it
- Standard recipes. Every dish has a recipe card with quantities, method and a plating photo. Train to it and check it.
- Portion tools. Scales, ladles, scoops and portion bags make the recipe card real during a busy service.
- Regular stock takes. A full count monthly at minimum. Count high-value items such as proteins, seafood and alcohol weekly or even daily.
- FIFO. First in, first out. Label and date everything, store new deliveries behind older stock, and use the oldest first.
- Waste logs. Record what is thrown away and why. Patterns show up fast, such as one prep item always over-made on weekdays.
- Receiving checks. Weigh and check deliveries against the purchase order before signing.
- Supplier reviews. Compare prices across suppliers periodically, and ask about pack sizes and delivery terms, not just unit price.
- Par levels and ordering. Set par levels per item so you order what you need, not what feels right.
- Controls on voids and comps. Require manager approval in the POS so free food is recorded and justified.
- Menu engineering. Reprice, redesign or remove dishes based on their margin and popularity. See the next section.
Menu engineering basics
Menu engineering is a method, widely associated with Kasavana and Smith, that sorts each dish by two measures: popularity (how many you sell compared with the menu average) and contribution margin (menu price minus plate cost, in dollars). That gives four groups:
| Group | Popularity | Margin | What to do |
|---|---|---|---|
| Stars | High | High | Protect them. Keep quality consistent, give them prime menu placement, and don’t change the recipe without good reason. |
| Plowhorses | High | Low | Popular but thin. Try a small price rise, a smaller portion, a cheaper side, or pairing with a high-margin add-on. |
| Puzzles | Low | High | Profitable but overlooked. Rename, reposition, photograph, or have staff recommend them. |
| Dogs | Low | Low | Consider removing, unless they serve a purpose, such as a kids’ dish that brings in families. |
Note that menu engineering uses dollar margin, not food cost %. A steak at 35% food cost may earn more per plate than a pasta at 20%. You need both views: food cost % to control the kitchen, and contribution margin to decide what to sell.
Run the analysis at least once a quarter, and within a menu category (mains against mains, drinks against drinks) so you compare like with like.
How a POS helps
All of this is possible with spreadsheets, but it takes hours, so it often gets skipped. A POS with stock and reporting features does much of the counting for you:
- Recipe-level inventory deduction. Link each menu item to its ingredients, and every sale deducts the right quantities from stock. That gives you theoretical usage automatically. See inventory management.
- Low-stock alerts. Get warned before you run out of a key ingredient mid-service.
- Purchase orders. Raise orders from par levels and match deliveries against them, so receiving errors show up.
- Variance reports. Compare counted stock with what the system expected. A large gap on one item points you to where to look.
- Item sales reports. Quantity sold and revenue per item are the inputs for menu engineering. See POS reports.
- Void and discount tracking. Staff permissions and audit trails show who voided what, and when.
ChaChaCha includes reports, staff permissions and a Xero integration for your accounts; see the inventory page for its stock features. Multi-outlet operators can use the head-office ERP to compare outlets. If you are choosing a system, our guide to the best restaurant POS systems in Singapore covers what to look for, or talk to us about your kitchen.
A note on GST
If your business is GST-registered, you can generally claim GST on purchases as input tax, and the GST you charge on sales is not your revenue. So operators usually compare food cost and food sales excluding GST, which is what we did in the pasta example. Service charge is also usually kept separate from food sales in this calculation. If you are not GST-registered, the GST you pay on purchases is a real cost, so include it. Whichever way you choose, be consistent from period to period. Your accountant can confirm the right treatment for your books. For how GST and service charge appear on the bill, see our guide to service charge and GST for Singapore restaurants.
