Most menus grow by accident. A dish gets added because a customer asked, another because the cook was good at it, and nobody removes anything. After a few years you have 90 items, a crowded kitchen and no clear idea which dishes pay the rent.
Menu engineering is a simple method to fix this. It looks at two things for every dish: how many you sell, and how many rupees each plate leaves after ingredients. Then it puts every dish in one of four groups.
The two numbers you need
1. Contribution margin per dish
Contribution margin = menu price − food cost. If a chicken karahi sells for Rs 3,200 and its ingredients cost Rs 1,090, each karahi contributes Rs 2,110 towards salaries, rent, bills and profit. You need a costed recipe card for each dish to get this number. Our food cost percentage guide shows how to cost a dish.
2. Number sold
Take the quantity sold for each item over the same period, usually one month. Your POS item-wise sales report gives this directly. If you bill by hand, count from the bill book for at least two typical weeks.
A worked example
Here are six dishes from one month at a karahi and biryani restaurant:
| Dish | Price | Food cost | Margin per dish | Sold | Total margin |
|---|---|---|---|---|---|
| Chicken karahi (full) | Rs 3,200 | Rs 1,090 | Rs 2,110 | 420 | Rs 886,200 |
| Chicken biryani (plate) | Rs 650 | Rs 260 | Rs 390 | 1,300 | Rs 507,000 |
| Mutton karahi (full) | Rs 5,800 | Rs 2,450 | Rs 3,350 | 110 | Rs 368,500 |
| Daal mash (plate) | Rs 550 | Rs 140 | Rs 410 | 260 | Rs 106,600 |
| Chicken handi (half) | Rs 1,700 | Rs 620 | Rs 1,080 | 380 | Rs 410,400 |
| Fish fry (1 kg) | Rs 3,400 | Rs 1,900 | Rs 1,500 | 60 | Rs 90,000 |
| Total | 2,530 | Rs 2,368,700 |
Setting the popularity line
The usual rule is that a dish is popular if it sells at least 70% of the average. With six dishes and 2,530 plates sold, the average is 2,530 ÷ 6 = about 422 plates. 70% of that is about 295. So any dish selling 295 or more counts as popular.
Setting the margin line
The margin line is the average margin across all plates sold: total margin ÷ total sold = 2,368,700 ÷ 2,530 = about Rs 936. A dish earning more than Rs 936 per plate is high margin.
The four groups
| Dish | Popular? (295+) | High margin? (Rs 936+) | Group |
|---|---|---|---|
| Chicken karahi | Yes (420) | Yes (Rs 2,110) | Star |
| Chicken handi | Yes (380) | Yes (Rs 1,080) | Star |
| Chicken biryani | Yes (1,300) | No (Rs 390) | Plowhorse |
| Mutton karahi | No (110) | Yes (Rs 3,350) | Puzzle |
| Fish fry | No (60) | Yes (Rs 1,500) | Puzzle |
| Daal mash | No (260) | No (Rs 410) | Dog |
What to do with each group
Stars: protect them
Chicken karahi and handi sell well and earn well. Keep the recipe and portion exactly the same, place them prominently on the menu, and make sure the kitchen never runs short of their ingredients. Do not discount them heavily; they already sell.
Plowhorses: raise the margin carefully
Biryani sells more than anything else but earns only Rs 390 a plate, a food cost of 260 ÷ 650 = 40%. Small changes matter a lot here because of the volume. If you raise the price by Rs 50 and sales hold at 1,300 plates, the margin becomes Rs 440 a plate and the month earns 50 × 1,300 = Rs 65,000 more.
Other options: check the chicken weight per plate, sell a raita or drink combo with it, or offer a half and full size where the full has the better margin.
Puzzles: sell more of them
Mutton karahi and fish fry earn well per plate but few people order them. Ask why. Is the price too far above the chicken karahi? Is it hidden at the bottom of the menu? Does the waiter know how to describe it? Try a better spot on the menu, a photo, a weekend deal, or a half portion so more tables try it. Fish is also seasonal, so judge it over winter months separately.
Dogs: fix, reprice or remove
Daal mash neither sells strongly nor earns much per plate. Before removing it, check whether it pulls customers in, for example vegetarian guests in a family group. If it does not, consider removing it. Every item you remove means less stock to buy, less prep, and less waste.
Menu layout tips
- Put stars and puzzles where the eye lands first, usually the top right of a printed menu, or the top of each category.
- Do not line prices up in a single column; customers then read the menu by price.
- Group items clearly: karahi, handi, BBQ, rice, bread, drinks.
- Use short, plain descriptions. 'Desi ghee, fresh tomato, 1 kg chicken' sells better than a long paragraph.
- Keep the menu short enough that the kitchen can make every item well at peak time.
Deals and combos
Pakistani customers love a deal, and deals are where menu engineering pays off most. A good deal pairs a plowhorse or a puzzle with low-cost add-ons, so the customer sees value while your margin holds.
Example: a family deal of one chicken handi (half), one plate of biryani, four naan and a 1.5 litre cold drink. Using the costs above, the food cost is Rs 620 + Rs 260 + (4 × Rs 12) = Rs 928, plus a cold drink costing you Rs 180, for a total of Rs 1,108. Sold separately, the items come to Rs 1,700 + Rs 650 + Rs 160 + Rs 250 = Rs 2,760. Price the deal at Rs 2,450 and the customer saves Rs 310, while you keep Rs 2,450 − Rs 1,108 = Rs 1,342 per deal, a food and drink cost of about 45%.
That cost percentage is higher than selling the items one by one, so the deal only makes sense if it brings in extra orders or bigger tables. Track deal sales separately in your item report and treat each deal as its own dish in the next round of analysis.
How often to do this
Run the analysis every three months, and after any big ingredient price change. Chicken prices in Pakistan can swing sharply within weeks, which can move a star into plowhorse territory without the menu changing at all.
The work is quicker when your POS already holds item-wise sales and recipe costs. ArfaPOS keeps both, since recipes are linked to inventory and reports show sales by item, so the inputs for this table come straight from the system instead of from bill books. If you are still choosing software, see our restaurant POS checklist.
Compare dishes within the same category when your menu is large. Comparing a Rs 150 chai with a Rs 5,800 mutton karahi tells you little; comparing all karahi dishes with each other tells you a lot.