Menu Engineering: How to Build a Restaurant Menu That Sells
Menu engineering ranks every dish by popularity and profit. Learn the formulas, the stars, plowhorses, puzzles and dogs matrix, and a worked example in euros.
By The Menumigo TeamUpdated September 12, 202613 min read
Short answer: Menu engineering ranks every dish on your menu by two numbers: how often it sells, and how much money each sale leaves after food cost (its contribution margin). Those two numbers sort each dish into one of four groups, called stars, plowhorses, puzzles and dogs. Each group gets its own action: keep, reprice, promote or remove.
Key takeaways
- Judge dishes by contribution margin (net price minus food cost), not by food cost percentage. A €24 steak with a 46% food cost can earn more per plate than a €14 burger at 37%.
- The popularity line is 70% of an equal share. With 8 dishes in a section, any dish selling less than 8.75% of that section's total counts as low popularity.
- In Europe, work from the price excluding VAT. VAT is never part of your margin.
- Analyse 4 to 12 normal weeks of sales, one menu section at a time.
- Design techniques such as placement, descriptions and price format only pay off once the numbers tell you which dishes to push.
In this guide
- What is menu engineering?
- What you need before you start
- Step 1: Cost each dish
- Step 2: Calculate contribution margin
- Step 3: Measure popularity
- Step 4: Build the menu engineering matrix
- Step 5: Act on each quadrant
- Menu design techniques that support the numbers
- Menu engineering on a digital or QR menu
- Common mistakes
- FAQ
What is menu engineering?
Menu engineering is a way of analysing and redesigning a restaurant menu so that the most profitable dishes also become the most ordered ones. Michael Kasavana and Donald Smith set out the method in Menu Engineering: A Practical Guide to Menu Analysis (1982). Nearly every version in use today still follows their model.
It combines two disciplines:
- Cost accounting. You work out what each plate costs and what it earns.
- Menu psychology. You use layout, wording and pricing to steer guests toward the plates that earn most.
The method answers two questions for every dish: Do guests want it? and Does it pay? The answers sort the dish into one of four quadrants.
What you need before you start
| Input | Where it comes from | Why it matters |
|---|---|---|
| Units sold per dish, for a fixed period | Your POS or till report | Measures popularity |
| Recipe cards with portion weights | Your kitchen | Required to cost a plate |
| Current supplier prices | Latest invoices | Old prices give wrong margins |
| Selling price excluding VAT | Your menu price ÷ (1 + VAT rate) | VAT is collected for the state, not earned |
Typical VAT on restaurant food service (confirm current rates with your accountant, and note that alcohol is often taxed at a higher rate):
| Country | Rate usually applied to food served on site |
|---|---|
| Spain | 10% |
| Portugal | 13% (most drinks 23%) |
| France | 10% (alcohol 20%) |
| Italy | 10% |
| Turkey | 10% |
| USA | Sales tax is added on top of menu prices, so menu prices are already net |
Example: a dish priced at €18.15 on a Portuguese menu, with 10% VAT, has a net price of €18.15 ÷ 1.10 = €16.50. (The worked examples below use 10% for simplicity.)
Step 1: Cost each dish
Food cost per portion is the cost of every ingredient on the plate, in the amount actually served.
Formula:
Ingredient cost = (purchase price ÷ purchase quantity) × quantity used in the portion
Add up every ingredient, including oil, garnish and bread. Use the as-served weight after trimming and cooking loss, not the raw weight on the invoice.
Worked example: Bacalhau à Brás (one portion)
| Ingredient | Portion | Purchase price | Cost |
|---|---|---|---|
| Salt cod (soaked weight) | 180 g | €14.00/kg | €2.52 |
| Potatoes, matchstick cut | 150 g | €1.60/kg | €0.24 |
| Eggs | 2 | €0.30 each | €0.60 |
| Onion | 80 g | €1.50/kg | €0.12 |
| Olive oil | 30 ml | €9.00/L | €0.27 |
| Black olives and parsley | — | — | €0.25 |
| Bread and butter portion | — | — | €0.30 |
| Total portion cost | €4.30 |
To skip the arithmetic, use the free food cost calculator.
Step 2: Calculate contribution margin
Contribution margin (CM) is the money each sale leaves to pay for labour, rent and profit.
Contribution margin = net selling price − portion cost
>
Food cost % = (portion cost ÷ net selling price) × 100
For the bacalhau at a net price of €16.50:
- CM = €16.50 − €4.30 = €12.20
- Food cost % = 4.30 ÷ 16.50 × 100 = 26.1%
Why contribution margin beats food cost percentage: you pay rent with euros, not percentages. A low food cost percentage on a cheap dish can still leave fewer euros per plate than a high percentage on an expensive one. The worked example below shows exactly that.
To set a price from a target food cost, use the menu price calculator.
Step 3: Measure popularity
Pick one menu section, such as mains, and count the units sold for each dish over the same period.
Sales mix % = units sold of the dish ÷ total units sold in the section × 100
>
Popularity threshold = (1 ÷ number of dishes in the section) × 70%
If every dish sold equally, each would have an equal share. Kasavana and Smith set the "high popularity" line at 70% of that equal share. That keeps a dish from being marked unpopular just for landing slightly below average.
With 8 mains, the equal share is 12.5%, so the threshold is 12.5% × 0.70 = 8.75%.
Use a normal period. Leave out weeks containing a holiday, a closure or a one-off event.
Step 4: Build the menu engineering matrix
Average contribution margin for the section:
Average CM = total contribution margin of all dishes sold ÷ total units sold
A dish is high profit if its CM is above that average, and high popularity if its sales mix is at or above the threshold.
Worked example: 8 mains over 4 weeks
Net prices exclude VAT. There are 1,000 mains sold in total.
| Dish | Net price | Portion cost | CM | Food cost % | Units sold | Sales mix | Total CM |
|---|---|---|---|---|---|---|---|
| Bacalhau à Brás | €16.50 | €4.30 | €12.20 | 26.1% | 220 | 22% | €2,684 |
| Grilled octopus | €21.00 | €11.50 | €9.50 | 54.8% | 90 | 9% | €855 |
| House burger | €14.00 | €5.20 | €8.80 | 37.1% | 260 | 26% | €2,288 |
| Mushroom risotto | €16.00 | €3.40 | €12.60 | 21.3% | 70 | 7% | €882 |
| Steak frites | €24.00 | €11.00 | €13.00 | 45.8% | 180 | 18% | €2,340 |
| Vegetable curry | €13.00 | €4.20 | €8.80 | 32.3% | 60 | 6% | €528 |
| Roast salmon | €19.50 | €7.10 | €12.40 | 36.4% | 80 | 8% | €992 |
| Chicken supreme | €16.00 | €6.90 | €9.10 | 43.1% | 40 | 4% | €364 |
| Total | 1,000 | 100% | €10,933 |
- Average CM = €10,933 ÷ 1,000 = €10.93
- Popularity threshold = 8.75%
The four quadrants
| High CM (above €10.93) | Low CM (below €10.93) | |
|---|---|---|
| High popularity (8.75% or more) | Stars: Bacalhau à Brás, Steak frites | Plowhorses: House burger, Grilled octopus |
| Low popularity (below 8.75%) | Puzzles: Mushroom risotto, Roast salmon | Dogs: Vegetable curry, Chicken supreme |
Look at the steak. Its 45.8% food cost would get it flagged in a food-cost-only review, yet it earns €13.00 a plate, the most on the menu. Meanwhile the burger has a "healthy" 37% food cost but earns the least.
Step 5: Act on each quadrant
Stars (popular and profitable)
Protect them.
- Keep the recipe and portion exactly as they are.
- Give them the best spots on the menu: first in their section, or boxed.
- Test a small price rise (around 3–5%). Stars are the dishes that can absorb one.
- Never discount a star. It already sells.
Plowhorses (popular, low margin)
Raise the margin without losing the popularity.
- Raise the price in small steps. For the burger, €14.00 → €14.50 adds €130 of margin over the same 260 sales.
- Re-cost the cheapest side. A smaller portion of fries or a different bun can recover €0.30–€0.60 a plate.
- Pair them with a high-margin add-on, such as a drink or a side.
- Move them down the section. Guests will find them anyway.
Puzzles (profitable, but few orders)
Get them noticed.
- Rewrite the description. Name the origin and the technique.
- Move them to the top of the section or give them a badge.
- Brief staff to recommend them by name.
- Run them as a daily special for a few weeks to get them tried.
- Check the price: a puzzle can be overpriced for what guests perceive.
Dogs (unpopular, low margin)
Remove or rework them.
- Remove most of them. A shorter menu cuts stock, waste and prep time.
- Before deleting one, ask what else it does. In the example, the vegetable curry might be the only vegan main. Removing it could lose whole tables. Rework its cost instead.
- The chicken supreme can go, or return later as a special with a new recipe.
Step 6: Re-run the analysis
Change a few things at a time, then re-run the same analysis 4–8 weeks later. If you change prices, positions and descriptions all at once, you will not know which change worked.
Menu design techniques that support the numbers
Once you know which dishes to push, layout and wording help guests find them.
Placement. The "golden triangle" (centre, then top right, then top left) is widely repeated. However, a 2012 eye-tracking study by Sybil Yang at Cornell found that diners read menus much like a book, top to bottom and left to right. The practical rule: the first items in each section and the top of each page get read most. Put stars and puzzles there.
Descriptions. Specific words sell better than adjectives. "Octopus, grilled over charcoal, with smashed potatoes and paprika oil" beats "delicious octopus". Use one detail about origin, one about technique and one sensory word. Stop there.
Price format. Researchers at Cornell (Yang, Kimes and Sessarego, 2009) found that guests given menus with numeral-only prices (for example "16") spent significantly more than guests whose menus showed a currency sign or prices written out in words.
Price position. Put the price at the end of the description, not in a column aligned down the right edge. A column invites guests to scan for the cheapest dish.
Number of choices. In a well-known 2000 study, shoppers offered 24 jam flavours were far less likely to buy than shoppers offered 6 (Iyengar and Lepper). Menus follow the same logic: aim for about 5–7 dishes per section.
Anchors. One premium dish at the top of a section (a sharing steak, a whole fish) makes the dishes below it look reasonably priced.
Highlights. Box or badge one or two dishes per section at most. Once everything is highlighted, nothing stands out.
Photos. On printed menus, too many photos can look cheap in mid- and high-end venues. On digital menus, guests expect a photo on each dish, especially when they are reading a cuisine they don't know.
Menu engineering on a digital or QR menu
A digital menu gives you two advantages a printed one can't.
1. You can see interest, not just sales. Some digital menus record how often guests open each dish. Compare those views with sales from your POS:
| Views | Sales | Likely problem | What to try |
|---|---|---|---|
| High | High | None, it's working | Protect it |
| High | Low | Price, description or photo puts guests off | Rewrite, re-photograph, check price |
| Low | High | Guests order it without browsing (a regular's dish) | Leave it |
| Low | Low | Guests never find it | Move it up, badge it, or remove it |
Views are not orders. Always make the final call on real sales numbers.
2. You can change the menu the same day. Reordering sections, adding a badge to a puzzle, marking a dish sold out or raising a plowhorse by €0.50 happens in minutes, without reprinting. That means you can test one change for a few weeks and measure it cleanly.
Don't forget language. In tourist areas, a dish guests can't read won't sell. A puzzle can simply be a dish with an untranslated name.
Common mistakes
- Using prices that include VAT. This inflates every margin by the VAT rate.
- Mixing sections. Comparing desserts with mains makes every dessert look like a dog.
- Using a short or unusual period. A holiday week distorts popularity.
- Stale ingredient costs. Re-cost after any significant supplier price change.
- Deleting a dish that serves a dietary need. Check allergen and vegetarian coverage before you cut.
- Over-raising stars. Small steps, then measure.
- Changing everything at once. You lose the ability to see what worked.
How Menumigo fits
Menumigo is a digital menu platform, not a POS, so it doesn't know how many plates you sold. Your till provides the popularity numbers. Menumigo helps with the rest:
- Free calculators for food cost and menu pricing.
- Item views in analytics show which dishes guests open on the menu, so you can compare interest with sales.
- Same-day changes: reorder dishes, add badges such as "Chef's Choice", mark items sold out and adjust prices without reprinting the QR code.
- Pairings and bundles to attach a high-margin side or drink to a plowhorse.
- Translations so tourists can read, and order, your puzzles.
- Allergen tags for all 14 EU allergens, so you can check dietary coverage before removing a dog.
See the plans on the pricing page, or open the demo menu to see how a menu looks to guests.
FAQ
What are the four categories of menu engineering?
The four categories are stars (high popularity, high contribution margin), plowhorses (high popularity, low margin), puzzles (low popularity, high margin) and dogs (low popularity, low margin). Keep stars, raise plowhorse margins, promote puzzles and remove or rework dogs.
How do you calculate the contribution margin of a menu item?
Subtract the portion's ingredient cost from the selling price excluding VAT. A dish that sells for €16.50 net and costs €4.30 in ingredients has a contribution margin of €12.20.
How do you decide if a dish is popular in menu engineering?
Divide 1 by the number of dishes in the section, then multiply by 70%. With 10 dishes, the threshold is 7%. Any dish at or above 7% of the section's unit sales counts as high popularity.
What is a good food cost percentage for a restaurant?
Many restaurants aim for roughly 25–35% on food, but it varies with the concept. In menu engineering, the euro contribution margin per plate matters more than the percentage. A premium dish with a higher food cost percentage often earns more per sale.
How often should you do menu engineering?
Run it every quarter, whenever a supplier raises prices noticeably, and before every seasonal menu change. Allow 4–8 weeks after each change before measuring again.
Does menu engineering work for small cafés and bars?
Yes. The method works with as few as 5 items per section, and the arithmetic fits in a spreadsheet. Small venues usually gain most from removing dogs, because a shorter menu means less stock and waste.
Should I include VAT when calculating menu margins?
No. In the EU, menu prices include VAT, which you pass on to the tax authority. Divide the menu price by 1 plus the VAT rate (for example ÷ 1.10) before calculating contribution margin.
Sources
- Kasavana, M. L. and Smith, D. I. (1982). Menu Engineering: A Practical Guide to Menu Analysis. Hospitality Publications.
- Yang, S. S., Kimes, S. E. and Sessarego, M. M. (2009). $ or Dollars: Effects of Menu-price Formats on Restaurant Checks. Cornell University School of Hotel Administration. https://ecommons.cornell.edu/handle/1813/71169
- Yang, S. S. (2012). Eye movements on restaurant menus: A revisitation on gaze motion and consumer scanpaths. International Journal of Hospitality Management, 31(3).
- Iyengar, S. S. and Lepper, M. R. (2000). When choice is demotivating: Can one desire too much of a good thing? Journal of Personality and Social Psychology, 79(6), 995–1006. https://doi.org/10.1037/0022-3514.79.6.995