Menu engineering matrix for Indian restaurants — Stars, Plowhorses, Puzzles, Dogs
Menu engineering for Indian restaurants — Stars, Plowhorses, Puzzles, Dogs explained with a free template, worked example, and an action playbook for each quadrant.
Last updated 12 May 2026

About this piece. Menu engineering is the most underused unit-economics tool in Indian independent restaurants. The framework — Stars, Plowhorses, Puzzles, Dogs — is decades old and still works. The trick is running it on your menu with your numbers, on a regular cadence, and acting on what the matrix shows. This piece gives you the template, a worked example for an Indian casual-dine menu, and the action playbook for each quadrant.
The matrix in one paragraph
For each menu item, plot two numbers: contribution margin per item (₹ contribution per plate, not %) and popularity (units sold as a share of menu sales). Average each across the menu. The four quadrants:
| Quadrant | Popularity | Contribution margin |
|---|---|---|
| Stars | High | High |
| Plowhorses | High | Low |
| Puzzles | Low | High |
| Dogs | Low | Low |
Each quadrant has a different action. Most operator damage comes from treating all items the same way — running a 10% discount across a menu pulls Plowhorses harder (already high volume, already low margin) and barely moves Puzzles (the items that needed the push).
The two numbers — defined precisely
Get these definitions wrong and the matrix is misleading.
Contribution margin per item (₹) = Menu price (pre-GST) – Plate cost (food + bev cost for that item)
Popularity index (%) = Units sold of item / Total units sold across menu × 100
Average popularity (%) = 100 / Number of menu items × 0.7 (the 0.7 factor is the convention)
The 0.7 factor for the popularity threshold is convention — items above 70% of mean popularity are considered "high popularity". Be consistent.
Plate cost includes:
- All raw ingredients at vendor cost
- Garnish + accompaniments (the chutney, the salad, the achaar)
- Packaging (for delivery/takeaway items)
- Allowance for in-recipe waste (typically 5–8%)
Plate cost excludes:
- Labour to prepare
- Aggregator commission (treated as a sales reduction, not a plate cost)
- Overhead allocations
Contribution margin uses ₹ per plate, not %. A dish with 75% margin selling at ₹100 has lower contribution than a dish with 50% margin selling at ₹400.

Worked example — a 30-item NCR casual-dine menu
A composite NCR casual-dine outlet with a 30-item menu sees these top 10 items by units sold last month. (The remaining 20 items follow the same calculation.)
| # | Item | Menu price (₹) | Plate cost (₹) | Contribution (₹) | Units sold | % of menu units |
|---|---|---|---|---|---|---|
| 1 | Butter chicken | 425 | 145 | 280 | 420 | 11.5% |
| 2 | Dal makhani | 295 | 75 | 220 | 380 | 10.4% |
| 3 | Garlic naan | 75 | 20 | 55 | 720 | 19.7% |
| 4 | Paneer tikka | 365 | 130 | 235 | 240 | 6.6% |
| 5 | Chicken biryani | 395 | 155 | 240 | 290 | 7.9% |
| 6 | Veg fried rice | 245 | 70 | 175 | 180 | 4.9% |
| 7 | Hara bhara kabab | 285 | 95 | 190 | 110 | 3.0% |
| 8 | Lamb rogan josh | 525 | 215 | 310 | 95 | 2.6% |
| 9 | Mushroom do pyaza | 295 | 110 | 185 | 60 | 1.6% |
| 10 | Aam panna | 145 | 30 | 115 | 130 | 3.6% |
Mean contribution across the menu = ₹212. Mean popularity threshold = (100 / 30) × 0.7 = 2.33%.
Apply the matrix:
| Item | Contribution vs ₹212 | Popularity vs 2.33% | Quadrant |
|---|---|---|---|
| Butter chicken | High | High | Star |
| Dal makhani | High | High | Star |
| Garlic naan | Low | High | Plowhorse |
| Paneer tikka | High | High | Star |
| Chicken biryani | High | High | Star |
| Veg fried rice | Low | High | Plowhorse |
| Hara bhara kabab | Low | High | Plowhorse |
| Lamb rogan josh | High | Low | Puzzle |
| Mushroom do pyaza | Low | Low | Dog |
| Aam panna | Low | High | Plowhorse |
So this snapshot has 4 Stars, 4 Plowhorses, 1 Puzzle, 1 Dog among the top 10. The remaining 20 items would be slotted similarly.
The action playbook — by quadrant
Stars — protect them
These are the items that fund the business. The instinct is to "leave them alone" — wrong. Stars need active protection.
- Lock the recipe. A Star with portion drift becomes a Plowhorse silently. Standard portion scales, weighed first plate per shift.
- Lock the supplier. Star ingredient contracts get reviewed first when supplier pricing moves.
- Position prominently on the menu (top right of each section, dedicated photo on aggregator listings).
- Watch the price ceiling. Test a ₹15–₹25 price increase at low downside risk — the price elasticity on Stars is usually low.
Plowhorses — re-engineer the recipe or the price
Plowhorses are popular, low-margin. They drive footfall but don't fund the business. Three options, in order of preference:
- Re-engineer the recipe. A 5–8% reduction in plate cost via portion re-spec, garnish trim, or supplier swap can move a Plowhorse to a Star without changing the customer's experience.
- Bundle with a high-margin item. Garlic naan with a butter chicken combo at ₹525 (vs ₹500 a la carte) lifts contribution per cover.
- Test a small price increase. A ₹10 price bump on a high-volume Plowhorse is the highest-yield single change in the matrix. Run it for 30 days, measure unit-sales drop, calculate net contribution change.
Puzzles — promote, don't kill
Puzzles are the operator's quiet opportunity. They're high-margin items the kitchen already knows how to make — they just don't sell. Three actions:
- Reposition on the menu. Move from the bottom of a section to the top right of the section. Add a "chef's recommendation" tag.
- Train the service team. Most Puzzle underperformance is service staff defaulting to recommending Stars. A 30-minute training and a Puzzles-of-the-week rotation typically lifts unit sales 30–50%.
- Photograph for aggregator listings. A great photo on aggregator app listings can lift a Puzzle's units by 50–100% with no operational change.
Dogs — kill them, eventually
A Dog is low popularity, low margin. It contributes neither to revenue nor to footfall. The instinct is to remove it immediately — don't.
- Confirm it's a real Dog over 60 days, not 30. Seasonal items and recently-launched items can look like Dogs in their first month.
- Check menu balance. A vegetarian thali option with low velocity might still belong on the menu for non-veg-led tables that include a vegetarian guest.
- If it's truly a Dog, remove it. Each Dog removed simplifies inventory, reduces wastage from low-velocity ingredients, and frees menu space for a new Puzzle test.
A typical menu-engineering pass removes 2–4 Dogs and tests 2–3 new items every quarter.

The cadence — quarterly is right
Monthly menu engineering is over-engineering — POS noise dominates the signal at one-month windows. Annual is too slow — supplier prices, customer tastes, and aggregator dynamics shift faster than that. Quarterly is the right cadence for most independent operators:
| Frequency | Action |
|---|---|
| Weekly | Spot-check Star unit sales for portion / quality drift |
| Monthly | Refresh popularity index in the spreadsheet |
| Quarterly | Full matrix run with current plate costs and sales |
| Annually | Recipe re-baseline — re-cost every menu item from scratch |
The template — what to build in a sheet
A 30-row, 8-column sheet will run a 30-item menu. Lock the formula columns; update only the inputs.
Column A: Item name
Column B: Menu price (pre-GST)
Column C: Plate cost
Column D: Contribution / plate = B – C
Column E: Units sold (last month)
Column F: % of menu units = E / SUM(E)
Column G: Quadrant flag = IF + AND combo of D vs avg(D), F vs threshold
Column H: Action (free text from playbook)
Add a summary panel below the table:
Summary:
Mean contribution/plate = AVERAGE(D)
Mean popularity threshold = (100 / COUNT(A)) × 0.7 / 100
# Stars / Plowhorses / Puzzles / Dogs
Total contribution (₹/month) = SUMPRODUCT(D, E)
The total contribution number is the bottom-line health check — it should rise quarter-over-quarter as the matrix actions kick in. If it's falling, the actions aren't working and the underlying assumptions need revisiting.
What goes wrong in practice
- Plate costs not refreshed. Vendor prices move; plate costs in the sheet don't. After 6 months a previously-Star item can be a Plowhorse and the matrix doesn't show it.
- Aggregator commission added to plate cost. It isn't a plate cost — it's a sales reduction. Mixing the two distorts both contribution and popularity.
- Beverages mixed with food. Run two matrices, one for food and one for bar/beverage. The dynamics are different.
- Reading the matrix without action. Every quadrant has actions. Doing the analysis without acting on it is the most common failure mode.
Menu engineering is a discipline, not a one-off project. The first run takes 4 hours. Every subsequent quarterly run takes 90 minutes. The compounding gain is 1.5–3 points of contribution margin over a year.

What to do this quarter
- Pull last 90 days of POS data — units sold per menu item.
- Cost each menu item from current vendor prices (don't reuse last quarter's plate costs).
- Run the matrix in a fresh sheet.
- Tag each item by quadrant.
- Pick one action per quadrant (one Star to protect, one Plowhorse to re-engineer, one Puzzle to promote, one Dog to remove).
- Implement and measure for 60 days.
Six implementations a year and the menu is structurally healthier than it was at the start. Sales rise modestly, contribution rises substantially.
Related on Restaurant Daily
One operator playbook a week, in your inbox.
Cash close, petty cash, payroll, compliance, unit economics — sent every Monday morning. No spam, no upsell drip. Unsubscribe in one click.
Sent from noreply@restaurantdaily.ai. We never share your address.
Related reading
COGS vs prime cost restaurant India — what each tells you and how to track both
COGS vs prime cost for Indian restaurants — what each metric tells you, the formulas, when each one is the right number to act on, and how to track both monthly.
Occupancy cost restaurant India — rent, CAM, electricity benchmarks by city
Occupancy cost in Indian restaurants — rent, CAM, electricity benchmarks by city tier, what to negotiate at lease signing, and how to keep occupancy in the green band.
Restaurant unit economics India — the full guide from prime cost to payback
Restaurant unit economics India — the full guide from prime cost and breakeven to four-wall EBITDA, contribution per cover, and payback period, with worked examples in INR.
Restaurant labour cost percentage India — benchmarks + how to bring it down
Restaurant labour cost percentage benchmarks for India by format, what to include in the number, and a 6-step playbook to bring it down without losing service quality.
Restaurant breakeven analysis India — formula, worked example, calculator
Restaurant breakeven analysis for India — the contribution-margin formula, a worked example in INR, breakeven cover counts by format, and a step-by-step calculator.