AI warehouse anomaly detection: 3 real cases from Vietnamese restaurants
By Lo Team
Last updated:

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.
The SEA F&B operator landscape in 2026 also looks materially different from 2023. Aggregator commissions in Vietnam have settled in the 22–28% band; Thailand and the Philippines run higher, Singapore lower. Labour minimums have moved twice in eighteen months in Vietnam. E-invoice (TT78) is now non-negotiable and enforced. Loyalty has shifted from punch cards to messaging-native (Zalo OA, LINE, WhatsApp, Messenger) — and the chains that ride that shift are seeing repeat visits double inside ninety days. None of that lands as an upgrade on a legacy POS; it lands as a different operating model.
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, foodpanda, Gojek). Configure e-invoice provider (MISA / Viettel / VNPT). Confirm payment rails (VietQR for VN; PromptPay / QRIS / DuitNow / PayNow / QR Ph for the rest of SEA). 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, foodpanda and Gojek into one queue, supports VietQR / PromptPay / QRIS / DuitNow / PayNow / QR Ph, and ships VAT e-invoice (TT78) via MISA, Viettel and VNPT. Pairs with Peko loyalty (50% lifetime discount on LOOP for Peko customers).
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 Rewards 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 loyalty customers get 50% lifetime discount on LOOP — see /pricing for the current band.
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?
Native: VietQR, MoMo, ZaloPay, VNPay for Vietnam; PromptPay (TH), QRIS (ID), DuitNow (MY), PayNow (SG), QR Ph (PH). Card acquirers are wired through local PSPs per country.