← All posts
van-hanh-chuoi

TL;DR

Food cost control in Vietnam 2026: target ratios by format, recipe-costing math, daily variance loop, and the 8 leaks that quietly burn 4–9pp of margin.

Food cost control 2026: Recipe costing & variance for F&B

LOOP ResearchLast updated:

Food cost control 2026: Recipe costing & variance for F&B

Food cost control 2026: Recipe costing & variance for F&B

Food cost is the only line item where one focused month of work returns 4–9pp of margin permanently. This is the operator playbook for 2026.

TL;DR

  • Target food cost % by format: QSR 28–32, café 24–30, full-service 30–36, bar 18–24, bakery 26–32.
  • Recipe-costing without yield % and shrinkage is wrong by 3–7pp.
  • Daily variance loop (expected vs actual) is the single highest-ROI ops habit.
  • 8 leaks account for ~80% of overage: portioning drift, waste, theft, supplier creep, modifier mispricing, free pours, prep over-production, dead SKUs.
  • A 60-day disciplined cycle pulls 4–9pp in nearly every brand we audit.

1. Targets that survive 2026 input costs

FormatTarget food cost %Trigger to act
QSR / fast-casual28–32>34
Café / specialty24–30>32
Full-service30–36>38
Bar (drinks-led)18–24>26
Bakery26–32>34

2026 inputs: dairy +6–9%, robusta volatile +/-20%, imported spirits +4–7%, fresh produce flat. Re-cost quarterly.

2. Recipe costing the right way

Wrong: cost per item = sum(ingredient cost × spec qty). Right: cost per item = sum(ingredient cost × spec qty ÷ yield %) + packaging + shrinkage allowance.

Example, phin sữa đá:

  • Coffee 18g @ 380K/kg = 6,840 VND ÷ 0.92 yield = 7,435
  • Condensed milk 25ml @ 75K/L = 1,875 ÷ 0.97 yield = 1,933
  • Ice 120g @ negligible = 120
  • Cup + lid + straw = 1,450
  • Shrinkage 2% = 224
  • Total COGS = 11,162 VND

At a 38K sell price, food cost = 29.4%. Without yield/shrinkage, the same recipe reads 26.0%, 3.4pp invisible leak per cup.

3. The daily variance loop

Every morning, look at one report:

  • Expected COGS (sales × theoretical food cost from recipes)
  • Actual COGS (stock movement: opening + purchases − closing)
  • Variance = actual − expected; flag if |variance| > 2pp

If variance >2pp, the cause is one of the 8 leaks (next section). Investigate within 24h; the trail is fresh.

This loop is impossible without recipe-deduct on the POS. With it, the loop takes 8 minutes/day.

4. The 8 leaks (~80% of all overage)

  1. Portioning drift, eyeball pours. Fix: scoop/jigger discipline + weekly spot weigh-in.
  2. Prep waste, over-prep that doesn't sell, then bins. Fix: 14-day rolling forecast at the daypart.
  3. Theft / "family meals", staff comp creep. Fix: comp policy + auth code + cap.
  4. Supplier price creep, invoices ladder up 2% every 3 months. Fix: quarterly re-cost + multi-supplier bids on top-20 SKUs.
  5. Modifier mispricing, add-ons priced 2024, ingredient cost is 2026. Fix: re-cost modifiers separately.
  6. Free pours / over-toppings, bar / bingsu / milk tea. Fix: spec card + visual gauge cup + audit.
  7. Prep over-production, banh mi pâté made for 200, used 130. Fix: par-level + push-pull from POS.
  8. Dead SKUs, items <0.4% mix carrying inventory and waste. Fix: 86 quarterly.

5. The 60-day program

Week 1–2: Map. Recipe-cost the top 80% of mix. Identify the 8 leaks present. Week 3–4: Tighten. Spec cards posted on the line; portion tools issued; modifier pricing refreshed; comp policy live. Week 5–6: Measure. Daily variance loop. Expected vs actual every morning. Week 7–8: Negotiate. Top-20 SKU supplier bids; switch on what wins; consolidate to 3 suppliers max.

Result across 40+ audits: 4.4pp average food cost reduction. On a 400M VND/mo café, that's 17.6M VND/mo preserved.

6. Yield % cheat sheet

  • Citrus juice (lime, lemon): 38–44%
  • Pineapple peeled: 52%
  • Avocado flesh: 62–68%
  • Beef trim (chuck): 78–84%
  • Chicken (whole → portions): 65–72%
  • Coffee bean (brewed yield): 88–94% depending on grind
  • Boba (dry → cooked): 250–290% expansion (cost per cooked g matters)

Using package weight instead of yield is the #1 recipe-costing error.

7. Tooling

You need three things:

  • POS with recipe-deduct (LOOP, iPOS, Misa CukCuk; see POS guide)
  • A weekly stock-count workflow: physical count of top-50 SKUs
  • A variance dashboard: expected vs actual, daily

Spreadsheets work; software is faster and survives turnover.

8. Common operator mistakes

  • Re-costing once a year, not quarterly
  • Costing only "main" items, ignoring modifiers
  • Treating yield as 100% for produce
  • Tracking food cost monthly, not daily
  • Letting suppliers raise without re-bid

FAQ

What's a healthy food cost % in Vietnam 2026? Depends on format; see §1. Outside ±2pp of those bands, investigate.

How do I cost recipes properly? Include yield % and shrinkage. See §2. Without them, costs read 3–7pp too low.

What's the fastest pp to recover? Portioning + modifier re-pricing, usually 1.5–2.5pp in 2 weeks.

Do I need software? Not strictly. But the daily loop is impossible to sustain manually for >12 SKUs.

How often should I re-cost? Quarterly minimum; monthly on commodity items (coffee, dairy).

Is "shrinkage 2%" universal? No. Bar is 4–6%, produce-heavy kitchens 3–5%, dry-store-heavy 1–2%.

Related


Why this matters in 2026

Multi-outlet F&B operators across Vietnam and Southeast Asia are running into the same wall in 2026: aggregator commissions compress margins, food-cost drift compounds across outlets, labour cost climbs faster than ticket size, and a traditional POS only surfaces the damage at month-end when the only response left is firefighting. Operators who win in 2026 close the loop in hours, not weeks, variance flags before the next shift, demand forecasts before purchasing, daypart promos drafted automatically for slow slots, and a single morning brief instead of five dashboards. That is the bar this guide is written against, and the reason LOOP exists. The cost of a missed signal is no longer a single bad week, it is the difference between a chain that compounds outlet-level profitability and a chain that opens new outlets to mask the leaks at the old ones.

Operator playbook, first 30 days on LOOP

Week 1: Foundations. Import menu, recipes, modifiers, customers, loyalty balances and 24 months of sales via CSV. Connect aggregators (GrabFood, ShopeeFood, Be). Configure e-invoice provider (MISA / Viettel / VNPT). Confirm payment rails (VietQR for VN; DuitNow, PayNow and QR Ph are on roadmap). Train two staff per outlet on voice and text commands; the rest pick it up by observation in days 4–7.

Week 2: Variance and forecast online. Switch demand forecasting on at daypart level. Set variance alert thresholds (default: food-cost ±3pp, labour ±2pp, void rate ±0.5pp). Let the system run a full week without intervention so the baseline calibrates. Review the morning brief each day; ignore the urge to override, by day 10 the forecast typically holds steady.

Week 3: Promo and loyalty loop. Turn on daypart promo drafting for the two slowest hours per outlet. Connect Zalo OA / LINE / WhatsApp for delivery; start with a single segment (e.g. lapsed-30-day) and a single offer. Measure incremental visits, not coupon redemptions.

Week 4: Compound. Roll the same flow to a second outlet, then a third. The operating model is the same at outlet 2 as outlet 20, that is the point of LOOP.

KPI table, what to watch

KPITarget band 2026LOOP signal
Food cost %30–34% (QSR), 27–32% (café)Variance alert within 6 hours of shift close
Labour cost %22–28%Daypart staffing recommendation in morning brief
Repeat-visit rate (90d)38–46% (café), 28–36% (QSR)Loyalty segment drafted weekly
Aggregator share of revenue18–32%One queue across 5 aggregators; per-aggregator margin in dashboard
AI forecast MAPE per outlet14–22%Recalibrates weekly per outlet
Ticket time (peak)6.8–9.2 minKDS routing recommendation when over band
Void rate<0.8%Pattern-detection on staff/outlet/daypart

Common pitfalls SEA operators hit in 2026

Treating aggregator orders as a separate business. Operators who keep five aggregator tablets running in parallel lose roughly 4–7 minutes per peak hour to context-switching alone, and miss the per-aggregator margin picture entirely. Unifying the queue (one tablet, one KDS, one accounting line per aggregator) is usually the single highest-leverage move in the first 60 days.

Letting variance live in spreadsheets. A weekly food-cost review is a 7-day reaction time on a 24-hour problem. Variance has to live in the operating layer, flagged, attributed and routed to the responsible manager within hours, not aggregated to a Friday email.

Loyalty as a punch card. A 2026 loyalty programme is a messaging channel with attribution. If the only metric is "points issued", the programme is a cost centre. If the metric is "incremental repeat visits per segment per month", it compounds.

Forecasting at the wrong resolution. Chain-level forecasts are wallpaper. Daypart-and-outlet is the smallest unit that pays back, coarser is too vague to act on, finer is noise.

How LOOP solves this

LOOP is an AI-native restaurant operating system built for SEA F&B chains. Operators run their venues by voice or text command instead of clicking through dashboards. AI forecasts demand per outlet at daypart resolution (modelled accuracy published in our methodology), flags food-cost and labour variance within hours of the shift closing, drafts promos for slow daypart slots and pushes them to Zalo OA / LINE / WhatsApp, and delivers a three-item morning brief at 06:30 local time so the operator's first action of the day is informed. LOOP unifies GrabFood, ShopeeFood, Be into one queue, supports VietQR in Vietnam; DuitNow, PayNow and QR Ph are on roadmap, and ships VAT e-invoice (TT78) via MISA, Viettel and VNPT. Pairs with PEKO loyalty. PEKO customers get 50% off LOOP POS paid plans.

Under the hood, LOOP is offline-first with a 90-second resync window so orders, payments and KDS keep firing through ISP drops; recipe-level COGS is computed at order time so every plate's contribution margin is visible before the shift ends; and the morning brief is generated from the previous day's variance, the current day's forecast and the next 14 days of bookings, weather and local events, not a static template. The result is fewer dashboards, faster decisions, and a noticeably calmer week for the operator.

Related guides

<!-- enriched:v1 -->

Related articles

LOOP[LOOP]PEKO

Two products, one company: LOOP runs the venue, PEKO brings the customer back.

Hungry Bear Internet Pte. Ltd. (Singapore) · CÔNG TY TNHH LOOP TECHNOLOGIES (Vietnam)

PEKO customers get 50% off LOOP POS paid plans. Explore PEKO →

© 2026 Hungry Bear Internet Pte. Ltd. · LOOP and PEKO are products of the same company