June 10, 2026
Menu Engineering Matrix: Turn Food Cost Data Into a Profit-Maximizing Menu
The menu engineering matrix takes your food cost data and sales data, crosses them, and tells you exactly which items are making money. A step-by-step walkthrough with a real 12-item menu transformation that added $1,200 per week.

You know your food cost. Now make it work for you
If you run a restaurant kitchen, you probably have a handle on what your ingredients cost. You know the Sysco invoice for ribeye hit $14.10/lb this week. You know your burger food cost sits at 28% and your pasta at 19%. That is useful information. But information by itself does not put money in your bank account.
The menu engineering matrix takes your food cost data and your sales data, crosses them, and tells you exactly which menu items are making you money and which ones are just taking up space. It is not complicated. There are four quadrants. You plot every item. Then you act.
A restaurant owner in Austin, TX ran this on her 12-item menu last year. She tracked food costs in spreadsheets for months but never connected that data to her Toast POS sales mix. When she finally ran the matrix, she found three items she thought were profitable were losing her about $1,200 per week combined. She cut two, repriced one, and added a high-margin taco special. One afternoon of analysis changed her P&L.
This is what the matrix does. It forces you to stop guessing.
The 2x2 menu engineering matrix explained
The matrix has been around since the 1980s, developed by Michael Kasavana and Donald Smith at Michigan State. Restaurants have been using it ever since because it works. You take two numbers for each menu item: its popularity (what percentage of total units sold does it represent) and its contribution margin (its price minus its food cost, in dollars).
Those two numbers place every item into one of four boxes.
Stars are high popularity and high margin. These are your best items. Protect them. Do not change the recipe. Do not move them on the menu. Keep them visible.
Plowhorses are high popularity but low margin. These sell well but generate little profit per plate. The standard move is to slowly raise price or gently reduce food cost. You cannot cut these. They drive traffic.
Puzzles are low popularity and high margin. These make good money when they sell, but nobody orders them. The question is why. Bad menu placement? Bad description? Wrong price point? You can try to fix the positioning, or you can cut them and replace them with something that earns its spot.
Dogs are low popularity and low margin. They lose money and nobody wants them. Cut them. I have seen chefs keep dogs on the menu because they personally like the dish or think removing it will upset three regulars. It almost never matters. The numbers win.
Some people use "cash cows" instead of plowhorses and "question marks" instead of puzzles. The names don't matter. The math matters.
How to calculate contribution margin and plot your menu
You need two pieces of data for every menu item. First, contribution margin: selling price minus food cost. If your burger sells for $18 and costs $5.04 in ingredients, contribution margin is $12.96. That is the actual dollars the item contributes toward covering labor, rent, and overhead before you see profit.
Second, the popularity metric. Take total units sold across your entire menu over a meaningful period. I use 4 weeks for seasonality, but 2 weeks works if your menu is stable. For each item, divide its units sold by total menu units. If you sold 2,000 total items and your burger sold 240, its popularity is 12%.
Now you need the thresholds. Take the average contribution margin across all items. Take the average popularity percentage. These become your axes. Every item above average on both is a Star. Below average on both is a Dog. And so on.
You can do this in a spreadsheet in about 20 minutes if your data is clean. foodcosting.app does it automatically, calculating food costs per recipe and placing every item on the matrix from your sales data. I built it because I got tired of the spreadsheet version breaking every time a supplier changed a price.
One detail that trips people up: use contribution margin in dollars, not food cost percentage. A 35% food cost on a $38 ribeye ($13.30 contribution) makes more money than a 22% food cost on a $14 pasta ($3.08 contribution). The percentage looks worse, but dollars are what pay your bills.
What to do with each quadrant
I have run this framework with dozens of restaurant owners. Here is the action script for each box.
Stars
Your job with Stars is simple: do nothing stupid. Keep the recipe the same. Make the item visible on your menu. Train servers to know it well. If a Star uses a specialty ingredient, get a backup supplier. A restaurant in Portland, OR lost their cedar-plank salmon Star for eight days because their single supplier ran out and nobody had lined up an alternative.
Plowhorses
These are tricky because they are popular. Servers love selling them. Customers order them without thinking. But the margin is thin. Raise the price slowly, $0.50 at a time, every 4 to 6 weeks. Most customers will not notice. You can also shave food cost by adjusting the plate: slightly less protein, slightly more of the cheap side. Or look at your vendor. If your plowhorse is a chicken sandwich and you buy breasts from US Foods at $3.82/lb, check Restaurant Depot. You might find $3.10/lb. That $0.72 per pound across 400 sandwiches a week adds up.
Puzzles
Try one round of fixes. Move the item to a better position on the menu. Rewrite the description with specifics. Not "grilled chicken with vegetables" but the marinade, the char, the vegetable. Train servers to suggest it. Give it two weeks. If nothing changes, cut it. High margin on zero sales is still zero dollars.
Dogs
Cut them. No ceremony. Replace with something that uses ingredients you already stock. If you need a new item quickly, take a plowhorse and spin it: turn a popular burger into a burger bowl with the same patty and toppings over fries or salad. Same prep, different menu line, different price point, better margin.
Before and after: a real 12-item menu transformation
Sarah runs a counter-service restaurant in Austin, TX. Her menu has 12 items split across lunch and dinner with some overlap. She had been using foodcosting.app for cost tracking but had not run the menu engineering module.
Here is what her matrix showed based on 4 weeks of data.
Her Stars were the brisket taco plate ($16.50, $11.82 contribution margin, 18% popularity) and the loaded queso bowl ($11.00, $7.93 contribution margin, 14% popularity). Both performed exactly as expected. No changes.
Her Plowhorses were the classic burger ($14.00, $4.90 contribution margin, 21% popularity) and the chicken Caesar wrap ($12.50, $3.85 contribution margin, 16% popularity). Together they accounted for 37% of unit sales but only about 22% of total contribution dollars. The wrap used premium romaine that spiked her cost every time there was an FDA food safety recall.
She raised the burger by $1.00 and the wrap by $0.75. She switched the wrap from romaine hearts to a spring mix blend that cost $0.40 less per portion.
Her Puzzles were the avocado toast ($10.00, $6.40 contribution margin, 3% popularity) and the grilled shrimp skewers ($14.50, $9.20 contribution margin, 2% popularity). Great margins, zero demand. The shrimp skewers were buried at the bottom of the menu in tiny type. She moved them to a featured box at the top of the lunch section and added a photo. The avocado toast description changed from "smashed avocado on sourdough" to something describing the pickled onions, chili crunch, and the egg.
Within two weeks, shrimp skewers went from 2% to 5% popularity. Avocado toast didn't move. She cut it.
Her Dogs were the garden salad ($6.50, $2.10 contribution margin, 3% popularity) and the kid's grilled cheese ($5.00, $1.45 contribution margin, 2% popularity). She cut both and replaced the garden salad with a protein bowl using leftover brisket trim over rice with pickled vegetables and a fried egg. Food cost: $2.90. Selling price: $13.00. Contribution margin: $10.10. It launched at 7% popularity in two weeks.
The financial result after four weeks:
Before: $14,872 weekly revenue, $6,040 weekly contribution margin.
After: $16,015 weekly revenue, $7,260 weekly contribution margin.
That is a $1,220 per week increase in contribution margin. Same rent. Same labor. Same kitchen. Just better decisions driven by data she already had.
The one thing most operators miss
Running the matrix one time is good. Running it every quarter is better. Supplier prices change. Customer preferences shift. Your Star from January might be a Plowhorse by June if beef prices jump.
Set a calendar reminder. Pull your last 4 weeks of sales from Toast, Square, or Clover. Pull your current recipe costs. Replot the matrix. It takes 30 minutes. Every quarter, you will find at least one item that has drifted into a worse quadrant. Fix it before it costs you real money.
The operators who do this consistently see an extra 3% to 5% margin improvement year over year from menu engineering alone. Not from cutting labor. Not from raising prices across the board. Just from managing their mix.
Food cost data by itself is a cost control tool. Food cost data plugged into the menu engineering matrix becomes a profit tool. When your recipe costs and sales data live in one place, you can run this analysis before you finish your coffee. foodcosting.app brings those numbers together. Cost every recipe, track sales, and identify your Stars and Dogs in one dashboard. Start at foodcosting.app.