Skip to content
Menu pricing & engineering

Menu Engineering: The Four-Quadrant Matrix

· 4 min read

Export four weeks of unit sales, put a current plate cost beside each dish, then draw two lines: 70% of an equal share of units, and the weighted average contribution margin. Here they land at 117 units and $13.96, and the best-selling burger falls below the margin line. Stale costs name the wrong dish.

What you need before you start

  1. A product mix report covering at least four weeks — avoid a holiday week, it distorts everything. Square exports one directly.
  2. A current plate cost for each dish. Not last year's. See recipe costing.
  3. Nothing else. No software required for a first pass — though the menu engineering worksheet will draw both lines and sort the quadrants for you.

Step 1 — Build the table

Here's a real 12-item entrée section over four weeks. Contribution margin is price minus plate cost.

Four weeks, 12 entrées, 2,014 units
DishPriceCostCMUnitsTotal CM
Burger$15.00$4.20$10.80412$4,450
Chicken sandwich$14.00$5.10$8.90310$2,759
Margherita pizza$16.00$3.20$12.80268$3,430
Pasta pomodoro$19.00$2.90$16.10180$2,898
Fish & chips$21.00$7.40$13.60166$2,258
Caesar + chicken$17.00$4.05$12.95158$2,046
Salmon$29.00$8.29$20.71142$2,941
Steak frites$34.00$13.10$20.90118$2,466
Mushroom risotto$22.00$3.60$18.4094$1,730
Duck breast$36.00$12.80$23.2071$1,647
Lamb shank$32.00$14.60$17.4058$1,009
Vegan bowl$18.00$4.90$13.1037$485

Step 2 — Find the two dividing lines

Popularity line

(1 ÷ number of items) × 70% × total units

The 70% adjustment is standard — without it, every item on a large menu looks unpopular.

Worked example · The two lines for this menu

Total units
2,014
Items
12
Fair share per item
168
Popularity line — 168 × 70%
117 units
Total contribution
$28,119
Average CM per unit sold
$13.96
Lines
117 units · $13.96 CM

Use the weighted average CM (total contribution ÷ total units), not the simple average of the CM column. The simple average lets a rarely-sold luxury item drag the whole line up.

Step 3 — Sort into quadrants

The same 12 dishes, classified
QuadrantDishesWhat it means
Stars — popular, high CMPizza, pasta, fish & chips, Caesar+chicken, salmonAbove 117 units and above $13.96 CM
Plowhorses — popular, low CMBurger, chicken sandwichAbove 117 units, below $13.96 CM
Puzzles — unpopular, high CMSteak frites, risotto, duck, lamb shankBelow 117 units, above $13.96 CM
Dogs — unpopular, low CMVegan bowlBelow both lines

Step 4 — Act, by quadrant

Plowhorses: reprice or rework — start here

Demand is proven, so a modest increase is unusually safe. The burger at $16.00 instead of $15.00:

Worked example · The burger, repriced

Current — $15.00, CM $10.80, 412 units
$4,450
After — $16.00, CM $11.80
Assume 5% volume loss → 391 units
$4,614
Change over 4 weeks
+$164
Annualised
+$2,132

And that assumes you lose volume. The break-even volume loss is 8.5% — you'd have to lose more than one burger in twelve before the increase stopped paying.

Stars: protect them, and recost them first

Don't discount them, don't shrink them, don't bury them on the page. The trap is complacency: a star whose protein has crept up 20% since you costed it is quietly your most expensive problem, because it sells the most. Recost stars monthly.

Puzzles: reposition before you cut

Four dishes here contribute $20+ each and nobody orders them. Before concluding they don't work, try the cheap interventions: move them up the section, rewrite flat descriptions, have servers mention one for two weeks. Duck breast at 71 units contributing $23.20 is worth ten minutes of effort — every additional 20 units a month is $464.

Dogs: cut, with exceptions

The vegan bowl is a textbook dog: 37 units, below-average CM, consuming prep and inventory SKUs. But cutting it may cost you tables — a group of six doesn't book a restaurant where one person can't eat. This is exactly the case where the matrix informs a decision it shouldn't make for you.

How often to redo it

  • Quarterly for the full matrix — sales mix shifts slowly.
  • Monthly for recosting your stars and plowhorses — costs shift fast.
  • After any menu change, because adding an item changes the popularity line for everything.

Should I use contribution margin or food cost percentage?

Contribution margin, in dollars. A percentage tells you a dish drifted from where you priced it; it can't tell you how much money the dish makes. The burger in this example is on-target by percentage and the biggest opportunity on the menu by dollars.

Does menu engineering work on a small menu?

Yes, and it's easier — with twelve items you can do it in a spreadsheet in an hour. The popularity line adjustment matters more on large menus, where without it everything looks unpopular.

What about dishes that sell mostly as specials?

Exclude them from the matrix, or the availability difference will misclassify them. A dish available two nights a week isn't unpopular; it's rationed.

The matrix, maintained rather than rebuilt.

Marji keeps every plate cost current from your invoices and re-sorts your menu as costs and sales move — so the quadrants are right on the day you look, not on the day you built the spreadsheet.

See it on my menu →

Terms this guide uses

Read next

About these guides Marji builds software that recosts restaurant menus from supplier invoices and publishes a restaurant food cost index. Every number in these guides is either computed from a stated formula or sourced to a primary reference.

How we source numbers and handle AI assistance: editorial policy.