Executive Control Tower
Operating loop từ tín hiệu đến tác động
POS + Inventory
Sales, void/refund, count, receipt và recipe events.
Validate & map
Raw immutable, mapping versioned, quarantine lỗi.
Forecast + variance
Actual vs theoretical, forecast có interval và evidence.
Replenish / transfer
Đề xuất tôn trọng MOQ, lead time, budget và expiry.
Human approval
Owner, deadline, SoD, step-up và lý do override.
Outcome & ROI
Evidence thực thi, realized benefit và feedback model.
Chi phí & hiệu quả 8 tuần · minh họa
Tín hiệu cần lãnh đạo chú ý
| Food cost Thảo Điền vượt target 3,2 điểm | P1 | |
| 17 item có nguy cơ stockout trong 72h | P1 | |
| POS B có 14 item chưa mapping | Data | |
| PO draft 86kg ức gà chờ duyệt | Approval |
Xếp hạng chi nhánh food cost / waste
Giá trị AI tạo ra đã Finance xác nhận
Realized benefit / subscription fee đang ở mức 2,6× trong cohort pilot; mục tiêu trưởng thành là ≥3×.
Daily Operations
Forecast theo ca chi nhánh Thảo Điền
Prep plan được đề xuất
| 11:00 | Lunch bowl base | 86 | Đủ NVL |
| 17:00 | Salmon poke | 54 | +12 cá |
| 18:30 | Avocado topping | 72 | Rủi ro thiếu |
| 20:00 | Chicken ramen | 48 | Đủ NVL |
Risk & next best actions
Avocado Hass còn 18kg, forecast cần 31kg cho ca tối. Đề xuất chuyển 15kg từ Q7 Riverside trước khi tạo PO.
Chế độ an toàn vận hành
Forecast chỉ phát hành khi data quality đạt ngưỡng. Khi model lỗi hoặc drift cao, hệ thống fallback về seasonal naive/rolling average và ghi rõ lý do.
Inventory & Variance
Actual vs Theoretical 7 ngày · giá trị variance
Inventory health
2 count session vượt threshold cần kiểm tra recipe version, receiving, waste log và mapping trước khi kết luận.
Variance queue click để mở investigation
| Branch | Ingredient | Actual | Theoretical | Variance | Risk | Action |
|---|---|---|---|---|---|---|
| Thảo Điền | Basil | 8,2kg | 10,1kg | −18,4% | High | |
| Q7 Riverside | Salmon fillet | 41kg | 46,2kg | −11,2% | Review | |
| Phú Nhuận | Chicken breast | 66,8kg | 68,9kg | −3,1% | Within |
Forecast Workbench
Demand forecast Avocado · Thảo Điền · 14 ngày
Model card
Ngày cuối tuần, campaign “BMart July” và nhiệt độ tăng là ba tín hiệu đóng góp lớn nhất cho forecast ngày mai.
Forecast review queue
| Branch | Item | Confidence | Reason | |
|---|---|---|---|---|
| Thảo Điền | Avocado | 82% | campaign uplift | |
| Q7 | Salmon | 69% | new menu | |
| Hai Bà Trưng | Chicken | 91% | stable pattern |
Override policy
Manager có thể override forecast nhưng phải nhập reason code. Override không sửa model output; nó tạo một forecast adjustment có actor, timestamp và audit event.
Menu, Recipe & Food Cost
Recipe registry effective version
| Menu item | Category | Version | Yield | Food cost | Status |
|---|---|---|---|---|---|
| Salmon Poke MNU-0042 | Signature | r8 · 01/07/26 | 1 bowl | 32,4% | Active |
| Chicken Ramen MNU-0018 | Main | r5 · 15/06/26 | 1 bowl | 28,8% | Active |
| Avocado Topping MNU-0106 | Topping | r3 · 20/05/26 | 10 portion | 18,1% | Review |
Ingredient / UOM integrity
Không silently giả định UOM/recipe. Item lỗi đi vào quarantine để tránh làm sai forecast và actual-vs-theoretical.
Procurement & Transfer Desk
Recommendation queue human approval before PO
| Item | Scope | Projected on-hand | Recommended | Alternative | ||
|---|---|---|---|---|---|---|
| Chicken breast ING-0018 | Q7 · 3 ngày | 18kg | 86kg | — | ||
| Avocado Hass ING-0106 | Thảo Điền | 18kg | — | Transfer 15kg từ Q7 | ||
| Salmon fillet ING-0042 | Q7 · 5 ngày | 41kg | 42kg | supplier S-014 | ||
| Cooking oil ING-0022 | Toàn chuỗi | 126L | 240L | MOQ 200L | Step-up |
Công thức: max(0, demand horizon + safety stock − available projected), làm tròn theo pack/MOQ; transfer khả thi được ưu tiên trước PO.
Recommendation evidence
Forecast 7 ngày: 112kg · safety stock: 18kg · on-hand: 44kg · on-order: 0kg · lead time: 2 ngày · MOQ: 50kg.
AI Action Center
Action inbox 7 đang mở
Impact & Reports
Realized benefit theo loại action
Report library
Finance review queue
| Action | Owner | Proposed | Realized | Evidence | Status |
|---|---|---|---|---|---|
| Transfer near-expiry salmon | Regional Ops | 18,4tr | 16,8tr | 3 receipts + waste log | Verified |
| Slotting prep ingredients | Branch Manager | 32tr | — | Chưa đủ 14 ngày | Pending |
| PO consolidation | Procurement | 41tr | 38tr | Invoice + price history | Verified |
Evidence-based Operations Copilot
Recent questions
“Vì sao food cost Thảo Điền tăng trong tuần này?”
“Chi nhánh nào có nguy cơ stockout cao nhất trong 72h?”
Copilot controls
LLM không tự sinh SQL trực tiếp; numeric answer đến từ approved semantic metrics tool. Câu hỏi không có evidence phải từ chối hoặc yêu cầu làm rõ.
AI Governance
Rules & policy MVP
Inventory, FEFO, MOQ, threshold, notification và low-risk task. Deterministic, giải thích được.
Forecast & optimizer MVP
Baseline + LightGBM trước deep learning; replenishment rule/optimizer tôn trọng constraint.
Copilot MVP
RAG SOP + semantic metrics + citations; read-only mặc định và có cost quota theo tenant.
Model lifecycle
Forecast model v12 được publish sau rolling-origin backtest. Hai branch có drift alert được chuyển sang review queue; không tự retrain production.
AI audit log
| 14:05:12 | Forecast v12 scored 12 branches | Published |
| 13:51:04 | Copilot answered KPI query | Evidence |
| 13:34:20 | Replenishment run #R-087 | Queued |
| 12:44:08 | Fallback check · Q7 | Review |
Data & Integration Health
Connector status
| Source | Protocol | Last sync | Records | Status | |
|---|---|---|---|---|---|
| POS A · iPOS demo | REST + webhook | 14:06:22 | 4.218 | Healthy | |
| POS B · CSV fallback | SFTP / 30m | 13:45:00 | 1.802 | 14 unmapped | |
| Weather optional | HTTPS API | 06:00:00 | 12 | Optional | |
| Notification provider | Email / Push | 14:04:10 | 218 | Healthy |
Data quality gate
14 POS items chưa map vào canonical menu/ingredient. Forecast cho scope liên quan hiển thị warning; không silently dùng giá trị mặc định.
Recent event stream correlation + idempotency
| Time | Event | Source | Result | Correlation |
|---|---|---|---|---|
| 14:06:22 | sales.order.created ×184 | POS A | Canonicalized | corr_91e2 |
| 14:05:44 | inventory.count.closed | Mobile · TD | Variance case | corr_90ac |
| 14:04:18 | connector.replay.requested | POS B | Idempotent | corr_8fe1 |
| 14:03:07 | recipe.mapping.failed | POS B | Quarantine | corr_8fc2 |
Tenant, RBAC & Audit
Role & scope matrix
| Role | Scope | Approve | Export | SoD | Status |
|---|---|---|---|---|---|
| Executive | All assigned branches | High limit | Yes | Required | Active |
| Regional Manager | Region · 7 branches | Medium | Yes | Required | Active |
| Branch Manager | Own branch | Low | Limited | Required | Active |
| Inventory Operator | Assigned stock | No | No | Own events | Active |
| Support · JIT | Metadata only | No | No | Session logged | On request |
Security posture
Audit explorer read-only
| Time | Actor | Event | Before / after | Result |
|---|---|---|---|---|
| 14:05:10 | linh.nguyen · Procurement | Recommendation quantity edited | 92kg → 86kg · reason required | Pending approval |
| 13:58:32 | regional.ops | Transfer approved | Q7 → Thảo Điền · 15kg | Approved |
| 13:44:02 | AI · Copilot | Numeric answer returned | Evidence IDs: ev_8812, ev_8813 | Grounded |
| 13:18:47 | support.agent · JIT | Tenant diagnostic session | POS B health only | Logged |