Menu engineering ranks every item by two numbers: contribution margin (what the dish adds to the till) and menu mix (how often guests order it). Those two axes produce the four classic categories — Stars, Plowhorses, Puzzles, and Dogs — and tell you which item to protect, fix, promote, or drop.
The short answer: contribution margin is price minus food cost, and on the worked menu below three of ten items change quadrant depending on which popularity cutoff you pick
Contribution margin is the selling price minus the item’s food cost, in dollars. On the ten-item example menu costed below — 4,000 covers, $63,580 of revenue and $20,629 of food cost in one month — the menu-mix-weighted average contribution margin is $42,951 ÷ 4,000 = $10.74 per cover, and the blended food cost is 32.4%.
That average is the profitability line. The popularity line is the one nobody agrees on, and it changes the answer. Cornell’s Center for Hospitality Research describes the standard method with plain averages on both axes: Stars have “above-average contribution margin and above-average volume,” and Dogs are “below-average contribution margin and below-average volume” (Kimes, CHR Reports, February 2004). On a ten-item menu that puts the popularity cutoff at an equal share, 100% ÷ 10 = 10.0%. The widely used practitioner variant multiplies that equal share by 0.70, giving 7.0%.
Run the same ten items through both and three of them move: fish and chips (7.75% mix) and margherita pizza (7.50%) go from Puzzle to Star, and the breakfast hash (9.00%) goes from Dog to Plowhorse. Under the average rule the menu has 1 Star, 3 Plowhorses, 5 Puzzles and 1 Dog. Under the 70% rule it has 3 Stars, 4 Plowhorses, 3 Puzzles and no Dog at all. Nothing about the restaurant changed — only the cutoff. So write down which rule you used before you delete a dish (author’s calculation from the stated example inputs; verified 2026-11-05).
Three steps this week
- Export one full month of item sales and units from your POS (15 minutes). Not a week, and not a holiday week. You need units per item and the total units across the menu.
- Cost the ten highest-volume items properly (60 minutes). Actual invoice prices and actual portion weights, not the target you wish you hit. Contribution margin is only as good as the recipe cost under it.
- Compute both cutoffs and classify (15 minutes). Weighted average contribution margin for the profit axis; equal share and 70% of equal share for the popularity axis. If an item lands in a different box under each, it is a judgement call, not a data point.
Start Here: The Numbers to Check
- This guide is for restaurant owners who want a practical menu engineering matrix, not a spreadsheet exercise that never changes the menu.
- The first numbers to check are item sales count, selling price, recipe cost, contribution margin, and each item’s share of category sales.
- Start with
contribution margin = selling price - variable item cost, then compare margin and popularity to place each item in the matrix. - The tables below use official BLS price and wage statistics and Uber Eats’ published US merchant rates for the market side, and clearly-labelled example inputs for prices, recipe costs, unit volumes, prep minutes and packaging, because no public body publishes an individual restaurant’s menu mix or plate costs.
- Today, classify your top 10 items and pick one Plowhorse to fix with portion control, a small price move, or a bundle change.
What Is the Menu Engineering Matrix?
The menu engineering matrix groups items by two factors:
- Popularity (menu mix)
- Profitability (contribution margin)
The four classic categories are Stars, Plowhorses, Puzzles, and Dogs. The framework is generally credited to Michael Kasavana and Donald Smith at Michigan State University in 1982, and the category names vary between sources — Cornell’s write-up calls Plowhorses “cash cows” and Puzzles “question marks,” with identical definitions. If you read two menu-engineering guides and they disagree, check whether they are using different labels for the same quadrant, or genuinely different cutoffs.
Step 1) Calculate Contribution Margin
Contribution margin = Selling price - Food cost
Use the actual recipe cost, not a theoretical target. Contribution margin tells you which items pay the bills.
Use dollars, not food cost percentage. A $29 steak at 45% food cost contributes $15.95; a $12 mac and cheese at 30% contributes $8.40. The steak has the “worse” percentage and puts nearly twice as much in the till per plate. Percentage tells you about purchasing discipline; dollars tell you what the dish is worth.
Step 2) Calculate Popularity
Use a full month of sales. A simple cutoff is the average item sales across the menu.
Popularity score = Item sales / Total sales
Items above the average are “high popularity.” Items below are “low popularity.”
There are two conventions for where “average” sits, and the worked table shows both:
| Cutoff | Formula | 10-item menu | 8-item menu | 12-item menu |
|---|---|---|---|---|
| Equal share (Cornell / above-average volume) | 100% ÷ number of items | 10.00% | 12.50% | 8.33% |
| 70% variant (practitioner convention) | (100% ÷ number of items) × 0.70 | 7.00% | 8.75% | 5.83% |
The 70% factor exists because real menus never sell evenly, so an equal share is a harsh bar for a specialty dish. It is also more forgiving: on the menu below it erases the Dog quadrant entirely. Neither rule is wrong, but mixing them between reviews will make items appear to improve or collapse when only your arithmetic changed.
Worked Example 1: Ten Items, One Month, Both Cutoffs
Example inputs: ten items, one month, 4,000 total covers. Prices, recipe costs and unit volumes are illustrative inputs, not measured averages. Contribution margin and mix are calculated from them.
| Item | Price | Food cost | CM | Units | Mix % | Equal-share rule (10.0%) | 70% rule (7.0%) |
|---|---|---|---|---|---|---|---|
| Classic burger | $16.00 | $5.60 | $10.40 | 820 | 20.50% | Plowhorse | Plowhorse |
| Fried chicken sandwich | $15.50 | $4.35 | $11.15 | 640 | 16.00% | Star | Star |
| Fish and chips | $19.00 | $7.60 | $11.40 | 310 | 7.75% | Puzzle | Star |
| Caesar salad | $13.00 | $3.25 | $9.75 | 430 | 10.75% | Plowhorse | Plowhorse |
| Margherita pizza | $17.00 | $4.25 | $12.75 | 300 | 7.50% | Puzzle | Star |
| Steak frites | $29.00 | $13.05 | $15.95 | 190 | 4.75% | Puzzle | Puzzle |
| Mac and cheese | $12.00 | $3.60 | $8.40 | 520 | 13.00% | Plowhorse | Plowhorse |
| Shrimp tacos | $18.00 | $6.75 | $11.25 | 240 | 6.00% | Puzzle | Puzzle |
| Breakfast hash | $14.00 | $4.20 | $9.80 | 360 | 9.00% | Dog | Plowhorse |
| Veggie bowl | $15.00 | $3.90 | $11.10 | 190 | 4.75% | Puzzle | Puzzle |
| Total / weighted average | — | — | $10.74 | 4,000 | 100.00% | 1 Star, 3 Plowhorses, 5 Puzzles, 1 Dog | 3 Stars, 4 Plowhorses, 3 Puzzles, 0 Dogs |
The arithmetic behind the bottom row: total revenue $63,580, total food cost $20,629, total contribution margin $42,951, so the weighted average is $42,951 ÷ 4,000 = $10.7378, and the blended food cost is $20,629 ÷ $63,580 = 32.4%.
Note the gap between the two ways of averaging the profit axis. The weighted average contribution margin is $10.74; the simple average of the ten item margins is $11.195. Using the simple average would push the chicken sandwich ($11.15) out of the Star box. Weight by units — the Kasavana-Smith method does, and it is the one that matches the money.
Worked Example 2: What a Year of Ingredient Inflation Did to the Same Menu
The matrix is not stable, because ingredient prices do not move together. These are the actual twelve-month changes to September 2026 from the BLS Consumer Price Index, released 14 October 2026, applied to each item’s headline ingredient category. The percentage is applied to the whole plate cost, which overstates the effect for dishes where the named category is only part of the recipe — it is a sensitivity check, not a recosting.
| Item | Ingredient category | CPI 12-month change | Recosted food cost | New CM | Mix % | Distance from new line |
|---|---|---|---|---|---|---|
| Classic burger | Beef and veal | +3.5% | $5.80 | $10.20 | 20.50% | −$0.49 |
| Fried chicken sandwich | Chicken | −0.6% | $4.32 | $11.18 | 16.00% | +$0.48 |
| Fish and chips | Fish and seafood | +6.9% | $8.12 | $10.88 | 7.75% | +$0.18 |
| Caesar salad | Fresh vegetables | +2.8% | $3.34 | $9.66 | 10.75% | −$1.04 |
| Margherita pizza | Cheese and related products | −3.0% | $4.12 | $12.88 | 7.50% | +$2.18 |
| Steak frites | Beef and veal | +3.5% | $13.51 | $15.49 | 4.75% | +$4.80 |
| Mac and cheese | Cheese and related products | −3.0% | $3.49 | $8.51 | 13.00% | −$2.19 |
| Shrimp tacos | Fish and seafood | +6.9% | $7.22 | $10.78 | 6.00% | +$0.09 |
| Breakfast hash | Eggs | −20.6% | $3.33 | $10.67 | 9.00% | −$0.03 |
| Veggie bowl | Fresh vegetables | +2.8% | $4.01 | $10.99 | 4.75% | +$0.29 |
Total contribution margin falls from $42,951 to $42,791.86, down $159.14 or 0.37%, and the profitability line drops from $10.7378 to $10.6980. Nothing changes quadrant — but look at the last column. Three items finish within 18 cents of the line: shrimp tacos clear it by 9 cents, fish and chips by 18 cents, and the breakfast hash misses by 3 cents after an egg index fall of 20.6% did the work. One more year of the same divergence flips them, and no one in the building will have touched the menu.
This is the case for reviewing monthly rather than annually, and it is also the case against treating a quadrant as a permanent label. Looking forward, USDA’s Economic Research Service October 2026 Food Price Outlook forecasts beef and veal +8.7% and fresh vegetables +5.8% for 2026, against eggs −29.3% and dairy −0.4% — so the spread that moved these items is forecast to widen, not close.
Worked Example 3: Four Ways to Fix One Plowhorse
Mac and cheese is the clearest Plowhorse under either rule: 13.00% of covers, $8.40 contribution margin, $4,368 a month ($8.40 × 520). Each lever below holds everything else constant, which is the assumption to be most suspicious of.
| Lever | New price | New cost | New CM | CM per month | Change |
|---|---|---|---|---|---|
| Do nothing | $12.00 | $3.60 | $8.40 | $4,368.00 | — |
| Price to $12.45 (+3.75%) | $12.45 | $3.60 | $8.85 | $4,602.00 | +$234.00 |
| Price to $12.50 (+4.17%) | $12.50 | $3.60 | $8.90 | $4,628.00 | +$260.00 |
| Trim portion cost 10% | $12.00 | $3.24 | $8.76 | $4,555.20 | +$187.20 |
| Both ($12.45 and $3.24) | $12.45 | $3.24 | $9.21 | $4,789.20 | +$421.20 |
Two checks before you pick one:
Is the price move inside the market’s own move? BLS put full service meals and snacks up 3.8% over the twelve months to September 2026, and limited service up 3.2%. The $12.45 option is a 3.75% rise — just inside what the category did anyway. The $12.50 option is 4.17%, which is asking guests to absorb more than the market has. It earns $26 a month more. That is the trade.
How much volume can the price rise cost you before it stops paying? At $12.45 the item needs $4,368 ÷ $8.85 = 493.6 units to stand still, so a drop of 26 units — about 5.1% of the item’s volume — wipes out the entire gain.
And the fifth option, deleting it: if you delist a Plowhorse, the units do not vanish, they move or they leave. Sending them to the Star (chicken sandwich, $11.15 CM) needs 75.3% of the 520 units to transfer just to break even ($4,368 ÷ (520 × $11.15)). At a more realistic 60% transfer you collect 312 × $11.15 = $3,478.80 and lose $889.20 a month. A popular low-margin dish is usually worth fixing, not firing.
Worked Example 4: The In-House Matrix Is Not the Delivery Matrix
Uber Eats publishes its US merchant rates: a 20% Lite, 25% Plus and 30% Premium Marketplace Fee on delivery orders, 15% for self-delivery, and 7% on pickup (10% without validated in-store pricing). Applying those to the same plates, with an example $0.65 packaging cost and the menu price left unchanged:
| Item | In-house CM | Lite 20% | Plus 25% | Premium 30% | Self-delivery 15% |
|---|---|---|---|---|---|
| Mac and cheese ($12.00) | $8.40 | $5.35 | $4.75 | $4.15 | $5.95 |
| Fried chicken sandwich ($15.50) | $11.15 | $7.40 | $6.62 | $5.85 | $8.18 |
| Steak frites ($29.00) | $15.95 | $9.50 | $8.05 | $6.60 | $10.95 |
The pattern matters more than any single cell: at the Premium rate, the best plate on the menu returns $6.60, and not one item clears the in-house weighted average of $10.74 on any marketplace plan. The Star stops being a Star. To rebuild the chicken sandwich’s $11.15 on the 30% plan you would need a menu price of $23.07, a 48.8% uplift, because the commission applies to the higher price too: $23.07 − $4.35 − $0.65 − (30% × $23.07) = $11.15.
Self-delivery at 15% looks best in this table, but the $5.95 to $10.95 figures exclude your own driver, insurance and vehicle costs — the fee is lower because you are doing the work. Run the matrix once per channel, or you will promote a dish into the channel that destroys it.
The 4 Categories (And What to Do)
Stars (High Profit, High Popularity)
- Protect the recipe
- Feature these first on the menu
- Avoid discounting
A Star is the one item where “leave it alone” is a strategy. It is also the item a 2-ounce portion drift hurts most, because it is multiplied by the biggest unit count on the menu.
Plowhorses (Low Profit, High Popularity)
- Improve portion control
- Reduce ingredient cost or portion size
- Consider a small price increase
Worked Example 3 is the whole playbook: the combined lever beat the best single lever by 62% ($421 against $260), and delisting lost money at any transfer rate under 75.3%.
Puzzles (High Profit, Low Popularity)
- Improve the name or photo
- Move placement and server recommendations
- Bundle as a combo or add-on
Before you promote a Puzzle, check what it costs in kitchen time. At the BLS average hourly wage for full-service restaurants — $23.62 in August 2026, preliminary, up 3.9% from $22.74 — a minute of staff time is $0.394. With example prep times, that reorders the menu:
| Item | CM | Example prep minutes | Labour at $0.394/min | Labour-adjusted CM |
|---|---|---|---|---|
| Steak frites | $15.95 | 12 | $4.72 | $11.23 |
| Fried chicken sandwich | $11.15 | 7 | $2.76 | $8.39 |
| Caesar salad | $9.75 | 4 | $1.57 | $8.18 |
| Classic burger | $10.40 | 6 | $2.36 | $8.04 |
| Fish and chips | $11.40 | 9 | $3.54 | $7.86 |
| Mac and cheese | $8.40 | 3 | $1.18 | $7.22 |
Fish and chips ranks second on raw contribution margin and fifth of six once the nine minutes are priced — below the burger it looked better than. The Caesar salad moves the other way, from fifth to third. Prep minutes are example inputs here, but yours are measurable with a stopwatch, and the classic matrix ignores them entirely.
Dogs (Low Profit, Low Popularity)
- Cut or replace
- Keep only if it supports your brand promise
Check the cutoff before you cut: the one Dog on this menu is a Dog under the equal-share rule and a Plowhorse under the 70% rule, and after the CPI recosting it sits 3 cents under the line.
What the Matrix Does Not Tell You
- Labour and equipment time. Contribution margin is price minus food cost. The table above shows the ranking changing once prep minutes are priced at the BLS wage.
- Waste and yield. An item with 12% trim loss carries a higher true cost than its recipe card says.
- Cross-selling. A low-margin item that reliably pulls a $9 dessert or a second round is not judged fairly on its own line.
- Why an item is unpopular. The matrix says a dish is a Puzzle. It cannot say whether that is the name, the price, the menu position, or the dish.
- Your own future costs. The matrix is a snapshot of the month you fed it. The ERS forecasts above are the reason to re-run it rather than frame it.
Common Mistakes
- Using food cost % instead of contribution margin
- Pulling data from a holiday week only
- Ignoring daypart (lunch vs dinner)
- Using the simple average of item margins instead of the unit-weighted average
- Switching between the equal-share and 70% popularity cutoffs between reviews
- Running one matrix across dine-in and delivery, when the same plate differs by $5 to $9 of contribution between channels
Do This Now
- Export one full month of units and net sales per item from your POS
- Cost your ten highest-volume items from current invoices and weighed portions
- Calculate
contribution margin = selling price - food costfor each - Compute the unit-weighted average contribution margin — that is your profit line
- Compute both popularity cutoffs (100% ÷ items, and × 0.70) and write down which you used
- Classify all ten, and flag any item that lands in different boxes under the two rules
- Price one Plowhorse fix three ways (portion, price, both) before changing anything
- Re-run the whole thing next month, not next year
Sources (last verified 2026-11-05)
- BLS, Consumer Price Index — September 2026 news release — released 14 October 2026. 12-month changes, not seasonally adjusted: all items +3.7%, food +2.5%, food away from home +3.5%, full service meals +3.8%, limited service meals +3.2%, food at home +1.8%. Accessed 2026-11-05.
- BLS, CPI detailed expenditure categories (Table 2) — September 2026 reference month, unadjusted 12-month changes used for the recosting table: beef and veal +3.5%, chicken −0.6%, fish and seafood +6.9%, eggs −20.6%, cheese and related products −3.0%, fresh vegetables +2.8%, fresh fruits +4.9%, bread +3.3%, coffee +7.1%, sugar and sweets +5.5%. Accessed 2026-11-05.
- BLS, CES series CEU7072251103, average hourly earnings of all employees, full-service restaurants (NAICS 722511), not seasonally adjusted — August 2026 $23.62 (preliminary), August 2025 $22.74, 2025 annual average $22.80; derived 12-month change 3.87%. Accessed 2026-11-05 via the BLS public API.
- BLS, Industry at a Glance: Food Services and Drinking Places (NAICS 722) — August 2026, preliminary: average hourly earnings of all employees $22.06 across the whole sector, average weekly hours 25.4. Accessed 2026-11-05.
- USDA Economic Research Service, Food Price Outlook — summary findings — October 2026 release, updated 23 October 2026, incorporating September 2026 CPI and PPI data. 2026 forecasts: all food +2.8%, food-at-home +2.3%, food-away-from-home +3.5% (3.4% to 3.7%), beef and veal +8.7% (7.4% to 10.1%), eggs −29.3%, poultry +1.2%, dairy −0.4%, fresh fruits +2.9%, fresh vegetables +5.8%. 2027 forecasts: all food +1.7%, food-away-from-home +2.8%. Accessed 2026-11-05.
- Sheryl E. Kimes, “Restaurant Revenue Management,” CHR Reports Vol. 4, No. 2 (February 2004), Cornell University Center for Hospitality Research — “With menu engineering, the contribution margin (selling price less the cost) and the number of units sold of each menu item are calculated and plotted on a graph,” and items are divided into four categories defined by above- or below-average contribution margin and above- or below-average volume; it also records that users “generally review their results each month and make necessary price adjustments.” This is the source for the equal-share (above-average volume) cutoff and for the alternative category names. Accessed 2026-11-05.
- Uber Eats, merchant pricing (US) — published Marketplace Fee on delivery orders: Lite 20%, Plus 25%, Premium 30%; self-delivery 15%; pickup 7%, or 10% without validated in-store pricing. Accessed 2026-11-05.
- Menu Engineering Worksheet (Toast) — platform worksheet for running the classification on your own sales export. Accessed 2026-11-05.
Every contribution margin, mix percentage, weighted average, recosted figure, monthly dollar total, break-even unit count, transfer rate, channel margin and labour-adjusted margin in this article is the author’s calculation from the sources above applied to the stated example inputs. Menu prices, recipe costs, unit volumes, prep minutes and the $0.65 packaging cost are example inputs, not measured averages — no public body publishes an individual restaurant’s menu mix or plate costs. CPI category changes are consumer retail price indexes, not restaurant purchase prices, and in the recosting table each change is applied to a whole plate cost rather than to the share of the recipe it covers, so treat that table as a direction-and-magnitude check. The 70% popularity variant is practitioner convention, not a figure published by a statistical agency. Wage figures are gross average hourly earnings and exclude payroll taxes, benefits, tip credits and overtime. Platform fees change and vary by market and plan — check your own merchant agreement before pricing a channel.
Related Guides
- Recipe Costing Formula: Cost Per Serving and Menu Price
- Table Turnover Rate: Formula, Benchmarks, 80-Seat Example
- US Restaurant Labor Cost Calculator
- Delivery App Pricing for Restaurants
- Delivery Platform Fees 2026
Want Menu Engineering Done Automatically?
The slow part of menu engineering is not the matrix — it is keeping the recipe cost under each item current. KitchenCost holds ingredient purchase prices and recipe quantities, so when a supplier price changes you can check the affected recipes’ costs again instead of rebuilding a spreadsheet. You set the selling price and compare it against that cost; the unit counts come from your POS, and the matrix arithmetic in this guide is the step you do with both.
Try KitchenCost.
Method Notes
- Contribution margin: selling price − food cost
- Menu mix: item units ÷ total units across the compared items
- Profit line: unit-weighted average contribution margin = total contribution margin ÷ total units
- Popularity line: equal share = 100% ÷ number of items; 70% variant = that × 0.70
- Blended food cost: total food cost ÷ total revenue
- Break-even units after a price rise: current monthly contribution margin ÷ new contribution margin
- Break-even transfer rate when delisting: old monthly contribution margin ÷ (old units × replacement item CM)
- Channel contribution margin: price − food cost − packaging − (commission rate × price)
- Labour-adjusted contribution margin: contribution margin − (prep minutes × hourly wage ÷ 60)
- Replace every example input with your own POS export, invoices and weighed portions before acting on a pricing decision.