Menu Engineering: Formulas, Matrix and a Worked Example (Free Template)

Evrenus Fırat Polat avatarEvrenus Fırat Polat
Published: 15 min read
Share:
Analytics dashboard on a laptop screen

Menu engineering is a method for rating every item on a menu by two numbers: its contribution margin (selling price minus food cost) and its popularity (share of category sales). Each item lands in one of four groups (Stars, Plowhorses, Puzzles or Dogs), and each group gets a different action on price, placement or recipe.

This page gives you the formulas, a full worked example with 10 real-looking dishes, the action plan for each quadrant, and a blank worksheet you can copy. All the math in the example was checked line by line, so you can use it to test your own spreadsheet.

Key Takeaways

  • Two inputs per item: contribution margin in dollars and menu mix percentage. Food cost percentage alone is not enough.
  • Two thresholds per category: the weighted average contribution margin, and the popularity cutoff of (1 / number of items) x 70%.
  • Four quadrants: Stars (keep), Plowhorses (reprice or re-cost), Puzzles (promote), Dogs (rework or remove).
  • Analyze one category at a time, for one period, with at least a few weeks of sales data.
  • Repeat the analysis after every price or layout change. One run is a snapshot, not a strategy.

What is menu engineering?

Menu engineering is a menu analysis method that compares each item's profit per sale with how often guests order it. The goal is not the lowest food cost. The goal is the highest total contribution margin from the menu you already sell.

The method was first introduced in 1982 by Michael L. Kasavana and Donald I. Smith of Michigan State University, in the book Menu Engineering: A Practical Guide to Menu Analysis (Hospitality Publications). Kasavana himself describes the origin and the four categories in an AHLEI article from April 2025, and the Wikipedia entry on menu engineering gives the same 1982 date.

Two other models are often taught next to it:

  • Miller (1980), Menu Analysis: the matrix in Miller's book Menu Pricing and Strategy rates items by food cost percentage and sales volume, not by dollar margin.
  • Pavesic (1983), Cost/Margin Analysis: D. V. Pavesic combined food cost percentage with weighted contribution margin, to raise total margin while keeping food cost low. Some sources date this model to 1985.

A 2021 case study in the Tourism and Hospitality International Journal applied all three models (Miller 1980, Kasavana and Smith 1982, Pavesic) to one restaurant and found only small differences in the rankings. Kasavana and Smith's version is the one most people mean when they say "menu engineering", so this guide uses it.

Menu engineering starts after you know your plate costs. If you still need to cost your recipes or set a price from a target food cost, start with our food cost formula and menu pricing guide, then come back here.

Menu engineering formulas cheat sheet

These are all the formulas you need. Run them inside one menu category (for example, mains only).

MetricFormulaExample
Item contribution margin (CM)Selling price - item food cost (plate cost)$15.00 - $4.10 = $10.90
Total item CMItem CM x number sold$10.90 x 420 = $4,578.00
Total category CMSum of all total item CMs$23,712.50
Weighted average CMTotal category CM / total items sold$23,712.50 / 1,800 = $13.17
Menu mix % (MM%)Item sold / total items sold in category420 / 1,800 = 23.33%
Popularity threshold(1 / number of items) x 70%(1 / 10) x 0.70 = 7.00%
CM categoryHigh if item CM is at or above the weighted average CM, else Low$10.90 < $13.17 = Low
MM categoryHigh if MM% is at or above the popularity threshold, else Low23.33% >= 7.00% = High
Item food cost % (context only)Item food cost / selling price$4.10 / $15.00 = 27.3%

Why 70%? If all 10 items sold equally, each would take 10% of sales. Menu engineering calls an item popular if it reaches at least 70% of that fair share. The LibreTexts open textbook Introduction to Food Production and Service states it this way: "Menu analysis assumes that popular items have sales of 70% or more of the expected popularity." A Northern Arizona University menu engineering exercise uses the same example: 1/10 x .70 = 7%.

The same textbook defines the average CM as "the total contribution margin divided by total numbers of items sold". That is a weighted average. A simple average of the item CMs gives a different (and misleading) answer, as you will see in step 5.

The matrix crosses the two ratings. Kasavana's own AHLEI article defines the four groups by "profitability" (CM) and "popularity" (MM%).

Low popularity (MM% below threshold)High popularity (MM% at or above threshold)
High CMPuzzle: profitable, but guests rarely order itStar: profitable and popular
Low CMDog: low profit and low popularityPlowhorse: popular, but earns less per sale

Some courses use other labels for the same grid, such as Gold, Silver, Bronze and DQ in the NAU exercise. The logic does not change.

1. Pick one category and one time period

Run the analysis on one group of items that compete for the same guest decision. A guest picks one main, not "a main or a dessert". If you mix categories, cheap sides look like Plowhorses and steaks look like Puzzles for no useful reason.

  • Good categories: mains, starters, desserts, pizzas, cocktails, hot drinks.
  • Good periods: 4 to 8 weeks for a busy restaurant, longer for a small cafe. Avoid a period with a holiday, a closure or a big promotion unless you analyze it on its own.
  • Keep the item list fixed. If a dish was added in the middle of the period, its count is not comparable.

Our example uses the mains category of a casual restaurant over 4 weeks: 10 items, 1,800 mains sold.

2. Collect sales counts, prices and plate costs

You need three numbers per item:

  1. Number sold from your POS product mix (PMIX) report. Count voids and comps the same way for every item.
  2. Selling price before sales tax. If you add a service charge, leave it out.
  3. Item food cost (plate cost) from a costed recipe, including garnish and the side that comes with the plate.
ItemNumber soldFood costSelling price
Classic Burger420$4.10$15.00
Grilled Salmon180$9.20$26.00
Ribeye Steak95$14.50$36.00
Chicken Parmesan310$5.40$19.00
Fish and Chips260$5.80$17.00
Mushroom Risotto70$3.60$18.00
Lamb Shank60$8.90$28.00
Veggie Bowl55$4.20$14.00
Pasta Carbonara290$3.90$16.00
Pork Chop60$7.70$20.00
Total1,800
Chef spooning sauce over a plated dish
Photo by Urban Gyllström on Unsplash

3. Calculate contribution margin for each item

Subtract food cost from price, then multiply by the number sold. Total revenue and total food cost are useful checks.

ItemItem CMTotal food costTotal revenueTotal CMFood cost %
Classic Burger$10.90$1,722.00$6,300.00$4,578.0027.3%
Grilled Salmon$16.80$1,656.00$4,680.00$3,024.0035.4%
Ribeye Steak$21.50$1,377.50$3,420.00$2,042.5040.3%
Chicken Parmesan$13.60$1,674.00$5,890.00$4,216.0028.4%
Fish and Chips$11.20$1,508.00$4,420.00$2,912.0034.1%
Mushroom Risotto$14.40$252.00$1,260.00$1,008.0020.0%
Lamb Shank$19.10$534.00$1,680.00$1,146.0031.8%
Veggie Bowl$9.80$231.00$770.00$539.0030.0%
Pasta Carbonara$12.10$1,131.00$4,640.00$3,509.0024.4%
Pork Chop$12.30$462.00$1,200.00$738.0038.5%
Total$10,547.50$34,260.00$23,712.5030.8%

Check: $34,260.00 revenue - $10,547.50 food cost = $23,712.50 total CM. The numbers agree.

Look at the Ribeye. It has the worst food cost percentage on the menu (40.3%) but the best CM per plate ($21.50). A manager who only watches food cost % would push it down. Menu engineering keeps it, because the bank deposits dollars, not percentages.

Divide each item's count by the category total of 1,800.

ItemNumber soldMenu mix %
Classic Burger42023.33%
Chicken Parmesan31017.22%
Pasta Carbonara29016.11%
Fish and Chips26014.44%
Grilled Salmon18010.00%
Ribeye Steak955.28%
Mushroom Risotto703.89%
Lamb Shank603.33%
Pork Chop603.33%
Veggie Bowl553.06%
Total1,800100% (99.99% after rounding)

5. Find the two thresholds

Popularity threshold: (1 / 10) x 0.70 = 7.00%. In units, that is 7% of 1,800 = 126 sold. Any main that sold 126 or more is "High" popularity.

Weighted average CM: $23,712.50 / 1,800 = $13.17 (exactly $13.1736). Any main with a CM of $13.17 or more is "High" CM.

Common error: if you take a simple average of the ten item CMs, you get $141.70 / 10 = $14.17. With that wrong cutoff, Chicken Parmesan ($13.60) drops from Star to Plowhorse, and you might raise the price of your best-balanced dish. Always weight by the number sold.

6. Classify every item

Compare each item with both thresholds and read the quadrant from the matrix.

ItemItem CMCM ratingMM%MM ratingClassification
Grilled Salmon$16.80High10.00%HighStar
Chicken Parmesan$13.60High17.22%HighStar
Classic Burger$10.90Low23.33%HighPlowhorse
Fish and Chips$11.20Low14.44%HighPlowhorse
Pasta Carbonara$12.10Low16.11%HighPlowhorse
Ribeye Steak$21.50High5.28%LowPuzzle
Mushroom Risotto$14.40High3.89%LowPuzzle
Lamb Shank$19.10High3.33%LowPuzzle
Pork Chop$12.30Low3.33%LowDog
Veggie Bowl$9.80Low3.06%LowDog

Result: 2 Stars, 3 Plowhorses, 3 Puzzles and 2 Dogs. The three Plowhorses produce $10,999.00 of the $23,712.50 total CM (46.4%), so small changes there matter most in dollars.

7. Decide what to do with each quadrant

The actions below follow the standard teaching material (the LibreTexts textbook and the NAU exercise linked above), with numbers from our example.

Stars: protect them

  • Keep the recipe and portion exact. LibreTexts: "Maintain the specifications of the item rigidly."
  • Give them a visible place on the menu, such as the top of the category or a short highlighted box.
  • Test small price increases. The NAU exercise lists "Test for price elasticity." For Grilled Salmon, +$1.00 adds $180 per 4 weeks at the same volume.

Plowhorses: raise the margin without losing the guest

  • Increase prices slowly. LibreTexts advises: "Increase prices carefully and gradually."
  • Do the break-even math first. Burger at $16.00 has a CM of $11.90. To match today's $4,578.00 you need 4,578 / 11.90 = 384.7, so 385 burgers. You can lose up to 35 sales (8.3%) and still earn more. If volume drops 5% to 399, total CM is $4,748.10, which is $170.10 more.
  • Lower the plate cost. Review portion size, the side, or one ingredient. Cutting $0.30 from the Carbonara plate adds 290 x $0.30 = $87.00 with no price change.
  • Move them to a quieter spot so they do not take attention from Stars and Puzzles. Guests who want the burger will still find it.

Puzzles: make more guests choose them

  • Reposition and describe. LibreTexts: "Shift demand to these items by repositioning them on the menu." Add a clear, appetizing description and a good photo.
  • Use servers. Brief staff on one Puzzle per shift.
  • Consider a lower price if the item has room. The Ribeye CM is $8.33 above average, so a small cut can still leave it High CM.
  • Know the prize. Every guest who picks the Lamb Shank ($19.10) instead of the Burger ($10.90) adds $8.20 of CM. Fifty such switches in 4 weeks add $410.00.

Dogs: rework, reprice or remove

  • Remove if the dish has no other role. LibreTexts says items that are neither popular nor profitable are "obvious candidates to remove from the menu."
  • Rework if you must keep it. The Pork Chop needs a CM of at least $13.17. A price of $21.00 gives $13.30, which moves it to High CM (a Puzzle), if the volume holds.
  • Keep with a reason. The Veggie Bowl may be the only vegetarian main. Removing it can cost whole tables, not just one plate. In that case, cut its cost or raise its price, and keep it.

8. Change the menu, then measure again

Make a small number of changes, write them down with the date, and run the same analysis on the next period of the same length. Compare total category CM, not only the classification of each item.

  • Change a few things at a time. If you change ten prices and the layout in one week, you cannot tell which change worked.
  • Use the same period length and avoid comparing a holiday month with a normal month.
  • Re-cost the recipes first. If supplier prices moved, your CM column is out of date before you start.

Monthly is a practical rhythm for most restaurants. A digital menu makes this loop cheaper, because a price change or a new position for a Puzzle does not need a reprint. With a QR menu such as QR Menu Generator you edit the item and the change shows to guests at once, and you can add or improve product photos and descriptions for Puzzles. See how to update seasonal menu offerings without printing.

Two guests scanning QR codes with phones at a table
Photo by Marielle Ursua on Unsplash

Menu engineering tells you which items to push. Menu design is how you push them. Some popular design rules have weaker evidence than people think.

  • The "sweet spot" is not proven. In an eye-tracking study of 25 diners, Sybil Yang (International Journal of Hospitality Management, 2012) found that diners read two-page menus "like a book", left to right and down, and found no sweet spot above the right-hand midline, as reported by Nation's Restaurant News. Wikipedia's article also notes there is "no empirical evidence on the efficacy of the sweet spots on menus". Practical lesson: put Stars and Puzzles where guests read first in each category, and test it with your own data.
  • Diners pick the main first. The same study reports that guests choose the entree and then build the meal around it. Your mains category deserves the first analysis.
  • Price format can change spending. In a Cornell study at a Culinary Institute of America restaurant, guests with numeral-only prices (no dollar sign) spent significantly more than guests with "$" or written-out prices (Yang, Kimes and Sessarego, 2009, Cornell eCommons). The authors note the result may apply only to that restaurant's lunch service. The abstract also says that, compared with non-menu factors such as party size and length of time at the table, the price format did not significantly affect total spending, so those factors mattered more.
  • Descriptions and photos help Puzzles because they give guests information, and Yang's study suggests guests read for information. Write specific, honest descriptions. Our guide to design best practices for digital menus has layout tips.

A note on sources. Many articles on menu labels cite research from Brian Wansink's former Cornell lab. In September 2018, Cornell's provost stated that a faculty committee found Wansink "committed academic misconduct in his research and scholarship", and that he would retire from Cornell. Retraction Watch reported that JAMA journals retracted six of his papers that month. This page does not rely on those studies.

Limitations and common mistakes

  • Mixing categories. Analyze mains with mains. A $6 side and a $36 steak do not compete for the same choice.
  • Using a simple average CM. Weight by number sold, as in step 5.
  • Ignoring labor. Classic menu engineering uses food cost only. A Puzzle that takes 20 minutes of a cook's time on a busy line may cost more than its CM shows. Add a note for labor-heavy items, or use prime cost thinking for those dishes.
  • Small samples. With 60 sales, a few large tables can move an item across the threshold. Use longer periods for slow categories.
  • Seasonality. Soups and salads swap places between winter and summer. Compare the same season, or run seasonal menus as separate analyses.
  • Old plate costs. If ingredient prices changed, the CM column is wrong. Re-cost before each run.
  • Ignoring strategic items. Kids' meals, the only vegan dish, or a signature item can be a "Dog" that still brings in tables. Decide with the numbers, not by the numbers.
  • Ignoring cross-sales. An item that guests share with drinks or desserts can be worth more than its own CM. The matrix sees each item alone.
  • Too many changes at once. Change a few items per cycle so you can see cause and effect.

Free menu engineering worksheet template

Copy this table into a spreadsheet. Fill columns A to D, then use the formulas in the header row. Add one row per item in the category.

A. ItemB. Number soldC. Food costD. Selling priceE. Item CM (D - C)F. MM% (B / total B)G. Total CM (E x B)H. CM rating (E vs avg CM)I. MM rating (F vs threshold)J. ClassK. Action
TotalsTotal sold100%Total CM
Summary cellFormula
Weighted average CMTotal CM / Total sold
Popularity threshold(1 / number of items) x 0.70
Class (J)H + H = Star, Low CM + High MM = Plowhorse, High CM + Low MM = Puzzle, L + L = Dog

Spreadsheet tip: if items sit in rows 2 to 11, the CM rating in Google Sheets or Excel is =IF(E2>=SUM($G$2:$G$11)/SUM($B$2:$B$11),"High","Low") and the MM rating is =IF(F2>=0.7/COUNTA($A$2:$A$11),"High","Low").

Cite this page

You may quote the formulas, the worked example and the worksheet with a link to the source: QR Menu Generator, "Menu Engineering: Formulas, Matrix and a Worked Example (Free Template)", https://qrmenugenerator.io/blog/menu-engineering-guide. Last reviewed: October 2026.

Re-run your menu engineering every month, without reprinting

Put your menu on a QR code and change prices, order, photos and descriptions in minutes. Start on the free plan or see the live demo. Create your QR menu free.

Cover photo by Luke Chesser on Unsplash.

Frequently Asked Questions

What is menu engineering in simple terms?
Menu engineering rates each menu item by its contribution margin (price minus food cost) and its popularity (share of category sales). Items fall into four groups, Stars, Plowhorses, Puzzles and Dogs, and each group gets a different action on price, placement or recipe.
What is the 70% rule in menu engineering?
It sets the popularity cutoff. Take the share each item would get if all sold equally (1 divided by the number of items) and multiply by 0.70. With 10 items the cutoff is 7%. Items at or above it count as popular.
How do you calculate the average contribution margin?
Divide the total contribution margin of the category by the total number of items sold in it. This is a weighted average. A simple average of the item margins gives a different cutoff and can put items in the wrong quadrant.
What is the difference between a Plowhorse and a Puzzle?
A Plowhorse sells well but earns a below-average margin per sale, so you work on its price or plate cost. A Puzzle earns an above-average margin but sells poorly, so you work on its position, description and staff recommendations.
How often should a restaurant do menu engineering?
Monthly works for most restaurants, and always after a price change, a supplier price change or a new menu layout. Use periods of the same length and season so the results are comparable.
Should I remove every Dog from my menu?
No. Remove a Dog only if it has no other role. A dish can be the only vegetarian or kids' option and still bring in whole tables. In that case, cut its cost or raise its price and keep it.

About the author

Evrenus Fırat Polat

Restaurant technology expert and founder of QR Menu Generator. Passionate about helping restaurant owners harness digital tools to grow their business.

Share this article

Share:

You Might Also Like