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

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:

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:

  1. Recipe-implied vs actual usage variance — by SKU, by outlet, by shift, by day-of-week
  2. Closing-vs-opening inventory delta vs theoretical consumption
  3. Supplier-delivery to consumption-start lag — flagging deliveries that "disappear" before being booked
  4. 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

  1. Daily key-SKU count for your top 10 cost items (not monthly)
  2. Variance log — write down every variance >2% with a hypothesized cause and the shift it occurred in
  3. Recipe-yield audit — re-measure 3 high-value recipes; you'll likely find 5–8% drift from what the POS thinks
  4. 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


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

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.