Build my menu freeBuild free

Menu engineering: find the dishes that make you money, and fix the rest

Menu engineering sorts every item on your menu by two numbers: how many you sell and how much each one leaves you after its food cost (its contribution margin). Items above your menu's line on both are Stars; popular but low-margin items are Plowhorses; high-margin items that don't sell are Puzzles; and the ones low on both are Dogs [1] [2]. Then you change the price, the recipe, the description or the place on the menu, one group at a time.

All you need is your item sales for a few weeks and each plate's food cost. Below: where the method comes from, the two cutoffs it uses, a full 8-item example worked out, a worksheet with formulas to copy, what to do with each group, how far a price rise can cut sales before it loses money, and what the matrix can't see.

Where menu engineering comes from

The method was set out by Michael Kasavana and Donald Smith in Menu Engineering: A Practical Guide to Menu Analysis (1982) [3]. Their idea was simple: food cost percentage alone is the wrong way to judge a dish, because a $32 steak with a 42% food cost can leave you more dollars than a $16 burger at 32%. What pays the rent is dollars of margin times how many plates you sell.

The four names (Stars, Plowhorses, Puzzles, Dogs) come from that work and are used by most guides since [1] [2]. The method is the same whether you run a food truck with eight items or a bistro with forty.

The two numbers you need for each item

From those you work out:

The two cutoffs: margin and popularity

Each item is compared with the rest of its own category (mains with mains, not with drinks):

  1. Margin line: the weighted average CM. Add up every item's CM × units sold, then divide by total units sold. An item whose CM is at or above this number is high-margin. Weighting by units matters: a plain average of eight CMs gives a rarely sold item the same say as your best seller.
  2. Popularity line: the 70% rule. If all items sold equally, each would have a share of 1 ÷ the number of items. Kasavana and Smith count an item as popular if it reaches 70% of that equal share [3]. With 8 mains, the equal share is 12.5%, so the line is 8.75% of main-course sales.

Some guides use the plain average for popularity instead of 70% of it [2]. That pushes more items into the low-popularity half. The 70% rule is more forgiving and is the original; pick one and use it every time so your results compare month to month.

A full example: 8 mains over 4 weeks

An example menu, not real sales, with every number checked so you can follow the method end to end.

ItemPriceFood costFood cost %CMSoldMixTotal CM
Burger$16$5.2032.5%$10.8032026.7%$3,456
Chicken sandwich$15$4.1027.3%$10.9021017.5%$2,289
Steak frites$32$13.5042.2%$18.50907.5%$1,665
Salmon bowl$24$8.4035.0%$15.6015012.5%$2,340
Pasta$18$3.6020.0%$14.4026021.7%$3,744
Fish tacos$17$6.3037.1%$10.70605.0%$642
Veggie curry$16$3.2020.0%$12.80705.8%$896
Short rib$29$11.6040.0%$17.40403.3%$696
Total1,200100%$15,728

Margin line: $15,728 ÷ 1,200 = $13.11. Popularity line: 70% × (1 ÷ 8) = 8.75% of 1,200 = 105 plates.

ItemSold vs 105CM vs $13.11Group
Salmon bowlHigh (150)High ($15.60)Star
PastaHigh (260)High ($14.40)Star
BurgerHigh (320)Low ($10.80)Plowhorse
Chicken sandwichHigh (210)Low ($10.90)Plowhorse
Steak fritesLow (90)High ($18.50)Puzzle
Short ribLow (40)High ($17.40)Puzzle
Veggie curryLow (70)Low ($12.80)Dog, just under the line
Fish tacosLow (60)Low ($10.70)Dog

Two things this example shows. First, the steak has the worst food cost percentage on the menu (42.2%) and the best margin ($18.50). Judged on food cost % alone, you'd cut your most profitable plate. Second, the veggie curry is 31¢ under the margin line and has one of the lowest food costs. A dish that close to the line is a pricing question, not a removal: at $16.50 it would clear the line.

A menu engineering worksheet you can copy

Put one category per sheet in Google Sheets or Excel, items in rows 2 to 9 (extend for more):

ColumnWhatFormula in row 2
AItem(type it)
BUnits sold(from your POS)
CPrice(menu price)
DFood cost per plate(from your recipe costing)
ECM=C2-D2
FTotal CM=B2*E2
GMix %=B2/SUM(B$2:B$9)
HMargin=IF(E2>=SUM(F$2:F$9)/SUM(B$2:B$9),"High","Low")
IPopularity=IF(G2>=0.7/COUNTA(A$2:A$9),"High","Low")
JGroup=IF(H2="High",IF(I2="High","Star","Puzzle"),IF(I2="High","Plowhorse","Dog"))

Copy row 2's formulas down. If you plot it as a chart, put popularity on one axis and CM on the other, with lines at the two cutoffs; most guides draw popularity up the side [1].

What to do with each group

Stars: keep them exactly as they are

Plowhorses: make each one leave more

Puzzles: get more people to order them

Dogs: fix one thing, then cut

How much a price rise can cost in sales before it loses money

When you raise a price, some diners may order something else. The rise still pays as long as sales drop less than this:

Most volume you can lose = 1 − (old CM ÷ new CM).

ItemOld CMRiseNew CMCan lose up to
Burger$10.80+$1.00$11.808.5% of sales (27 of 320)
Chicken sandwich$10.90+$0.50$11.404.4% (9 of 210)
Pasta$14.40+$1.00$15.406.5% (17 of 260)

If the burger keeps all 320 sales at $17, that's +$320 every four weeks, about $4,160 a year. If it drops to 288, it loses $58 every four weeks. Watch the next four weeks and compare. Diners who skip the burger often order another main, so also check total main-course CM, not just the burger's.

For how diners read prices (dollar signs, endings, the decoy item), see menu pricing psychology.

Where items go on the page, and online

An online menu you can change in a minute makes testing cheap: move a Puzzle up on Monday, check orders on Friday. You can build one free from a photo of your menu, with pickup orders that ring your phone and item counts you can read.

How often to run it

What menu engineering can't see

Common mistakes

Questions

What is menu engineering in simple words?

Sorting your dishes by how many you sell and how much each leaves you after food cost, then changing price, recipe, description or position to sell more of the ones that pay.

What are the four categories of the menu engineering matrix?

Stars (popular, high margin), Plowhorses (popular, low margin), Puzzles (unpopular, high margin) and Dogs (unpopular, low margin) [1] [2] [3].

What is the 70% rule in menu engineering?

An item counts as popular if its share of sales in its category is at least 70% of an equal share: 0.7 ÷ the number of items [3]. With 10 items, that's 7%.

How do you calculate contribution margin for a menu item?

Menu price minus the food cost of one plate. A $24 salmon bowl with $8.40 of food has a $15.60 CM.

How long a period should I analyze?

At least four weeks of normal trade, leaving out holiday weeks and weeks with a promotion on any item.

Do small restaurants need menu engineering?

A small menu is easier: eight mains take an hour in a spreadsheet. The fewer items you have, the more each one matters.

Ready to test a change? Put your menu online where you can move a dish in a minute: build your menu site free from a photo. More answers are in all our guides.

Sources

  1. Menu engineering matrix, Toast, read Nov 4, 2026 (as listed in search; the page blocks direct reading).
  2. The menu engineering matrix explained: Stars, Plowhorses, Puzzles and Dogs, Loaded, read Nov 4, 2026 (uses menu averages as the cutoffs).
  3. Michael L. Kasavana and Donald I. Smith, Menu Engineering: A Practical Guide to Menu Analysis, Hospitality Publications, 1982 (the method, the four groups and the 70% popularity rule).
  4. Restaurant menu engineering matrix, CrunchTime, read Nov 4, 2026 (contribution margin = price − ingredient cost; averages shift with the items chosen).