TL;DR
Restaurant inventory shrinkage in Vietnam runs 2–5% of COGS. AI anomaly detection catches it within hours instead of months. Three real cases: a hotpot chain's vanishing beef, a coffee roastery's phantom waste, and a buffet's after-hours cooking oil.
AI warehouse anomaly detection: 3 real cases from Vietnamese restaurants

AI warehouse anomaly detection: 3 real cases from Vietnamese restaurants
2026 benchmark: Median food cost across SEA QSR chains: 30–34% in 2026.
Why monthly stock-takes don't catch what matters
A typical Vietnamese restaurant counts stock 1–4 times a month. By the time you find a 3% variance, the trail is cold: you can't tie it to a specific shift, supplier delivery, or cashier. So you sigh, mark it as "wastage," and move on. Industry shrinkage runs 2–5% of COGS, for a ₫1B/month food cost that's ₫20–50M/month evaporating without explanation.
AI anomaly detection on warehouse movements changes the time-to-detection from weeks to hours. Three real cases from the last 12 months:
Case 1: The hotpot chain's vanishing premium beef
Chain: 4 outlets, premium hotpot, HCMC, ₫6.2B/month Item: Wagyu beef A4, ₫1.4M/kg Signal: AI flagged a 14% gap between recipe-implied beef usage and actual beef issued, only on Tuesday and Thursday evenings, only at Outlet 2.
The model compared:
- Beef issued from cold storage (POS inventory)
- Beef "sold" via POS orders × recipe yield
- Variance, decomposed by day-of-week × outlet × shift
Tuesday/Thursday at Outlet 2 was 4σ above peer baseline. Other outlets, other days: clean.
Root cause: The Tue/Thu evening cold-storage manager was portioning extra grams into "trim/waste" buckets and taking them home. CCTV review of two flagged shifts confirmed.
Impact: ₫9.4M/month leak stopped. Detected in week 3 of the AI module being live.
Case 2: The coffee roastery's phantom waste
Operation: A specialty roastery supplying 8 internal cafés + wholesale Item: Green coffee beans, ₫280k/kg Signal: AI flagged the "roast loss %" (green-in vs roasted-out) drifting from a stable 16.5% to 19.8% over 6 weeks.
The roastery had assumed the drift was a real change in bean moisture (rainy season). The AI cross-referenced moisture readings from the roaster's logs and found no correlation. The drift was real but not physical.
Root cause: A new staff member had been recording roast batches in 50kg increments instead of actual weights (rounding down systematically) to "make the math easier." 3.3% of green beans had been flowing into an undocumented bucket, about ₫6.2M/month.
Impact: Process fix (mandatory scale weighing + photo logging). Loss recovered within 4 weeks.
Key insight: The AI didn't catch fraud here: it caught a process drift that looked like a physical loss. Owners often conflate the two and absorb the cost.
Case 3: The buffet's after-hours cooking oil
Outlet: A single Korean BBQ buffet, 220 covers/day, ₫1.8B/month Item: Frying oil, 18L cans, ₫750k each Signal: AI flagged that oil consumption per cover had risen 22% over 3 months while menu mix was unchanged.
Decomposed: consumption was normal during peak service hours but the closing inventory reading consistently dropped more than service hours could explain. The variance concentrated on weekends.
Root cause: One closing-shift staff member had been selling 1–2 cans of oil out the back door to a street-food vendor on Saturday nights. ~₫2.4M/month, plus the operational risk of a fire hazard from improper oil handling.
Impact: Termination + supplier contract review. Owner installed weight sensors on the oil drum (now a permanent input to the model).
The 4 signals AI watches in inventory
Across these cases, the same 4 signal families:
- Recipe-implied vs actual usage variance, by SKU, by outlet, by shift, by day-of-week
- Closing-vs-opening inventory delta vs theoretical consumption
- Supplier-delivery to consumption-start lag, flagging deliveries that "disappear" before being booked
- Cross-outlet peer baseline, same SKU, similar volume, very different variance
No single signal is conclusive. Their combination, scored against a 60-day baseline, is.
What you can do this week without AI
- Daily key-SKU count for your top 10 cost items (not monthly)
- Variance log, write down every variance >2% with a hypothesized cause and the shift it occurred in
- Recipe-yield audit, re-measure 3 high-value recipes; you'll likely find 5–8% drift from what the POS thinks
- CCTV index, even handwritten "check Tue/Thu evening, beef station" notes save you 6 hours of footage review
The shrinkage doesn't go away when you ignore it. It just goes into someone else's pocket.
Related reading
- AI demand forecasting for Tet and peak season in F&B
- AI fraud detection for voids and refunds on POS: catching ₫30–80M/month leaks
- AI Inventory Anomaly Detection: 3 Real Restaurant Examples
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
| KPI | Target band 2026 | LOOP 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 revenue | 18–32% | One queue across 5 aggregators; per-aggregator margin in dashboard |
| AI forecast MAPE per outlet | 14–22% | Recalibrates weekly per outlet |
| Ticket time (peak) | 6.8–9.2 min | KDS 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
- LOOP blog: AI POS guides for SEA
- LOOP POS
- PEKO loyalty
- VeLoop delivery aggregator unification
- LOOP pricing
- Compare LOOP vs other POS
FAQ
How fast can a SEA F&B chain switch to LOOP?
Typical cutover for 2–10 outlets is 5–10 business days: CSV import of menu, recipes, customers, loyalty and 24 months of sales, parallel run over a weekend, then cut over Monday open. Larger chains (20+ outlets) usually phase by region over 4–6 weeks.
Does LOOP work without stable internet?
Yes. LOOP runs offline-first with a 90-second resync window. Orders, payments and KDS keep firing during ISP drops; the cloud reconciles automatically on reconnect. Aggregator orders queue locally and dispatch when the link returns.
What does LOOP cost?
Per-outlet monthly pricing with no per-device upcharge. PEKO customers get 50% off LOOP POS paid plans. See pricing for current plans.
Does LOOP support VAT e-invoice (TT78)?
Yes. LOOP integrates with MISA, Viettel and VNPT as e-invoice providers. Issuance is automatic at order close and reconciles end-of-day.
Which payment rails does LOOP support?
LOOP POS supports VietQR, MoMo and ZaloPay in Vietnam. PayNow, NETS QR, SGQR, DuitNow QR, Touch 'n Go, QR Ph, GCash and Maya integrations are on roadmap; outlets can record payments from their existing terminals.
<!-- enriched:v1 -->