Halal cart profitability depends on repeatable plate math, not volume alone. Use this guide as an operator workflow: identify drift points, run plate-cost formulas, interpret protein tiers, and enforce actions at service level.
Every dollar figure below is illustrative. None of it is a market benchmark. Replace each unit cost with the number on your own invoice before you price anything.
Operator Context: Margin Leaks by Station
| Context signal | Primary check | Decision |
|---|---|---|
| Chicken over rice margin drops midweek | Compare cooked chicken ounces per plate | Reset scoop standard and retrain line |
| Rice usage is higher than sales mix | Measure dry-to-cooked yield per batch | Adjust batch size and holding cadence |
| Sauce inventory disappears too fast | Track ounce usage by bottle and shift | Lock squeeze bottle standard and charge extras |
| Ticket average stalls despite demand | Compare chicken vs gyro contribution | Separate protein pricing tiers and add-on ladder |
Core Costing Formula
Unit cost = Ingredient price / Usable amount
Plate cost = Sum of (unit cost x portion)
Food cost % = Plate cost / Menu price
Menu price = Plate cost / Target food cost %
Standardize portions by ounces. Then build pricing around a target food cost % that your own rent, labour, and platform fees can carry.
Interpretation to Action
| Output pattern | Interpretation | Action |
|---|---|---|
| Chicken and gyro share one price despite different cost | Premium protein value is leaking | Price each protein from its own plate cost |
| Plate cost appears stable but cash is tight | Packaging and sauce drift are uncaptured | Add both as fixed line items per plate |
| Add-ons sell but margin does not improve | Add-on prices are not derived from cost | Reset add-on pricing to your own target rate |
Rice Yield Math (Simple Version)
Rice cost is low, but wasted rice adds up. Treat it as a batch with a yield.
Illustrative example — measure your own yield:
- Dry rice input: 10 lb
- Cooked rice output: 28 lb
- Yield factor: 2.8x
Cooked rice cost per lb = Dry rice cost / Yield factor
If yield drops, every plate cost rises.
Example 1: Chicken Over Rice (Core Plate)
Illustrative unit costs only. Replace every line with your own invoice costs.
| Item | Portion | Unit Cost | Line Cost |
|---|---|---|---|
| Chicken (cooked) | 6 oz | $0.18/oz | $1.08 |
| Rice (cooked) | 8 oz | $0.05/oz | $0.40 |
| Salad mix | 3 oz | $0.10/oz | $0.30 |
| White sauce | 1.5 oz | $0.08/oz | $0.12 |
| Hot sauce | 0.5 oz | $0.06/oz | $0.03 |
| Pita | 1 pc | $0.40 | $0.40 |
| Packaging | 1 set | $0.32 | $0.32 |
| Total plate cost | $2.65 |
Price Targets
Each price below is plate cost / target rate, rounded to the cent. Swap in your own plate cost and the same formula still applies.
| Target Food Cost % | Menu Price |
|---|---|
| 28% | $9.46 |
| 30% | $8.83 |
| 32% | $8.28 |
If your market is price sensitive, adjust ounces before discounting the menu price.
Example 2: Gyro Platter (Premium Tier)
Gyro carries a higher protein cost in this example, so it lands in a higher tier. The tier comes out of the arithmetic, not out of a rule of thumb.
Illustrative unit costs only.
| Item | Portion | Unit Cost | Line Cost |
|---|---|---|---|
| Gyro meat | 5 oz | $0.42/oz | $2.10 |
| Rice (cooked) | 7 oz | $0.05/oz | $0.35 |
| Salad mix | 3 oz | $0.10/oz | $0.30 |
| White sauce | 1.5 oz | $0.08/oz | $0.12 |
| Pita | 1 pc | $0.40 | $0.40 |
| Packaging | 1 set | $0.32 | $0.32 |
| Total plate cost | $3.59 |
At a 30% food cost target the reference price is 3.59 / 0.30 = $11.97, against 2.65 / 0.30 = $8.83 for the chicken plate.
That gap is what the protein line costs you. It is not a claim about what your customers will pay.
Sauce Costing (The Hidden Lever)
Most carts lose margin in sauce. Because the portion looks small, teams stop measuring it.
Use a squeeze bottle with an ounce line. Then price sauce as a real ingredient.
Quick method:
Sauce cost per oz = Batch cost / Total oz produced
Illustrative: at $0.08 per oz, a 1.5 oz pour is $0.12 per plate. And $0.12 across 300 plates is $36 in a single day.
Run the same two lines with your own batch cost.
Packaging: The Cart Tax
Carts rely on takeout. That means packaging is not optional.
Track these as line items:
- Clamshell or bowl
- Lid + sauce cups
- Pita wrap or foil
- Fork, napkin, bag
Illustrative: at $0.32 per plate, 300 orders carry $96 of packaging in a day.
Add-On Pricing Ladder
Do not use one flat add-on price. Your costs are not flat.
Price each add-on from its own cost and your chosen target rate:
Add-on price = Add-on cost / Target food cost %
- Extra chicken: cost of the extra cooked ounces / your target rate
- Extra gyro: cost of the extra cooked ounces / your target rate
- Double rice: cost of the extra cooked rice / your target rate
- Extra sauce: cost of the extra ounces / your target rate
Cheap add-ons stay profitable and expensive proteins stay covered, because both come out of the same formula.
Portion Control Checklist (Daily)
- Weigh the first 5 plates of the shift
- Log cooked chicken yield by batch
- Measure rice scoop to a fixed ounce
- Use a squeeze bottle for sauce
- Count packaging shrink weekly
Consistency beats discounts.
Q&A
Q. Should I price chicken and gyro the same? A. Only if they cost the same. Run each plate through the formula and let the costs set the tiers.
Q. Is rice ever worth discounting? A. Only if it drives volume without increasing waste. Measure the waste before and after.
Q. Do I need to cost sauce separately? A. Yes. Sauce portions drift, and they add real cost over a week.