Food cost formula: calculate plate cost and price a menu
The food cost formula, worked through on a real Thai dish in baht: cost a plate with yield and sauces included, then price your menu to hit a target food cost percentage.
The food cost formula is plate cost divided by selling price, times 100. To price a dish, flip it: menu price equals plate cost divided by your target food cost percentage. The maths is easy. What goes wrong is the plate cost itself, which is usually understated because it ignores ingredient yield, batch sauces, oil, garnish and packaging. Cost those properly, work from the price you actually keep, and judge each dish by the baht it earns as well as its percentage.
The food cost formula is simple: plate cost ÷ selling price × 100 = food cost percentage. Flip it around and you have your pricing formula: plate cost ÷ target food cost % = menu price. A dish that costs ฿52.60 to make and sells for ฿159 runs at 33%. If you want it at 30%, it needs to sell for about ฿175.
That is the whole calculation, and you could do it on a phone in ten seconds. So why do so many restaurants price a dish at "30%" and still end the month with food cost at 36? Because the formula is only as honest as the plate cost you feed into it, and most plate costs leave things out. This guide walks one real dish through the numbers, in baht, and shows where the missing money usually hides.
The food cost formula, and its pricing twin
Two formulas, the same three numbers:
- Food cost % = plate cost ÷ selling price × 100. Use it to check a dish you already sell.
- Menu price = plate cost ÷ target food cost %. Use it to price a new dish or re-price an old one.
Plate cost means the ingredient cost of one serving, everything that goes on the plate or into the pan. It does not include rent, wages or gas. Those matter, but they belong in your overall margin, not in food cost.
The target percentage depends on your concept. Drinks-led bars and cafés often run well under 30%; seafood and steak concepts run higher. There is no universal right number. What matters is picking a target for your venue, costing every dish against it, and watching the trend. If you want to test a few prices quickly, the free food-cost calculator does this arithmetic for you.
How to calculate food cost for one plate, step by step
Take a dish most Thai kitchens know: pad kra pao with crispy pork belly, rice and a fried egg, selling at ฿159. Here is how to cost it properly.
1. List every ingredient with its portion weight. Crispy pork belly 100g, cooked jasmine rice 200g, one egg, holy basil, chilli and garlic, 30ml of stir-fry sauce, and the oil for the wok and the egg.
2. Convert each purchase price into a cost per gram or per ml. Take the price from your most recent invoice, not the one you remember. If the pork belly cost ฿180 a kilo, that is ฿0.18 per gram, before yield. We will come back to that.
3. Multiply portion by unit cost and add it up. Done properly, the plate looks like this:
| Ingredient | Portion | Cost |
|---|---|---|
| Crispy pork belly (after yield) | 100g | ฿30.00 |
| Jasmine rice, cooked | 200g | ฿6.00 |
| Egg + frying oil | 1 egg | ฿6.00 |
| Holy basil, chilli, garlic | 1 portion | ฿5.00 |
| Stir-fry sauce (batch-costed) | 30ml | ฿3.60 |
| Wok oil | 1 portion | ฿2.00 |
| Plate cost | ฿52.60 |
4. Apply the formula. ฿52.60 ÷ ฿159 × 100 = 33.1%. If your target is 30%, the dish is about three points over, which is ฿5 on every plate you sell. At 40 plates a day, that is ฿6,000 a month from one dish.
Yield: the step most recipe costs skip
Look at the pork belly line again. On the invoice it cost ฿180 a kilo, so a 100g portion "costs" ฿18. But you do not serve raw pork belly. By the time it has been boiled, dried and fried until crisp, a kilo of raw belly might give you 600g you can actually plate. That is a 60% yield.
The real cost per usable kilo is the purchase price divided by the yield: ฿180 ÷ 0.60 = ฿300 a kilo, or ฿30 for a 100g portion. Costing it at ฿18 understates the plate by ฿12, and that single mistake turns a 33% dish into one that looks like 26% on paper.
The same trap catches anything that loses weight before it reaches the plate:
- Whole fish and prawns, after heads, shells and bones come off.
- Chicken on the bone, when you serve it off the bone.
- Vegetables, after peeling, trimming and the outer leaves that go in the bin.
- Anything braised, roasted or fried, which loses water in the pan.
You do not need a lab to measure it. Weigh a batch before prep, weigh what you can serve, divide one by the other, and write it down. Do it once per key ingredient and re-check when you change supplier. In Papaya Stock you set a yield on each ingredient, so every recipe that uses it is costed on the usable weight automatically.
Cost your sauces and preps as their own recipes
The 30ml of stir-fry sauce is where plate costs usually go vague. Nobody costs 30ml of sauce from scratch every time. The fix is to cost the batch once.
Say your kra pao sauce is oyster sauce, fish sauce, soy, sugar and a little water, and one batch costs ฿240 in ingredients and makes 2,000ml. That is ฿0.12 per ml, so 30ml adds ฿3.60 to the plate. Now every dish that uses the sauce can reference that per-ml cost, and when the price of oyster sauce goes up, you re-cost the batch and every dish updates with it.
Treat curry pastes, nam jim dipping sauces, stocks, pickles and marinades the same way. Papaya Stock handles these as prep recipes with their own batch size, so a sauce is costed once and then used as an ingredient anywhere on the menu.
Then sweep up the small stuff, because it adds up across hundreds of plates: the oil in the wok, the garnish, the chilli fish sauce on the table, free rice refills, and for takeaway, the box, bag, cutlery and sauce cups. A ฿6 container on a ฿159 takeaway order is almost four points of food cost on its own.
Price from the baht you actually keep
The formula needs a selling price, and the honest one is the price you keep, not the one on the menu.
VAT and service charge. If you are VAT-registered and your menu prices include VAT, part of that ฿159 is not yours. Take the VAT out before you divide. Leave any service charge out entirely; it is not food revenue. Skipping this step makes every dish look a few points cheaper to run than it is.
Delivery commission. Now take the same dish on a delivery app. Suppose the platform commission is 30% and packaging adds ฿6. On a ฿159 order you keep ฿111.30, against a plate cost of ฿58.60. That is about 53% food cost on the money that reaches you. The dish that looked healthy on the floor is barely breaking even on delivery.
You do not have to recover all of it, and some operators accept a thinner margin on delivery for the reach. But decide on purpose. At ฿199 on delivery, you keep ฿139.30 and the same dish runs at 42%. Papaya lets you set a different price per channel, so dine-in, QR, Grab and your own delivery can each carry their own price for the same dish.
Add-ons and sizes. "Add a fried egg +฿15" and "large +฿30" are pricing decisions too. Cost them the same way. An add-on with its own ingredients, and a large size that uses 1.5 times the recipe, both need to earn their price. In Papaya, add-ons carry their own recipe and size options scale the base recipe, so the plate cost follows what the guest actually ordered.
Percentage tells you efficiency, baht tells you profit
Once every dish is costed, it is tempting to rank the menu by food cost percentage and push the lowest. Be careful. The percentage tells you how efficiently a dish turns ingredients into sales. It does not tell you how much money it makes.
Compare two dishes:
- Pad kra pao, ฿159, plate cost ฿52.60: 33% food cost, ฿106.40 left per plate.
- Tom yum goong, ฿280, plate cost ฿112: 40% food cost, ฿168 left per plate.
The tom yum looks worse on percentage and earns ฿61.60 more every time it sells. Cutting it, or pricing it up until it hits 33%, could lose you money. Look at both numbers together, alongside how many of each you sell. A high-percentage, high-baht dish that sells well is often your best item. A low-percentage dish that nobody orders is not helping. Papaya's Copilot reads your sales, menu and inventory data together as part of its menu optimization, but you can start with a spreadsheet and your top ten dishes.
Round, sanity-check, and keep it current
The formula gives you a number like ฿175.33. Nobody prints that on a menu. Round to a price point that fits your menu, check it against what nearby restaurants charge for the same dish, and ask whether your regulars will accept it. If the price the formula wants is more than the market will bear, the answer is not always a higher price. Sometimes it is a smaller portion of the expensive protein, a cheaper garnish nobody would miss, or a better price from your supplier.
Then set a rhythm:
- Monthly: re-cost your ten best-selling dishes against current invoices.
- Immediately: re-cost any dish whose main ingredient jumps in price. Prawns, pork, eggs and cooking oil are the usual suspects.
- Quarterly: review the whole menu on both percentage and baht margin, and adjust prices in one go rather than dish by dish.
A recipe cost that updates itself from your latest purchase prices makes this far less painful. That is the job Papaya Stock does, alongside the weekly counts covered in our guide to cutting food cost without changing the menu. Either way, the principle holds: the formula is easy, so spend your effort on the plate cost.
Frequently asked questions
What is the food cost formula?
Food cost percentage equals the ingredient cost of one plate divided by its selling price, multiplied by 100. A dish that costs ฿52.60 to make and sells for ฿159 runs at 33%. To set a price instead, divide the plate cost by your target percentage: ฿52.60 divided by 0.30 is about ฿175.
How do I account for trim and cooking loss when costing a recipe?
Use the yield. Divide the price you paid per kilo by the share you can actually serve. Pork belly bought at ฿180 a kilo that yields 60% after boiling and frying really costs ฿300 per usable kilo, so a 100g portion is ฿30, not ฿18.
Should I calculate food cost on the price including VAT or service charge?
Neither. Work from the money that stays with you. If you are VAT-registered and your menu prices include VAT, take the VAT out first, and leave any service charge out entirely. Using the gross figure makes every dish look a few points cheaper to run than it is.
Should delivery prices be higher than dine-in prices?
Usually, yes, or at least decided on purpose. After a platform commission and packaging, the same dish can run above 50% food cost on the money you keep. Many operators set a separate delivery price to win some of that back.
How often should I recalculate my food cost?
Re-cost the ten dishes that drive most of your sales at least monthly, and straight away when a key ingredient such as prawns, pork or cooking oil moves sharply in price. A price set on last quarter's invoice is a guess.
Get the plate cost right and the price follows
The food cost formula is one line of arithmetic. The part that takes discipline is the plate cost: yield on every protein, a cost for every sauce and garnish, packaging on takeaway, and a price you actually keep after VAT and commission. Get those right for your ten biggest sellers and pricing stops being a feeling.
Then keep it current. Ingredient prices in Thailand move week to week, so a menu costed once in January is quietly wrong by June. Re-cost monthly, re-price when a key ingredient jumps, and read the baht margin alongside the percentage.
Menu-price calculator
Price a dish to hit a target food-cost percentage.
More on Food cost & margin
Cost your recipes, cut waste and protect margin without touching the menu.
