Kiến trúc Thuật toán & Mô hình Dự báo (Chronos-2 & Gen-3 SOTA)
Đặc tả toán học 5 tầng của kiến trúc mô hình chốt: Amazon Chronos-2 (120M) Đa biến, Dual-Regime Empirical-Bayes, GBDT 28 biến ngoại sinh và Stein Hierarchical Reconciliation.
Tổng quan Hệ sinh thái Mô hình Thế hệ 3 (Gen-3 Frontier SOTA)
Sau quá trình thực nghiệm và đối sánh 40 mô hình thuộc 8 họ thuật toán trên chuỗi Parquet hợp nhất 69 tháng (202101–202609), dự án đã chốt Kiến trúc Mô hình Sản xuất (Final Production Architecture) dựa trên sự kết hợp giữa Foundation Model Chuỗi thời gian Đa biến (Amazon Chronos-2 120M), Động cơ Khử lệch Mùa vụ Hai Chế độ (Dual-Regime Empirical-Bayes), Tầng Học Phần dư Đa biến Ngoại sinh (LightGBM L1 + CatBoost MAE trên 28 biến) và Đồng bộ Phân cấp Stein (Stein Hierarchical Reconciliation).
Mã mô hình (slug) | Tên mô hình đầy đủ | Vai trò & Cấp gộp định tuyến tối ưu (model_for_grain) | WMAPE Toàn công ty (Holdout T09) | WMAPE Cấp SKU (473 mã) | WMAPE Cấp Kho (35 kho) | WMAPE Subinv (75 kho con) | WMAPE Chuỗi (46 Chain) |
|---|---|---|---|---|---|---|---|
chronos2_mv_cross | Amazon Chronos-2 (120M) Đa biến + 28 Biến Ngoại Sinh + Stein (★ Chốt Production) | sku, subinv, sku_subinv, chain, sku_chain, store, pair | 0,07% (Bias +0,07%) | 29,03% | 14,26% | 16,61% | 17,26% |
chronos_bolt | Amazon Chronos-Bolt-Small (48M) Đa phân vị Tukey Trimean + Dual-Regime EB | warehouse, sku_warehouse, brand, supplier, area3, area2, channel_l1 | 0,14% (Bias +0,14%) | 29,16% | 14,45% | 16,63% | 17,40% |
seasonal_eb | Mùa vụ phân cấp Empirical-Bayes Dual-Regime + H1/H2 Momentum + Stein | channel (Toàn công ty) & làm mỏ neo Prior cho các mô hình Gen-3 | 0,07% (Bias -0,07%) | 30,11% | 15,41% | 20,80% | 18,15% |
portfolio_smart | Danh mục thông minh 5 thành phần (LGBM + CatBoost + Chronos + Seasonal-EB + SBA) | Cuốn chiếu 5 tháng (31,29%), Nowcast giữa tháng D+14 (20,12%), Dự báo tuần W+1 (28,15%) | 1,00% | 29,43% | 15,67% | 20,95% | 18,02% |
catboost_eb | CatBoost Oblivious Trees MAE + Empirical-Bayes Anchor | channel_l2 (16,57% – 17,07% trên 32 kênh phụ) | 0,21% | 30,05% | 15,70% | 20,83% | 17,90% |
lgbm_eb | LightGBM Global L1 Residual + Empirical-Bayes Anchor | Cuốn chiếu nhiều tháng ở cấp sku_warehouse (43,31%) | 0,36% | 29,73% | 15,57% | 20,98% | 18,10% |
Năm Tầng Logic Toán học của Kiến trúc Chốt Production
Tầng 1 — Chuẩn hóa Chuỗi Thời gian, Lịch Giao dịch & Khử Đứt hàng (INV02 De-censoring)
- Nối mã kế thừa (
Root SKU Mapping): Hợp nhất các mã sản phẩm đổi định danh qua các năm về 473 Root SKU gốc (model_lab/src/model_lab/data/sku_series.py). - Trọng số ngày giao dịch hiệu dụng (
Trading Weight$W(m)$): Mỗi ngày $d$ trong tháng $m$ được gán trọng số hoạt động $\omega(d)$ theo thứ trong tuần $\omega_{\text{DOW}} = (1{,}25; 1{,}08; 0{,}95; 0{,}98; 0{,}94; 0{,}60; 0{,}12)$ và giảm về $0{,}08$ vào 5 ngày lễ dương lịch cố định (01/01, 30/04, 01/05, 01/09, 02/09). Tết Âm lịch và Giỗ Tổ Hùng Vương chưa có trong danh sách này — xem Lịch lễ, Tết, sự kiện. Sản lượng tháng được quy về tốc độ bán trên mỗi ngày giao dịch hiệu dụng:$$y_{\text{rate}, t} = \frac{y_t}{W(t)}$$ - Khử bẫy đứt hàng tồn kho (
INV02 Stockout De-censoring): Từ tỷ lệ ngày đứt hàng $\text{oos}_i = \frac{\text{stockout\_days}_{i, t-1}}{\text{stock\_tracked\_days}_{i, t-1}}$ trên bảng tồn kho sạchmeta.inv02, mô hình khôi phục phần cầu bị ẩn trong những ngày hết hàng:$$\text{Base}_{\text{decensored}} = \text{Base}_{\text{raw}} \times \text{clip}\left(\frac{1}{1 - 0{,}5 \cdot \text{oos}_i}, \, 1{,}0, \, 1{,}18\right)$$
Tầng 2 — Khử Lệch Mùa Vụ Hai Chế Độ (Dual-Regime Empirical-Bayes Core)
Triển khai tại model_lab/src/model_lab/models/frontier.py, giải quyết bước ngoặt chuyển mùa gắt của ngành hàng Kem & Thực phẩm lạnh (như tháng 9 giảm tự nhiên -38,15% so với đỉnh hè tháng 8):
- Tỷ số chuyển mùa cùng kỳ trên rổ SKU đồng nhất (
Matched-Cohort YoY Ratio):$$g_{\text{YoY}} = \frac{\sum_{i \in \mathcal{M}} y_{i, t-12} / W(t-12)}{\sum_{i \in \mathcal{M}} y_{i, t-13} / W(t-13)}$$Chỉ tính trên tập SKU $\mathcal{M}$ hoạt động ở cả hai năm để loại bỏ hoàn toàn nhiễu do mở mới điểm bán (tránh nghịch lý Simpson). Với các chuỗi khuyếtlag_12, hệ thống tự động tra cứu neo mùa vụ đa nămlag_24vàlag_36từ lịch sử 69 tháng (202101–nay). - Điều biến động lượng nội tháng (
H1/H2 Intramonth Momentum): Từ 1,857 triệu dòng đơn hàng ngày (daily_all), tách sản lượng tháng $t-1$ thành nửa đầu tháng (H1: ngày 1–15) và nửa cuối tháng (H2: ngày 16–31). Nếu tháng trước tăng vọt ở 7 ngày cuối tháng (last7_share) do chạy chỉ tiêu trong khi kỳ tới là tháng co hẹp mùa vụ ($g_{\text{YoY}} < 0{,}88$), mô hình tự động khử đỉnh nhồi đơn cuối kỳ. - Co cụm Empirical-Bayes liên kho (
Cross-Warehouse Shrinkage): Hệ số mùa vụ của từng kho được co cụm về hệ số mùa vụ toàn quốc của mã SKU đó theo trọng số $\frac{v_{s,k}}{v_{s,k} + \tau}$, triệt tiêu nhiễu ở các kho nhỏ.
Tầng 3 — Lõi Foundation Model Đa biến Amazon Chronos-2 (120M) (chronos2_mv_cross)
Triển khai tại model_lab/src/model_lab/models/chronos2_exp.py thông qua Chronos2Pipeline.from_pretrained("amazon/chronos-2"):
- Tensor Đa biến 4 chiều
(N_series, n_variates=4, L=6):Variate 0 (y_rate): Tốc độ bán ngày giao dịch hiệu dụng của chuỗi mục tiêu.Variate 1 (h1_rate): Tốc độ bán nửa đầu tháng (ngày 01–15).Variate 2 (h2_rate): Tốc độ bán nửa cuối tháng (ngày 16–31).Variate 3 (peer_rate): Tốc độ bán đồng hành của mã SKU đó trên toàn quốc / toàn ngành hàng.
- Cơ chế Attention Kép (
Variate Self-Attention+Group Cross-Learning):- Học đồng thời tương quan nội tại giữa nhịp đầu tháng (
H1), cuối tháng (H2) và tổng tháng (y_rate), đồng thời bậtcross_learning=Trueđể các chuỗi SKU trong cùng batch chia sẻ tín hiệu chuyển dịch xu hướng.
- Học đồng thời tương quan nội tại giữa nhịp đầu tháng (
- Đối soát Đa phân vị (
Multivariate Quantile Reconciliation): Kết hợp dự báo phân vị củay_ratevới trung bình0.50 · (h1_rate + h2_rate)trên các mức phân vị thích nghi ([0.10, 0.40, 0.70]trong kỳ co hẹp mùa vụ;[0.22, 0.50, 0.78]trong kỳ mở rộng/bình thường).
Tầng 4 — Học Phần dư Đa biến trên 28 Biến Ngoại sinh (GBDT Residual Learning)
Triển khai tại forecast_pipeline/src/forecast_pipeline/forecast/yearly_3grains.py, sử dụng tổ hợp 2 mô hình cây quyết định học phần dư tỷ lệ log $r = \ln\left(\frac{y + 1}{\text{base} + 1}\right)$ với trọng số mẫu $\sqrt{\text{base}}$:
Danh mục 28 biến ngoại sinh ($X$) chốt đến hết tháng $t-1$:
- Nhóm Độ phủ & Nhịp đơn ngày (13 biến):
grp_nstores_l0,grp_odays_l0,grp_h1_share_l0,grp_last7_share_l0,grp_cps_l0,sku_nstores_l0,sku_odays_l0,sku_h1_share_l0,sku_last7_share_l0,mv_grp_store_growth,mv_sku_store_growth,mv_grp_last7_spike,mv_sku_last7_spike. - Nhóm Giá, Chiết khấu, FOC & CTKM Trade Promo (8 biến):
sku_disc_l0,sku_promo_app_l0,sku_foc_l0,mv_disc_delta_l0,mv_price_mom_l0,tp_count_l0,tp_max_disc_l0,tp_days_l0. - Nhóm Tồn kho
INV02, Viếng thăm Sales, Tủ đông, Thời tiết & Nhịp sản lượng (7 biến):sku_oos_l0,sku_visit_l0,sku_freezer_l0,sku_tmax_l0,sku_rain_l0,mv_l0_to_tb3,mv_yoy_to_l0.
Công thức, nguồn và giá trị mặc định của từng biến ở trang Danh mục Biến của Mô hình Dự báo.
Tầng 5 — Đồng bộ Phân cấp Stein Reconciliation & Siêu Mỏ Neo Đa Grain Bảo toàn SKU
Để đảm bảo các cấp hạt từ Toàn công ty $\leftrightarrow$ 473 SKU $\leftrightarrow$ Subinventory / Hệ thống Chuỗi $\leftrightarrow$ Cửa hàng luôn khớp số đồng nhất và đạt WMAPE thấp nhất:
- Quy tắc Bất biến — Luôn Bảo toàn Khóa
product_codeở các Grain Cấp cao: Thực nghiệm đã chứng minh việc gộp mất mãproduct_codeở các Grain vĩ mô (như chỉ gộp theoThương hiệuhayVùng miền) làm mất bộ lọcMatched-Cohort YoYvà gây san phẳng chéo giữa các dòng sản phẩm. Ngược lại, khi giữ khóaproduct_codetrên 8 chiều (SKU Toàn quốc,SKU × Vùng C2,SKU × Khu vực C3,SKU × Kho,SKU × Kênh C1/C2,SKU × Chain,SKU × Subinv) và khử lệch tổng (Cross-Grain De-biasing), WMAPE cấp SKU toàn quốc giảm xuống còn28,28%. - Pha trộn Stein (
Top-Down+Down-Top):- Tại
01_SKU_x_Subinventory(7.340 chuỗi) và02_SKU_x_He_Thong(2.668 chuỗi): Kết hợp dự báo trực tiếp tại cấp dưới (Down-Topđể giữ tín hiệu khuyến mãi và tăng trưởng cục bộ) với dự báo phân bổ từ mỏ neo 473 SKU gốc (Top-Down). - Tại
03_SKU_x_Store(244.783 – 273.115 cặp): Phân bổ từ dự báoSKU × Khotheo trọng số Empirical-Bayes 6 tháng:$$w_{i, k, s}^{\text{EB}} = \left(0{,}55 \cdot y_{i,k,s}^{(t-1)} + 0{,}30 \cdot \overline{y}_{i,k,s}^{(3M)} + 0{,}15 \cdot \overline{y}_{i,k,s}^{(6M)}\right) \times \left(\frac{n_{\text{active}, 3M}}{3}\right)^{1{,}2}$$đảm bảo tổng cộng dồn từ hơn 270.000 cặp cửa hàng lên khớp tuyệt đối 100% với tổng kho và tổng công ty.
- Tại