Restaurant Operations

Menu Engineering: Analyze and Optimize Your Menu

The menu engineering matrix sorts every dish into Stars, Plowhorses, Puzzles, or Dogs. Here's how to run the analysis with real numbers and what to do with each category.


Menu engineering sorts every dish on your menu into one of four categories based on two numbers: how much profit it generates and how often it sells. The result tells you what to promote, what to reprice, what to reposition, and what to cut.

Most restaurants price dishes by gut feel or by copying competitors. Menu engineering replaces that with math. The numbers vary, but a 10-15% profit increase is the commonly cited range from restaurant consulting firms like Aaron Allen & Associates. On a restaurant doing $1M a year in sales with a 5% margin, that’s $30,000-$50,000 in additional profit.

Here’s the full process, with real numbers.

Two numbers per dish

You need two things for every menu item:

  1. Contribution margin, meaning how many dollars each sale puts toward rent, labor, and profit
  2. Popularity, meaning how many times it sells in a given period

Contribution margin is simple:

Menu Price - Food Cost = Contribution Margin

A mushroom risotto that costs $3.20 to make and sells for $19.00 contributes $15.80 per plate. A ribeye at $12.00 food cost and $36.00 menu price contributes $24.00.

Notice what’s missing: food cost percentage. The risotto runs 16.8% and the ribeye runs 33.3%. If you manage by food cost percentage, the ribeye looks worse. But every ribeye puts $24.00 in the register versus $15.80 for the risotto. Contribution margin is what pays your bills.

If you need help calculating food cost per dish, start there. You can’t do menu engineering without accurate recipe costs.

The menu engineering matrix

Plot every dish on a grid. The x-axis is popularity (number sold). The y-axis is contribution margin (dollars per sale). Draw lines at the average of each, and you get four quadrants:

CategoryContribution MarginPopularityWhat it means
StarsHighHighProfitable and popular. Your best dishes.
PlowhorsesLowHighPopular but low profit. They bring people in but don’t earn enough.
PuzzlesHighLowProfitable but nobody orders them. Hidden potential.
DogsLowLowLow profit and unpopular. Dead weight.

This framework comes from Boston Consulting Group’s growth-share matrix, adapted for restaurants by menu engineering pioneers Michael Kasavana and Donald Smith. It’s been used in the industry for over 40 years because it works.

Worked example: 8-dish menu section

Take an actual entrée section. Here are last week’s numbers:

DishFood CostMenu PriceCMOrders/WeekFood Cost %
Mushroom Risotto$3.20$19.00$15.808516.8%
Chicken Parm$4.33$17.00$12.6711025.5%
Ribeye Steak$12.00$36.00$24.008033.3%
Fish Tacos$4.80$14.00$9.203034.3%
Truffle Mac & Cheese$2.80$18.00$15.203515.6%
Pasta Primavera$2.50$14.00$11.509517.9%
Lamb Chops$10.50$32.00$21.502832.8%
Burger & Fries$4.60$16.00$11.4010528.8%

Average contribution margin: $15.16. Anything above is “high,” below is “low.”

Average weekly orders: 71. Above is “popular,” below is not.

Now classify:

CategoryDishes
StarsMushroom Risotto ($15.80 CM, 85/week), Ribeye Steak ($24.00 CM, 80/week)
PlowhorsesChicken Parm ($12.67 CM, 110/week), Pasta Primavera ($11.50 CM, 95/week), Burger & Fries ($11.40 CM, 105/week)
PuzzlesTruffle Mac & Cheese ($15.20 CM, 35/week), Lamb Chops ($21.50 CM, 28/week)
DogsFish Tacos ($9.20 CM, 30/week)
PuzzlesStarsDogsPlowhorsesOrders / Week →Contribution Margin ($) →$8$12$16$20$2430507090110RisottoChicken ParmRibeyeFish TacosTruffle MacPrimaveraLamb ChopsBurger
Dashed lines show the averages (71 orders/week, $15.16 CM). Each dot is one dish.

Look at the ribeye. At 33.3% food cost, a percentage-only approach would flag it as a problem. But it’s a Star — highest contribution margin on the menu and selling above average. It generates $1,920/week in contribution. The fish tacos at 34.3% generate $276. Same food cost percentage range, completely different story.

What to do with each category

Stars: protect them

The mushroom risotto and ribeye are doing exactly what you want. Don’t change the recipe, don’t raise the price just because you can.

  • Put them in high-visibility spots on the menu (top right, first in a section, or in a callout box)
  • Train servers to recommend them
  • If you run specials, build them around Stars to drive traffic
  • Monitor ingredient costs closely. If beef goes up 5.5% (the 2026 forecast), your ribeye’s contribution drops by $0.66 per plate, or $2,700 a year

Plowhorses: improve the margin

Chicken parm, pasta primavera, and burger sell well but earn less per plate. Three paths:

Raise the price. The burger at $16.00 could go to $17.00. That’s $1.00 more margin across 105 orders a week — $5,460 more per year from a single dollar increase on one dish. Test it. If volume holds, the math works.

Reduce the cost. The chicken parm uses 8 oz of chicken breast at $3.40/lb. Switch to 6 oz on a slightly smaller plate presentation and the food cost drops from $4.33 to $3.63. That’s $0.70 saved across 110 orders — $4,004 per year.

Bundle with high-margin add-ons. Plowhorses bring people in. Pair them with a $3 side salad that costs $0.60 to make, or a $4 house lemonade at $0.40 cost. You capture margin on the extras without touching the dish people love.

Puzzles: make them visible

Truffle mac & cheese and lamb chops earn good margin but aren’t selling. Before you blame the dish, check if anyone even sees them.

  • Move them to a better position on the menu. Items in the first and last position of a section get ordered more.
  • Add a brief, specific description. “House-made truffle mac with gruyère and aged cheddar” outsells “Truffle Mac & Cheese.”
  • Have servers mention them. “The lamb chops are the best thing on the menu right now” moves plates.
  • Run them as a limited special to test demand.

Give Puzzles 30-60 days with better positioning. If they still don’t sell, replace them. The lamb chops at $21.50 margin could be a Star if 50 more people ordered them per week. That’s $1,075 in additional weekly contribution.

Dogs: decide fast

Fish tacos: $9.20 margin, 30 orders per week, $276 total contribution. Your weakest performer by every measure.

Three options:

  1. Rework it. Drop the food cost (cheaper fish, smaller portion, house-made slaw instead of avocado crema) and raise the price. If you can get contribution margin above the $15.16 average, it becomes a Puzzle, and you work on volume.
  2. Replace it. A new dish in the same price range with better margin potential. Seasonal fish sandwich, shrimp po’boy, something with lower protein cost.
  3. Remove it. Free up menu space for a Puzzle that needs visibility, or a new concept you want to test.

Don’t keep Dogs out of sentimentality. Every menu slot a Dog occupies is a slot that could be earning $15+ per sale instead of $9.20.

How you present the price matters

The matrix tells you what to charge. Use our menu pricing calculator to find the right price for each dish based on your target food cost. How you write that number on the menu affects whether people order it.

A Cornell and CIA study found that guests spent 8% more when menus listed “19” instead of “$19.00.” The dollar sign makes people think about money. Drop it. While you’re at it, drop the decimals too. “17” feels cheaper than “17.00” because there’s less to read.

Charm pricing — ending at .95 or .99 — works differently depending on your positioning. $13.95 feels meaningfully cheaper than $14.00 for a casual dining entrée. But at fine dining prices, $42 reads cleaner than $41.95. Round numbers signal quality. Fractional numbers signal value. Pick the one that matches your restaurant.

Price anchoring is where this connects back to the matrix. Put the ribeye ($36) at the top of the entrée section. Everything below it looks more reasonable. The $19 risotto and $17 chicken parm feel like easy decisions next to a $36 steak. This is worth trying with Puzzles specifically. A high-margin dish that nobody orders may just need a $36 neighbor to look like a deal.

One more: don’t right-align prices in a neat column. When guests can scan a column of numbers, they pick by price instead of by dish. Tuck the price at the end of the description, after a few dots or spaces. You want people reading “house-made truffle mac with gruyère and aged cheddar,” not comparing $18 to $17.

How often to re-engineer

Full menu engineering once per quarter. That means pulling sales data, recalculating food costs with current prices, replotting the matrix, and making decisions.

Between full reviews, watch for ingredient price spikes. Beef and veal are forecast to rise 5.5% in 2026. Coffee and tea materials rose 11.8% in 2025. A cost spike can push a Star into Plowhorse territory overnight.

Seasonal shifts matter too. A dish that was a Star in winter might be a Plowhorse in summer when people order differently. And new dishes need 4-6 weeks of sales data before you classify them. First-week orders are inflated by novelty.

The step that trips everyone up

The contribution margin calculation is not hard. The popularity data is in your POS. The matrix takes 20 minutes once you have the numbers.

The hard part is getting accurate food cost per dish. Most operators either have recipe cards with outdated prices, or no recipe cards at all. Building a spreadsheet, tracking supplier prices across dozens of ingredients, recalculating every dish when one price changes — that’s where people quit and go back to gut feel.

DishCost calculates food cost for every recipe automatically and includes a built-in menu engineering matrix. Enter your recipes and weekly order counts, and DishCost plots every dish on the matrix, categorizes them as Stars, Plowhorses, Puzzles, or Dogs, and tells you what to do with each one. Update an ingredient price and the entire matrix recalculates. See how it works, or start free — no credit card, no contract.

Start with your top sellers

Pull your 10-15 highest-selling dishes. Calculate food cost and contribution margin for each. Find the averages. Plot the matrix. You’ll know in an hour which dishes are carrying your restaurant and which are dragging it down.

The food cost calculator is free and doesn’t need an account. Start there, then work through the matrix. Even one change, like a $1 price bump on a Plowhorse selling 100 times a week, is $5,200 a year.