Yes, if you give it two numbers for every dish over the same period: how many sold, and the contribution margin (menu price minus plate cost). With those, AI can sort your menu into the four classic groups, Stars, Ploughhorses, Puzzles and Dogs, and suggest which to promote, reprice or drop. It can't supply plate costs you haven't worked out.
The split of labour matters: AI is good at explaining the matrix and suggesting actions, and poor at long chains of arithmetic, so a spreadsheet does the sums. The worked example uses ten main courses, every figure shown, and ends with a price test you can run in four weeks.
The two numbers the method runs on
Menu engineering was set out by Michael Kasavana and Donald Smith in 1982. It judges each dish on two things:
- Contribution margin (CM): selling price minus the cost of the food on the plate. A $26 dish with $8.10 of ingredients has a CM of $17.90. This is the cash each sale contributes towards wages, rent and profit.
- Popularity (sales mix): the dish's share of all dishes sold in its section. If you sold 2,450 mains and 310 were the beef shin, its mix is 12.7%.
Each dish is then compared with two cut-offs:
- High or low CM: compared with the menu's weighted average CM, which is total CM across all dishes divided by total dishes sold. Some tools use a simple average of the dish CMs instead; either works if you're consistent, but the weighted version reflects what you actually sell.
- High or low popularity: compared with 70% of an even share. With ten dishes an even share is 10%, so the cut-off is 7%. The 70% allowance exists because sales are never spread evenly; without it, half your menu would always look unpopular.
That gives four groups:
| High CM | Low CM | |
|---|---|---|
| High popularity | Star: protect it | Ploughhorse (often spelt Plowhorse): popular but earns less per plate; reprice or re-cost |
| Low popularity | Puzzle: earns well but doesn't sell; promote it | Dog: rework or drop |
Note what's missing: food-cost percentage. Many owners manage by it, and it misleads here, as the example shows.
Getting the numbers out of your till and recipe cards
- Pick a stable period. Eight to twelve weeks when the menu and prices didn't change. Shorter periods are too noisy; periods spanning a menu change mix two different menus.
- Export item sales from your till. Most point-of-sale systems have an "item sales" or "product mix" report. Use quantities sold, and prices excluding any sales tax.
- Remove the noise. Staff meals, comps and one-off group set menus distort the mix. Specials that ran for a week belong in a separate analysis.
- Cost every plate properly. Include the sauce, garnish, side and bread that come with the dish, at your latest supplier prices. AI helps here: paste a recipe card with quantities and your current invoice prices and ask it to lay out the costing line by line, then check the sums in a spreadsheet.
- Analyse one menu section at a time. Mains against mains, starters against starters. A $6 side and a $34 steak don't belong in the same comparison.
Here's the grill burger from the example below, costed line by line from its recipe card and the latest invoices (illustrative figures):
| Component | Quantity | Invoice price | Cost |
|---|---|---|---|
| Beef mince (patty) | 200g | $12.50 a kg | $2.50 |
| Brioche bun | 1 | $0.62 each | $0.62 |
| Cheese | 40g | $9.00 a kg | $0.36 |
| Smoked bacon | 2 rashers | $0.39 each | $0.78 |
| Pickles, onion, lettuce, burger sauce | One portion | From the sauce batch costing | $0.49 |
| Chips | 200g | $2.40 a kg | $0.48 |
| Slaw | 80g | From the slaw batch costing | $0.30 |
| Oil and seasoning allowance | – | – | $0.37 |
| Plate cost | $5.90 |
The first time the assistant costed this burger it came to $4.26, because only the first four lines were on the recipe card; chips and slaw sat on a separate "sides" sheet. It costed the burger, not the plate. That kind of gap can move a dish between groups. Had the sea bream been costed without its $0.80 of new potatoes and samphire, its CM would read $15.00, above the line, and it would have shown up as a Puzzle to promote rather than a Dog to rework. Paste the full plate specification, sides and garnish included, every time.
A worked ten-dish example
Say a neighbourhood bistro (an illustration) sold 2,450 mains over ten weeks. Its total contribution was $35,421.50, so the weighted average CM is $35,421.50 ÷ 2,450 = $14.46. The popularity cut-off is 70% × 1/10 = 7% of the mix, about 172 portions.
| Dish | Price | Plate cost | CM | Sold | Mix | Food cost % | Group |
|---|---|---|---|---|---|---|---|
| Braised beef shin | $26 | $8.10 | $17.90 | 310 | 12.7% | 31% | Star |
| Ribeye steak | $34 | $14.50 | $19.50 | 260 | 10.6% | 43% | Star |
| Roast chicken supper | $19 | $5.20 | $13.80 | 420 | 17.1% | 27% | Ploughhorse |
| Grill burger | $18 | $5.90 | $12.10 | 455 | 18.6% | 33% | Ploughhorse |
| Lamb flatbread | $16 | $4.10 | $11.90 | 390 | 15.9% | 26% | Ploughhorse |
| Mushroom risotto | $17 | $3.40 | $13.60 | 180 | 7.3% | 20% | Ploughhorse |
| Pork belly | $22 | $5.60 | $16.40 | 150 | 6.1% | 25% | Puzzle |
| Duck breast | $28 | $11.90 | $16.10 | 70 | 2.9% | 43% | Puzzle |
| Sea bream | $24 | $9.80 | $14.20 | 120 | 4.9% | 41% | Dog |
| Squash and chickpea curry | $15 | $3.20 | $11.80 | 95 | 3.9% | 21% | Dog |
Look at the food-cost column. The ribeye has the worst food-cost percentage on the menu at 43%, yet it's a Star: it puts $19.50 in the till every time it sells, more than any other dish. The risotto has the best percentage at 20% and is a Ploughhorse, only just above the popularity line. An owner cutting "expensive" dishes by food-cost percentage would drop the wrong one.
The prompt, and why a spreadsheet does the maths
Language models are unreliable at long chains of arithmetic; they can produce a table that looks right with a total that's wrong. Why AI gets maths wrong explains the mechanism. So split the job: ask the AI to build the spreadsheet and interpret the results, and let the spreadsheet calculate.
I run a [type] restaurant. Below is item-sales and plate-cost data
for my mains over [period]: dish, price excluding tax, plate cost,
units sold.
1. Give me spreadsheet formulas (for columns I can paste into)
to calculate: CM per dish, total CM per dish, sales mix %,
the weighted average CM, the popularity threshold
(0.7 x 1/number of dishes), and a column that labels each dish
Star, Ploughhorse, Puzzle or Dog.
2. Do NOT calculate the results yourself.
3. Once I paste back the finished table, suggest one specific action
per dish, and flag any dish within 5% of either threshold as
borderline.
[paste data]
If you work in Excel, using ChatGPT with Excel covers getting formulas into a sheet cleanly. Once the labels are in, paste the finished table back in and have the conversation about what to do. That part AI does well.
A typical reply for the bistro's table, trimmed to four dishes (sample output, illustrative):
Ribeye (Star): strong earner; consider raising the price to $38 given its popularity. Mushroom risotto (Ploughhorse, borderline): popularity is within 5% of the threshold, so recheck next quarter before acting. Sea bream (Dog, borderline): CM is within 2% of the average; a small reduction in plate cost could make it a Puzzle. Squash and chickpea curry (Dog): low margin and low popularity; remove it from the menu.
Two of those four you'd keep as they are: both borderline flags are correct and useful. Two need your knowledge. A $4 jump on the ribeye is a 12% rise on the dish regulars come back for; test $1 or $2 instead, using the sum in the reprice section. And the advice to drop the curry ignores something the numbers can't show, which is that it's the only plant-based main. Tell the assistant that, and ask again: it will then suggest ways to cut the curry's cost and sell it better, which is the useful answer.
What to do with each group
Stars: beef shin and ribeye
Keep them exactly as they are, in the best positions on the menu (usually top of a section or boxed). Check portion and quality every week, because a Star that slips loses its regulars fast. A small price test is reasonable, since demand for a favourite is usually the least price-sensitive on the menu.
Ploughhorses: chicken, burger, flatbread, risotto
These pay the bills through volume. Options, in order of risk:
- Re-cost the plate: a cheaper garnish nobody would miss, a portion trimmed by ten grams, a side swapped.
- Pair them with high-margin extras: "add chips" or a sauce at a strong margin raises the CM per order.
- A modest price rise, tested (see below).
- Move them to a less prominent spot so the eye lands on a Star or a Puzzle first.
Puzzles: pork belly and duck
Good earners that don't sell. Before touching the recipe, change how they're presented: a better position, a clearer description (the method in writing menu descriptions with AI helps), and a line in the pre-service briefing so servers recommend them. The duck, at 2.9% of the mix, is the second most expensive dish on the menu; if better placement hasn't moved it within a month, try a smaller portion at a lower price rather than a straight price cut, which would push its CM under the line.
Dogs: sea bream and curry
The usual answer is rework or remove. But look at why each one is there. The sea bream's CM of $14.20 is only 26 cents under the line: it's borderline, and a small re-cost might move it. The curry is the menu's main plant-based dish, and the person who needs it often decides where a group of six eats. That's a strategic Dog: keep it, but make it cheaper to produce and easier to sell.
Testing a reprice without guessing
Before raising a price, work out how many sales you can afford to lose. For the roast chicken:
- Today: 420 sold × $13.80 CM = $5,796 over the period.
- At $20 instead of $19, CM becomes $14.80.
- Break-even volume: $5,796 ÷ $14.80 = 392 portions.
- So the rise pays as long as sales fall by less than about 7% (from 420 to 392).
Run the new price for four weeks, change nothing else on the dish, and compare units against the same four weeks' pattern before. Reading the result, with illustrative figures: 420 over ten weeks is 168 every four weeks. Suppose the chicken sells 160 at $20. That's a 4.8% drop, inside the 7% the rise can absorb, and the four weeks bring in 160 × $14.80 = $2,368 against 168 × $13.80 = $2,318 before. A gain of about $50 a month is small, but it's the dish's margin rising without extra work, and over a year it adds up to around $650. Had sales fallen to 150, the four weeks would bring $2,220 and you'd put the price back.
If you want context on what similar places charge first, the limits of AI pricing research explains what AI can and can't tell you about competitors' prices.
Where the matrix misleads a small kitchen
- Shared ingredients. Dropping a Dog doesn't remove its cost if its ingredients feed three other dishes. Dropping the only dish that uses something does, and that's where the real saving is. Waste shows up here too; forecasting covers to cut food waste covers the prep side.
- Labour. CM ignores prep time. A pork belly that takes two days and a skilled cook may be a worse earner than its CM suggests.
- Small numbers. A dish selling fewer than about 30 a month swings between groups on random variation. Look at two periods before acting.
- Seasonality. A summer salad analysed in winter looks like a Dog. Compare like seasons.
- What diners say. The matrix counts orders, not satisfaction. A popular dish that attracts complaints is a problem in waiting; analysing your reviews with AI gives you the dish-level feedback to set beside the numbers.
What AI adds once the labels are in
The spreadsheet tells you which box each dish sits in. The assistant is more useful for the next step, turning labels into work the team can do:
- Re-costing ideas. Paste a Ploughhorse's recipe card and ask for five ways to cut the plate cost by 50 cents without changing what the diner notices. Most suggestions will be wrong for your kitchen; one or two usually aren't. For the roast chicken supper, an illustrative five: switch to a cheaper bird (diners would notice; no); cut the gravy from 100ml to 80ml (saves about 6 cents; not worth the complaints); swap tenderstem broccoli for seasonal greens (saves about 35 cents; worth testing); trim roast potatoes from 220g to 180g (saves about 8 cents, and worth checking against what comes back on plates); make the bread sauce from the day's leftover bread (saves a little and cuts waste). Two survive the head chef's review, which is a typical hit rate.
- Server briefing notes. For each Puzzle, a two-line pitch staff can say naturally at the table, written from the dish facts. The first draft for the pork belly usually sounds like an advert ("Our succulent pork belly is a true showstopper"). Ask for it in the words a server would use to a regular, and you get something sayable: "If you like crackling, the pork belly's the one. It's cooked over two days and comes with a sharp cider sauce."
- Quarter-on-quarter comparison. Paste two quarters' finished tables and ask which dishes changed group and why the numbers moved. Say the ribeye's plate cost rose from $14.50 to $16.40 after a supplier increase: its CM falls to $17.60 and it stays a Star, but its lead over the average narrows from about $5 to about $3.30. The group label hasn't changed, which is exactly why the comparison is worth asking for: it spots the drift before the label does.
Keep the same rule throughout: the AI suggests and explains, the spreadsheet and the head chef decide.
How often to run it
Every menu change, and at least once a quarter. After the first time, it's an hour's work: export, paste, check the labels, decide. Keep each quarter's table so you can see a dish drifting from Star towards Ploughhorse as supplier prices rise, and act before the margin has gone.
Further reads
- What an AI Implementation Plan Looks Like for a Small Restaurant — Where menu analysis sits in a wider restaurant AI plan.
- How to Track Competitors' Prices and Offers With AI — Checking what nearby competitors charge before a reprice.
- How to Forecast Next Quarter's Sales With AI Using Your History — Using the same sales history to plan the next quarter.
- How Pubs and Bars Can Use AI for Events, Rotas and Stock — The drinks-led version of stock and menu decisions.
- Where AI Actually Saves Time in a Small Restaurant — Other jobs in a small restaurant where AI saves time.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
Sources: the menu engineering model of Kasavana and Smith (1982), as summarised in hospitality teaching material and menu-costing software guides (weighted average contribution margin; popularity threshold of 70% of an even share). Checked September 2026.