VuaNem Executive Intelligence Mọi câu hỏi kinh doanh → câu trả lời có con số + hành động đề xuất

Tạo lúc: 2026-07-30 17:30 • Mở mục “Chi tiết dữ liệu & cách tính” trong từng thẻ để xem bảng/biểu đồ/phương pháp
Báo cáoHỏi & Đáp điều hành — tất cả câu hỏi kinh doanh được trả lời trong một file
Dùng đểTrả lời tất cả câu hỏi kinh doanh trong một báo cáo thống nhất để xem xét của các bên liên quan đa chức năng.
Tạo lúc2026-07-30 17:30
Dữ liệu đến ngày2026-07-30
Phương pháp tính (kỹ thuật)
Đọc mọi CSV đầu ra pipeline và xây dựng báo cáo HTML toàn diện với 9 phần (Bán hàng & Dự báo, Tồn kho, Lập kế hoạch Nhu cầu, Khách hàng, Thông tin Khách hàng, Chuỗi cung ứng, Thông tin Dự báo Nhu cầu, Điều hành, Phương pháp luận). Mỗi hàng câu hỏi bao gồm thẻ nhân vật, tần suất, nội dung câu hỏi, câu trả lời với bảng nội dòng và biểu đồ matplotlib (PNG base64). Thẻ KPI tóm tắt ở đầu.
SKU sắp hết
0
SKU tồn dư
8
Cần đặt hàng
0 SKU
Nhóm hụt chỉ tiêu
0
KH nguy cơ rồi
67
KH cần chăm sóc
5

⚡ Hành động đề xuất (4)

Mục lục: Doanh số & Dự báoTồn kho & Nhập hàngKế hoạch & Cảnh báoKhách hàng & Gợi ýCustomer Intelligence (chi tiết)Supply Chain (chi tiết)Demand Forecast Intelligence (chi tiết)Executive (CEO/CFO)

Doanh số & Dự báo (Q1–Q18)

Q1Bán hàngHàng tháng🟡 Theo dõi
“Tháng tới dự kiến bán được bao nhiêu sản phẩm, theo từng nhóm hàng × kênh?”
⚠️ Chưa có dữ liệu. → Tạo dữ liệu: python run_pipeline.py --pipeline forecasting --steps q1
Chi tiết dữ liệu & cách tính
Tại sao quan trọng: Mọi quyết định phía dưới — nhập hàng, ngân sách, marketing — đều bắt đầu từ con số này.
Cách tính: AutoARIMA + AutoETS (StatsForecast), dự báo 3 tháng, khoảng tin cậy 80%/95%. Độ chính xác kiểm chứng bằng MAPE trên 3 tháng holdout.
Q4Bán hàngHàng tuần🟡 Theo dõi
“Yếu tố nào đang ảnh hưởng nhiều nhất đến doanh số 7 ngày tới?”
⚠️ Chưa có dữ liệu. → Tạo dữ liệu: python run_pipeline.py --pipeline forecasting --steps q4
Chi tiết dữ liệu & cách tính
Tại sao quan trọng: Biết đòn bẩy nào quyết định doanh số để hành động, thay vì coi dự báo là hộp đen.
Cách tính: LightGBM với đặc trưng trễ (lag), trung bình trượt, lịch. SHAP phân tách đóng góp của từng yếu tố vào dự báo.
Nguồn: forecast_ml.csv, forecast_ml_shap.csv • cập nhật 30/07 17:30
Q5Bán hàngTheo yêu cầu🟡 Theo dõi
“Sản phẩm mới chưa có lịch sử bán — dự báo nhu cầu thế nào?”
⚠️ Chưa có dữ liệu (cần API key TimeGPT, hoặc bước q5 sẽ dùng seasonal naive). → Tạo dữ liệu: python run_pipeline.py --pipeline forecasting --steps q5
Chi tiết dữ liệu & cách tính
Tại sao quan trọng: SKU mới không có quá khứ để học — nhập kho sai ngay từ đầu là rủi ro tồn kho lớn nhất.
Cách tính: TimeGPT zero-shot theo metadata (nhóm, kênh). Fallback: seasonal naive theo trung bình nhóm hàng.
Q7Tài chínhHàng tháng🟢 Ổn
“Con số dự báo ở cấp nhóm hàng và cấp SKU có khớp nhau không?”
✅ 7 chuỗi đã được đồng bộ — số cấp nhóm cộng lại khớp với cấp tổng. Tổng kỳ gần nhất (07/2026): 286 sp.
Tài chính→ Hành động: Khi lập ngân sách, dùng bộ số reconciled này thay vì tự tổng hợp thủ công.
Chi tiết dữ liệu & cách tính
Nhóm × KênhKỳy
total2025-08-01241.0
total2025-09-01269.0
total2025-10-01255.0
total2025-11-01283.0
total2025-12-01320.0
total2026-01-01379.0
total2026-02-01219.0
total2026-03-01201.0
total2026-04-01250.0
total2026-05-01238.0

Hiển thị 10/84 dòng

Tại sao quan trọng: Các phòng ban phải dùng chung một bộ số — lệch nhau gây tranh cãi khi lập ngân sách.
Cách tính: MinTrace reconciliation: ỷ = S(S'Σ⁻¹S)⁻¹S'Σ⁻¹ŷ — điều chỉnh để tổng cấp dưới cộng lại đúng bằng cấp trên.
Nguồn: forecast_reconciled.csv • cập nhật 30/07 17:30
Q8aBán hàngHàng tháng🟢 Ổn
“Nhu cầu tháng tới của từng nhóm hàng là bao nhiêu?”
Tháng 08/2026 nhu cầu dự kiến ~265 sp trên 2 nhóm hàng. Lớn nhất: Gummi (~147 sp).
Chi tiết dữ liệu & cách tính
Nhóm hàngKỳSL dự báo
Comfy2026-08-01118
Comfy2026-09-01118
Comfy2026-10-01118
Gummi2026-08-01147
Gummi2026-09-01147
Gummi2026-10-01147
Tại sao quan trọng: Nhập hàng và phân bổ ngân sách theo nhóm hàng.
Cách tính: Rolling average 12 tuần theo nhóm hàng (class).
Nguồn: forecast_category.csv • cập nhật 30/07 17:30
Q8bBán hàngHàng tháng🟢 Ổn
“Nhu cầu tháng tới của từng SKU là bao nhiêu?”
Tháng 08/2026 nhu cầu dự kiến ~265 sp trên 2 SKU. Top 3: GUMMI_160 (147), COMFY_160 (118).
Chi tiết dữ liệu & cách tính
SKUKỳSL dự báo
COMFY_1602026-08-01118
COMFY_1602026-09-01118
COMFY_1602026-10-01118
GUMMI_1602026-08-01147
GUMMI_1602026-09-01147
GUMMI_1602026-10-01147
Tại sao quan trọng: Đặt hàng chi tiết theo SKU.
Cách tính: Rolling average 12 tuần theo SKU.
Nguồn: forecast_product.csv • cập nhật 30/07 17:30
Q9Bán hàngHàng tháng🟡 Theo dõi
“Tháng nào trong năm bán chạy nhất, tháng nào thấp nhất?”
Đỉnh mùa: tháng 1 (cao hơn 42% so với TB). Thấp nhất: tháng 3 (thấp hơn 25%).
Thu mua→ Hành động: Tích lũy tồn kho cho tháng 1 từ trước 6-8 tuần; tháng 3 hạn chế nhập hàng, ưu tiên xả tồn.
Chi tiết dữ liệu & cách tính
ThángHệ số mùa vụTăng trưởng YoY
1.0×1.42—
2.0×0.82—
3.0×0.75—
4.0×0.93—
5.0×0.89—
6.0×1.01—
7.0×1.07—
8.0×0.90-100.0%
9.0×1.00-100.0%
10.0×0.95-100.0%
11.0×1.06-100.0%
12.0×1.20-100.0%
Tại sao quan trọng: Chuẩn bị tồn kho, nhân sự và lịch marketing cho mùa cao điểm.
Cách tính: seasonal_factor = doanh số TB tháng / TB chung. >1 = trên TB, <1 = dưới TB. YoY = (năm nay - năm trước) / năm trước × 100%.
Nguồn: monthly_analysis.csv • cập nhật 30/07 17:30
Q10Bán hàngHàng tuần🟢 Ổn
“Kênh nào đang bán chạy nhất? Kho nào xuất hàng nhiều nhất?”
Đóng góp theo kênh: Offline 41%, Ecom 35%, Online 23%.
Kho xuất nhiều nhất: BDI01-KC (429 sp).
Bán hàng→ Hành động: Ưu tiên ngân sách marketing và nhân sự cho kênh Offline; xem lại hiệu quả chi phí các kênh nhỏ.
Chi tiết dữ liệu & cách tính
Kênh/KhoSản lượngLoại
Ecom1,140sales
Offline1,323sales
Online749sales
BDI01-KC429inventory
BNI03-KC326inventory
HMIKT-TM275inventory
HNIKT-TM6inventory
Tại sao quan trọng: Ngân sách marketing, diện tích kho và nhân sự nên phân bổ theo đóng góp của kênh.
Cách tính: channel_pct = doanh thu kênh / tổng doanh thu × 100%. Xếp hạng kho theo tổng sản lượng.
Nguồn: location_analysis.csv • cập nhật 30/07 17:30
Q18Tài chínhTheo yêu cầu🟡 Theo dõi
“Giá bán ảnh hưởng thế nào đến sản lượng? Tăng giá bao nhiêu thì an toàn?”
6/6 nhóm hàng × kênh ít nhạy giá (|e|<1) — tăng giá 3-5% gần như không làm giảm sản lượng. Nhạy giá nhất: Gummi / Offline (e=1.00).
Tài chính→ Hành động: Ưu tiên tăng giá ở nhóm ít nhạy giá; giữ giá hoặc dùng khuyến mãi cho Gummi/Offline.
Chi tiết dữ liệu & cách tính
Nhóm hàngĐộ co giãn giáR²Giá TBSL TB/ngàyNhạy giá?Số điểm dữ liệuKênh
Comfy0.00—2 tr1.0False11Offline
Comfy0.00-0.002 tr1.1False28Online
Gummi0.020.002 tr1.4False30Online
Gummi0.050.002 tr2.3False30Ecom
Comfy0.090.002 tr3.6False30Ecom
Gummi1.000.032 tr2.7False30Offline
Tại sao quan trọng: Quyết định tăng giá hay khuyến mãi mà không mất khách hoặc mỏng biên lãi.
Cách tính: Log-log regression: ln(qty) = α + β×ln(price). |β|>1 = nhạy giá (tăng giá mất nhiều sản lượng), |β|<1 = ít nhạy giá.
Nguồn: price_elasticity.csv • cập nhật 30/07 17:30

Tồn kho & Nhập hàng (Q2–Q13) (1 cần hành động)

Q2Thu muaHàng ngày🟢 Ổn
“SKU nào sắp hết hàng hoặc đang tồn quá nhiều?”
✅ Tất cả 0 SKU đều đủ hàng đến cuối tháng.
Chi tiết dữ liệu & cách tính
SKUTồn khoBán TB/ngàySố ngày đủ bánLeadtime (ngày)Trạng tháiGhi chú
COMFY_1602105.042.020.0TỒN DƯTồn DƯ — 42 ngày
GUMMI_1602956.446.315.0TỒN DƯTồn DƯ — 46 ngày
AMANDO_1805050.0inf60.0TỒN DƯTồn DƯ — ∞ ngày
BEDGEAR_X30.0inf75.0TỒN DƯTồn DƯ — ∞ ngày
SAFFRON_K130.0inf45.0TỒN DƯTồn DƯ — ∞ ngày
TEMPUR_160100.0inf120.0TỒN DƯTồn DƯ — ∞ ngày
Tại sao quan trọng: Hết hàng = mất doanh thu và mất khách. Phát hiện sớm để đặt hàng kịp trước khi cháy kho.
Cách tính: days_of_inventory = tồn kho / bán TB ngày. SHORTAGE nếu số ngày đủ bán < số ngày còn lại trong tháng; CRITICAL nếu < leadtime.
Nguồn: shortage_alerts.csv • cập nhật 30/07 17:30
Q3Thu muaHàng tuần🟢 Ổn
“Cần đặt hàng thêm những SKU nào, số lượng bao nhiêu?”
✅ Chưa cần đặt thêm — tất cả SKU đang trên điểm đặt hàng (reorder point).
Chi tiết dữ liệu & cách tính
Tại sao quan trọng: Đặt đúng lượng để không hết hàng cũng không chôn vốn vào kho.
Cách tính: reorder_point = nhu cầu ngày × leadtime + tồn an toàn (z=1.65). order_qty = max(MOQ, reorder_point + nhu cầu kỳ - tồn hiện tại).
Nguồn: reorder_suggestions.csv • cập nhật 30/07 17:30
Q13Vận hànhHàng tuần🔴 Cần hành động
“SKU nào đang tồn kho dư so với tốc độ bán?”
🟡 8 SKU tồn dư — tồn kho vượt mức cần thiết. Nặng nhất: AMANDO_180 (inf ngày), TEMPUR_160 (inf ngày).
Vận hành→ Hành động: Xả tồn bằng khuyến mãi/bundle cho các SKU trên; tạm dừng nhập thêm cho đến khi về mức an toàn.
Chi tiết dữ liệu & cách tính
SKUSố ngày đủ bánTình trạng tồnLeadtime (ngày)
GUMMI_16087.2overstock15
AMANDO_180infoverstock60
AMANDO_180infoverstock60
TEMPUR_160infoverstock120
TEMPUR_160infoverstock120
BEDGEAR_Xinfoverstock75
BEDGEAR_Xinfoverstock75
SAFFRON_Kinfoverstock45
Tại sao quan trọng: Tồn dư chôn vốn lưu động, tốn chi phí kho, rủi ro lỗi mốt — cần xả sớm.
Cách tính: OVERSTOCK nếu days_of_inventory > leadtime + tồn an toàn + kỳ mua hàng. excess_qty = tồn - bán TB × ngưỡng.
Nguồn: overstock_analysis.csv • cập nhật 30/07 17:30
Q12MarketingHàng tuần🟡 Theo dõi
“Khi chạy flash sale, cần gấp bao nhiêu lần tồn kho ngày thường?”
⚡ Khi chạy promo, GUMMI_160 bán gấp 1.1 lần ngày thường (TB 2.1 → 2.4 sp/ngày).
Marketing→ Hành động: Chuẩn bị tồn kho tối thiểu ×1 cho SKU trên trước flash sale.
Chi tiết dữ liệu & cách tính
SKUSL ngày thườngSL ngày promoHệ số uplift
COMFY_1601.70.00.00
GUMMI_1602.12.41.14
Tại sao quan trọng: Chuẩn bị kho cho flash sale: thiếu hàng mất doanh thu, thừa hàng phải xả lỗ sau chiến dịch.
Cách tính: uplift = bán TB ngày promo / bán TB ngày thường. Tồn cần chuẩn bị = nhu cầu thường × uplift.
Nguồn: stocking_analysis.csv • cập nhật 30/07 17:30

Kế hoạch & Cảnh báo (dp1–dp3) (1 cần hành động)

dp1Bán hàngHàng ngày🟢 Ổn
“Doanh số tháng này đang vượt hay hụt so với chỉ tiêu?”
Tháng 2026-07: ✅ tất cả 0 nhóm đang đúng tiến độ chỉ tiêu.
Chi tiết dữ liệu & cách tính
Nhóm hàngKênhDoanh số thựcChỉ tiêuLệch so chỉ tiêuTrạng tháiGhi chú
GummiOffline5,970,000119,400,00055.0%VƯỢTVượt target 55%
ComfyEcom9,960,000136,950,000125.5%VƯỢTVượt target 125%
GummiOnline1,990,00063,680,000-3.1%ĐÚNGĐúng target
GummiEcom3,980,000109,450,00012.7%ĐÚNGĐúng target
ComfyOnline2,490,00074,700,0003.3%ĐÚNGĐúng target
ComfyOffline0136,950,000-100.0%HỤTUnder Target 100%
Tại sao quan trọng: Phát hiện hụt chỉ tiêu giữa tháng để còn kịp xử lý — đợi cuối tháng là quá muộn.
Cách tính: expected_MTD = target tháng / số ngày × ngày đã qua. variance% = (actual - expected) / expected. Cảnh báo khi |variance| > 30%.
Nguồn: target_actual_alerts.csv • cập nhật 30/07 17:30
dp3Thu muaHàng ngày🔴 Cần hành động
“Hôm nay có bao nhiêu cảnh báo cần xử lý?”
🔔 Hôm nay có 190 cảnh báo: 180 doanh số, 6 tồn kho, 4 bất thường. → Mở dashboard tổng hợp
Chi tiết dữ liệu & cách tính
Tại sao quan trọng: Một màn hình duy nhất mỗi sáng: gộp cảnh báo doanh số và tồn kho, xếp theo mức độ ưu tiên.
Cách tính: Gộp alerts từ dp1 (target vs actual) và q2 (tồn kho), sắp xếp theo severity.
Nguồn: target_actual_alerts.csv, shortage_alerts.csv • cập nhật 30/07 17:30

Khách hàng & Gợi ý (Q11–Q17) (1 cần hành động)

Q11MarketingHàng tuần🟢 Ổn
“Khách hàng đang được chia thành những nhóm nào, nhóm nào đông nhất?”
👥 6 khách hàng trong 2 nhóm (new_starter: 5, deal_hunter: 1).
Chi tiết dữ liệu & cách tính
Phân khúcSố KHCảm xúc chínhVòng đứng chínhLý do mua chính
deal_hunter1neutralnewgeneral
new_starter5neutralnewgeneral
Tại sao quan trọng: Marketing một kiểu cho mọi khách là lãng phí — chiến dịch theo nhóm có ROI cao gấp 3-5 lần.
Cách tính: Phân nhóm theo luật trên 10 tiêu chí (tần suất, độ mới, cảm xúc, vòng đứng, lý do mua...) → 9 nhóm hành vi.
Nguồn: customer_segments.csv, customer_criteria_tags.csv • cập nhật 30/07 17:30
Q14MarketingHàng tuần🟡 Theo dõi
“Nên gợi ý sản phẩm nào cho từng nhóm khách hàng?”
⚠️ Chưa có dữ liệu. → Tạo dữ liệu: python run_pipeline.py --pipeline forecasting --steps q14
Chi tiết dữ liệu & cách tính
Tại sao quan trọng: Gợi ý đúng sản phẩm tăng giá trị đơn hàng 10-30% nhờ cross-sell đúng nhu cầu.
Cách tính: Điểm = 0.40×affinity + 0.25×phù hợp nhóm + 0.20×nhu cầu dự báo + 0.15×tồn kho. Top-N mỗi khách hàng.
Q16Tài chínhHàng tháng🟡 Theo dõi
“Nhóm khách hàng nào khỏe mạnh nhất, nhóm nào đang yếu? Ước tính doanh thu?”
⚠️ Chưa có dữ liệu. → Tạo dữ liệu: python run_pipeline.py --pipeline forecasting --steps q16
Chi tiết dữ liệu & cách tính
Tại sao quan trọng: Biết nhóm nào đang khỏe/yếu để ưu tiên ngân sách giữ chân và phát triển đúng chỗ.
Cách tính: health_score = TB có trọng số(cảm xúc, khả năng chuyển đổi, hoạt động), thang 0-100. <40 = critical, <60 = warning.
Q17MarketingHàng tuần🔴 Cần hành động
“Phân nhóm khách theo giá trị mua hàng (RFM) — chạy chiến dịch gì cho từng nhóm?”
🛒 301 khách có lịch sử mua, tổng chi tiêu 3.0 tỷ. ⭐ Champions: 60 • ⚠️ Nhóm nguy cơ (At Risk+Hibernating+Lost): 67.
Marketing→ Hành động: Chạy chiến dịch win-back cho 67 khách nguy cơ tuần này; giữ chân 60 Champions bằng ưu đãi VIP (xem bảng chiến dịch).
🔗 Cặp cross-sell mạnh nhất: BEDGEAR_X → GUMMI_160 (affinity 0.61, 25 lần mua cùng).
Chi tiết dữ liệu & cách tínhChiến dịch đề xuất:
Phân khúcChiến lượcChiến dịchƯu đãiThởi điểmKPI
ChampionsRetention & AdvocacyChương trình Khách hàng VIPGiảm 15% cho đơn hàng tiếp theo + quà tặng bộ ga gối cao cấpHàng quý (sinh nhật KH, dịp lễ)Retention rate > 85%, AOV tăng 20%
ChampionsRetention & AdvocacyReferral ProgramTặng 1.000.000đ cho mỗi người bạn giới thiệu mua thành côngLiên tục3-5 referrals/Champion/năm
Loyal CustomersUpsell & Cross-sellNâng cấp lên dòng Cao cấpThu cũ đổi mới — giảm đến 30% khi nâng cấp lên dòng PremiumSau 18-24 tháng từ lần mua gần nhấtUpsell conversion > 15%
Loyal CustomersUpsell & Cross-sellCombo Phụ kiện Cao cấpCombo phụ kiện giảm 25% khi mua kèmSau 3-6 tháng mua nệmCross-sell rate > 20%
Potential LoyalistEngagement & ConversionChương trình Tích điểm Thành viênĐăng ký thành viên — tặng 500 điểm (tương đương 500.000đ)Sau lần mua thứ 2Membership signup > 40%
Potential LoyalistEngagement & ConversionGợi ý sản phẩm dựa trên lịch sử muaMiễn phí giao hàng + tư vấn 1-1 qua video callHàng thángCTR email > 25%
At RiskRe-engagement & Win-backChúng tôi nhớ bạn!Giảm 20% + miễn phí giao hàng + quà tặng bộ chăm sóc nệmNgay lập tức, nhắc lại sau 14 ngàyRe-activation rate > 15%
At RiskRe-engagement & Win-backKhảo sát trải nghiệmHoàn thành khảo sát — nhận voucher 200.000đSau 6 tháng không muaSurvey completion > 10%, insights cho cải thiện

Hiển thị 8/9 dòng

Cross-sell:
SP ASP BĐiểm affinityLiftLý do
BEDGEAR_XGUMMI_1600.610.89Khách hàng mua Bedgear cũng quan tâm Gummi
BEDGEAR_XAMANDO_1800.440.75Khách mua Bedgear quan tâm thêm dòng Amando cùng phân khúc
SAFFRON_KCOMFY_1600.400.51Khách hàng mua Saffron cũng quan tâm Comfy
AMANDO_180GUMMI_1600.390.57Khách hàng mua Amando cũng quan tâm Gummi
BEDGEAR_XCOMFY_1600.370.46Khách hàng mua Bedgear cũng quan tâm Comfy
AMANDO_180COMFY_1600.350.45Khách hàng mua Amando cũng quan tâm Comfy
BEDGEAR_XSAFFRON_K0.320.57Khách mua Bedgear quan tâm thêm dòng Saffron cùng phân khúc
TEMPUR_160COMFY_1600.290.37Khách hàng mua Tempur cũng quan tâm Comfy

Hiển thị 8/25 dòng

Tại sao quan trọng: RFM là chuẩn phân loại giá trị khách hàng: ai cần giữ, ai cần phát triển, ai cần kéo lại.
Cách tính: R = ngày từ lần mua cuối, F = số đơn, M = tổng chi tiêu; chấm 1-5 theo quintile → 555 = Champions, 111 = Lost. Cross-sell: lift(A→B) = P(A∩B)/(P(A)×P(B)).
Nguồn: purchase_segments.csv, campaign_recommendations.csv, product_affinity.csv • cập nhật 30/07 17:30

Customer Intelligence (chi tiết) (CI-1–CI-4) (1 cần hành động)

CI-1MarketingHàng tuần🟡 Theo dõi
“Sức khỏe chi tiết từng phân khúc khách hàng — phân khúc nào cần chú ý?”
→ Đã trả lời chi tiết tại Q16 (cùng dữ liệu, tránh trùng lặp).
CI-2MarketingHàng tuần🔴 Cần hành động
“Chi tiết chiến dịch marketing theo phân khúc — strategy, offer, timing, KPI?”
→ Đã trả lời chi tiết tại Q17 (cùng dữ liệu, tránh trùng lặp).
CI-3MarketingHàng tuần🔴 Cần hành động
“Cặp sản phẩm nào hay được mua cùng nhau (cross-sell)?”
→ Đã trả lời chi tiết tại Q17 (cùng dữ liệu, tránh trùng lặp).
CI-4MarketingHàng ngày🔴 Cần hành động
“Khách hàng nào cần được chăm sóc ngay hôm nay?”
🔔 5 khách hàng cần chăm sóc (PRICE_SENSITIVE_LEAD: 5).
Marketing→ Hành động: Gửi chương trình khuyến mãi, trả góp 0%, quà tặng kèm — ưu tiên khách có điểm ưu tiên cao nhất (xem bảng).
Chi tiết dữ liệu & cách tính
Khách hàngTrạng tháiƯu tiênLý doHành động gợi ý
KH001PRICE_SENSITIVE_LEADmediumPrice sensitivity: rất_nhạy (score: 1.00)Gửi chương trình khuyến mãi, trả góp 0%, quà tặng kèm
KH002PRICE_SENSITIVE_LEADmediumPrice sensitivity: hơi_nhạy (score: 0.60)Gửi chương trình khuyến mãi, trả góp 0%, quà tặng kèm
KH004PRICE_SENSITIVE_LEADmediumPrice sensitivity: rất_nhạy (score: 1.00)Gửi chương trình khuyến mãi, trả góp 0%, quà tặng kèm
KH005PRICE_SENSITIVE_LEADmediumPrice sensitivity: hơi_nhạy (score: 0.60)Gửi chương trình khuyến mãi, trả góp 0%, quà tặng kèm
KH009PRICE_SENSITIVE_LEADmediumPrice sensitivity: hơi_nhạy (score: 0.60)Gửi chương trình khuyến mãi, trả góp 0%, quà tặng kèm
Tại sao quan trọng: Cảnh báo khách sắp rồi trong ngày giúp can thiệp trước khi mất khách hẳn.
Cách tính: churn_risk: >90 ngày không mua. complaint: cảm xúc < -0.5. value_drop: chi tiêu gần đây < 50% TB. Ưu tiên theo điểm rủi ro tổng hợp.
Nguồn: alerts.csv • cập nhật 30/07 17:30

Supply Chain (chi tiết) (SC-1–SC-3)

SC-1Thu muaHàng ngày🟢 Ổn
“SKU nào có nguy cơ hết hàng trước cuối tháng? Cần đặt hàng khẩn không?”
→ Đã trả lời chi tiết tại Q2 (cùng dữ liệu, tránh trùng lặp).
SC-2Vận hànhHàng tuần🔴 Cần hành động
“SKU nào đang tồn dư? Cần giải phóng tồn kho không?”
→ Đã trả lời chi tiết tại Q13 (cùng dữ liệu, tránh trùng lặp).
SC-3Thu muaHàng tuần🟢 Ổn
“Cần đặt thêm những SKU nào? Số lượng bao nhiêu? Đã tạo PO chưa?”
→ Đã trả lời chi tiết tại Q3 (cùng dữ liệu, tránh trùng lặp).

Demand Forecast Intelligence (chi tiết) (DF-1–DF-5)

DF-1Bán hàngHàng ngày🟢 Ổn
“Doanh số thực tế có đạt kế hoạch tháng không? Bao nhiêu % vượt/dưới?”
→ Đã trả lời chi tiết tại dp1 (cùng dữ liệu, tránh trùng lặp).
DF-2Bán hàngHàng tháng🟡 Theo dõi
“Dự báo 3 tháng tới theo nhóm hàng × kênh, kèm khoảng tin cậy?”
→ Đã trả lời chi tiết tại Q1 (cùng dữ liệu, tránh trùng lặp).
DF-3Vận hànhHàng ngày🟡 Theo dõi
“Có ngày nào doanh số bất thường cần điều tra không?”
⚠️ 4 ngày doanh số bất thường: 2026-07-05, 2026-07-06, 2026-07-19, 2026-07-20.
Vận hành→ Hành động: Đối chiếu các ngày trên với sự kiện marketing/lỗi nhập liệu trước khi tin vào dự báo.
Chi tiết dữ liệu & cách tính
KỳĐiểm bất thườngBất thường?SKU
2026-07-052.411COMFY_160
2026-07-062.381COMFY_160
2026-07-193.801GUMMI_160
2026-07-203.811GUMMI_160
Tại sao quan trọng: Ngày bất thường có thể là lỗi dữ liệu, gian lận, hoặc sự kiện viral — tất cả đều cần điều tra.
Cách tính: Isolation Forest trên doanh thu ngày; 5% điểm bất thường cao nhất bị gắn cờ (contamination=5%).
Nguồn: anomaly_scores.csv • cập nhật 30/07 17:30
DF-4Bán hàngHàng tháng🟡 Theo dõi
“Mùa nào bán chạy nhất? Xu hướng năm-qua-năm ra sao?”
→ Đã trả lời chi tiết tại Q9 (cùng dữ liệu, tránh trùng lặp).
DF-5Bán hàngHàng tuần🟢 Ổn
“Doanh số phân bổ theo kênh/kho như thế nào?”
→ Đã trả lời chi tiết tại Q10 (cùng dữ liệu, tránh trùng lặp).

Executive (CEO/CFO) (Q21–fp1) (1 cần hành động)

Q21Tài chínhHàng tuần🟡 Theo dõi
“Tình hình kinh doanh tổng quan tháng này ra sao?”
⚠️ Chưa có dữ liệu. → Tạo dữ liệu: python run_pipeline.py --pipeline forecasting --steps q21
Chi tiết dữ liệu & cách tính
Tại sao quan trọng: Lãnh đạo cần một trang duy nhất để nắm sức khỏe kinh doanh mỗi tuần.
Cách tính: Tổng hợp KPI từ mọi bước pipeline (doanh số, tồn kho, cảnh báo, phân khúc).
Q22Tài chínhHàng tuần🟡 Theo dõi
“8 tuần tới tiền về và tiền ra dự kiến bao nhiêu? Có nguy cơ thiếu tiền không?”
⚠️ Chưa có dữ liệu. → Tạo dữ liệu: python run_pipeline.py --pipeline forecasting --steps q22
Chi tiết dữ liệu & cách tính
Tại sao quan trọng: Thiếu tiền mặt là nguyên nhân số 1 khiến doanh nghiệp thất bại — phải nhìn trước 8 tuần.
Cách tính: inflow = dự báo × giá × tỷ lệ thu tiền. outflow = COGS × tỷ lệ trả + mua hàng bổ sung. Số dư lũy kế 8 tuần, 3 kịch bản.
Q23Thu muaHàng tháng🟡 Theo dõi
“Nhà cung cấp nào đang giao hàng tốt, nhà nào cần đàm phán lại?”
📋 Nhà cung cấp tốt nhất: DeNhat (hạng A, 80đ — Duy trì + mở rộng). Thấp nhất: Saffron (hạng D, 29đ).
Thu mua→ Hành động: Đàm phán lại hoặc tìm nhà cung cấp thay thế cho Saffron (hạng D).
Chi tiết dữ liệu & cách tính
Nhà cung cấpSố SKULeadtime TBLeadtime dao độngMOQ TBTổng SL bánSKU rủi ro hết hàngprice_tier_avgĐiểm tổngHạngKhuyến nghị
DeNhat115.00.040.01,77312.080.00ADuy trì + mở rộng
Vinatech120.00.040.01,43912.072.90BDuy trì + mở rộng
Bedgear175.00.01.0003.052.90CMở rộng nếu có thể
Tempur1120.00.01.0004.040.00CMở rộng nếu có thể
Saffron252.510.620.5003.029.30DCân nhắc thay thế
Tại sao quan trọng: Nhà cung cấp trễ hàng làm hỏng cả chuỗi đặt hàng — cần số liệu để đàm phán hoặc thay thế.
Cách tính: composite = 0.4×đúng hẹn + 0.3×chất lượng + 0.3×ổn định leadtime → hạng A/B/C/D.
Nguồn: supplier_scorecard.csv • cập nhật 30/07 17:30
Q24Vận hànhHàng tháng🔴 Cần hành động
“Hàng tồn kho quay bao nhiêu vòng? SKU nào 'chết' (không bán được)?”
🔄 Vòng quay tồn kho TB: 2.1 vòng/năm. Chậm/chết: 7 SKU trên tổng 11 dòng.
Vận hành→ Hành động: Thanh lý/đẩy bán 7 SKU quay chậm: AMANDO_180, TEMPUR_160, BEDGEAR_X — giải phóng vốn chôn trong kho.
Chi tiết dữ liệu & cách tính
SKUNhóm hàngKhoSL bánTồn TBVòng quay/nămSố ngày tồn khoĐánh giáĐiểm hiệu quả
GUMMI_160GummiBDI01-KC665.01205.5466.0excellent95.40
GUMMI_160GummiBNI03-KC1,1082005.5466.0excellent95.40
COMFY_160ComfyBDI01-KC501.0806.2658.0excellent90.00
COMFY_160ComfyBNI03-KC938.01506.2658.0excellent90.00
AMANDO_180AmandoBDI01-KC0.02500.00infdead0.00
AMANDO_180AmandoHMIKT-TM0.03000.00infdead0.00
TEMPUR_160TempurBDI01-KC0.050.00infdead0.00
TEMPUR_160TempurHNIKT-TM0.080.00infdead0.00
BEDGEAR_XBedgearBDI01-KC0.000.00infdead0.00
BEDGEAR_XBedgearBNI03-KC0.030.00infdead0.00

Hiển thị 10/11 dòng

Tại sao quan trọng: Vòng quay thấp = tiền nằm chết trong kho thay vì sinh lợi.
Cách tính: turnover = COGS năm / giá trị tồn TB. DIO = 365/turnover. dead = 90 ngày không bán mà vẫn còn tồn.
Nguồn: inventory_turnover.csv • cập nhật 30/07 17:30
Q25Tài chínhHàng tháng🟡 Theo dõi
“Doanh thu tháng này đạt bao nhiêu % chỉ tiêu?”
⚠️ Chưa có dữ liệu. → Tạo dữ liệu: python run_pipeline.py --pipeline forecasting --steps q25
Chi tiết dữ liệu & cách tính
Tại sao quan trọng: Theo dõi tiến độ doanh thu để điều chỉnh kịp trong tháng (MTD/QTD/YTD).
Cách tính: pct_achieved = actual / target đã phân bổ × 100%. So với cùng kỳ năm trước khi có dữ liệu.
fp1Tài chínhTheo yêu cầu🟡 Theo dõi
“Với dự báo hiện tại, doanh thu và lãi gộp tuần/tháng/quý/năm tới là bao nhiêu?”
⚠️ Chưa có dữ liệu. → Tạo dữ liệu: python run_pipeline.py --pipeline forecasting --steps fp1
Chi tiết dữ liệu & cách tính
Tại sao quan trọng: Lập kế hoạch tiền mặt và ngân sách theo nhiều kịch bản (cơ sở/lạc quan/bi quan).
Cách tính: revenue = SL dự báo × giá × hệ số kịch bản. COGS = revenue × tỷ lệ giá vốn. margin = revenue - COGS. 4 kịch bản × 5 kỳ (W/M/Q/HY/Y).

VuaNem Executive Intelligence — mọi câu hỏi kinh doanh trong một file