Kiến trúc Tổng thể Module Dự báo
Thiết kế kiến trúc 4 tầng cho phép huấn luyện ra model độc lập, nạp file Parquet cố định theo DWH và phục vụ đồng thời nhiều người dùng.
Triết lý Kiến trúc: Tách biệt Dữ liệu và Động cơ Dự báo
Hệ thống được thiết kế thành một Module Dự báo Độc lập và Đa năng với ranh giới rõ ràng giữa Tầng Chuẩn bị Dữ liệu (DWH sang Parquet) và Tầng Động cơ Mô hình (Model Builder & Forecasting Engine):
- Vận hành Trực tiếp trên Nền Parquet (Gắn Parquet là chạy):
- Toàn bộ đầu vào của động cơ dự báo là các tệp Parquet đã được chuẩn hóa kiểu dữ liệu chặt chẽ.
- Khi triển khai trên môi trường vận hành chính thức hoặc máy chủ tính toán riêng, hệ thống không cần kết nối trực tiếp vào cơ sở dữ liệu DWH trong lúc huấn luyện hay chạy dự báo — chỉ cần gắn tệp Parquet chuẩn vào thư mục dữ liệu là toàn bộ quy trình tự động thực thi hoàn chỉnh.
- Huấn luyện Mô hình một lần, Truy vấn Đa Cấp Gộp tức thì:
- Động cơ cho phép chạy quy trình huấn luyện để sinh ra bộ trọng số mô hình và bảng kết quả đã phân rã sẵn các nhân tố tác động.
- Nhờ lưu trữ kết quả ở cấp chi tiết kèm đầy đủ thuộc tính của mọi chiều (Kho, Kho con, Hệ thống chuỗi, Thương hiệu, Nhà cung cấp, Vùng miền, Kênh bán hàng), việc chuyển đổi giữa 16 cấp gộp cho nhiều người dùng diễn ra tức thì mà không phải tính toán lại mô hình.
Sơ đồ Kiến trúc 4 Tầng (End-to-End Pipeline)
flowchart TD
subgraph T1["Tầng 1: Nguồn Dữ Liệu & Đồng Bộ Parquet (Cố định theo DWH)"]
S1[("Kho Dữ Liệu DWH\n(04/2025 -> nay + kế hoạch)")]
S2["Lịch sử Dài hạn (2021–2025)\n& Danh mục Khuyến mãi Trade"]
P1["Parquet Tầng 1: Bản sao DWH\n(354 cột nguyên bản)"]
P2["Parquet Tầng 2: Chuẩn hóa AI/ML\n(329 cột sạch) & Bảng Chuyên biệt"]
S1 & S2 -->|"Đồng bộ tăng trưởng theo tháng"| P1
P1 -->|"Làm sạch 6 quy tắc chuẩn"| P2
end
subgraph T2["Tầng 2: Tiền Xử Lý Chuỗi & Khử Lệch Mùa Vụ"]
F1["Nối mã kế thừa về 473 SKU gốc\n& Lịch giao dịch hiệu dụng"]
F2["Khử ẩn cầu do đứt hàng tồn kho\n(Stockout De-censoring)"]
F3["Khử lệch mùa vụ 2 chế độ\n(Cùng kỳ YoY & Động lượng đầu/cuối tháng)"]
P2 --> F1 --> F2 --> F3
end
subgraph T3["Tầng 3: Động Cơ Huấn Luyện Model & Suy Luận Đa Biến"]
M1["Amazon Chronos-2 (120M) Đa biến\n4 chuỗi đồng hành: Tổng tháng, Đầu tháng, Cuối tháng, Toàn ngành"]
M2["Mô hình Học Phần Dư trên 28 Biến Ngoại Sinh\n(Khuyến mãi, Độ phủ, Thời tiết, Tồn kho, Đẩy đơn cuối kỳ)"]
M3["Danh mục Mô hình Đối chứng\n& Phân rã Shapley 6 Hệ số K"]
F3 --> M1 --> M2
F3 --> M3
end
subgraph T4["Tầng 4: Đồng Bộ Phân Cấp Stein & Phục Vụ Đa Người Dùng"]
R0["Siêu Mỏ Neo 473 SKU Toàn Công Ty\n(Đồng bộ Phân cấp Stein)"]
G1["Cấp hạt Kho con (SKU × Subinventory)\n(7.340 chuỗi · 75 kho con)"]
G2["Cấp hạt Hệ thống Chuỗi (SKU × Chain)\n(2.668 chuỗi · 45 chuỗi MT/KA)"]
G3["Cấp hạt Cửa hàng (SKU × Store)\n(244k–273k cặp · Phân bổ 6 tháng)"]
API["Dịch vụ Web API · Giao diện Đa người dùng\n& Báo cáo Excel 3 Cấp Hạt"]
M2 & M3 --> R0
R0 --> G1 & G2 & G3 --> API
endPhân tách Trách nhiệm Giữa Các Khối Chức năng
Để đảm bảo tính nhất quán (không nhân bản công thức tính toán ở nhiều nơi), hệ thống được chia thành 3 khối chức năng rõ rệt:
| Khối chức năng | Thành phần chính | Vai trò trong kiến trúc |
|---|---|---|
| Khối Đồng bộ & Chuẩn hóa Parquet | Bộ kịch bản trích xuất và làm sạch dữ liệu DWH | Kết nối kho dữ liệu DWH, kiểm tra thay đổi theo từng tháng, tải/cập nhật bảng phẳng 354 cột và lọc sạch ra bảng Parquet 341 cột cho mô hình. |
| Khối Thư viện Lõi Mô hình AI | Thư viện mô hình, đặc trưng và phân rã nhân tố | Chứa toàn bộ thuật toán dự báo (Chronos-2, Chronos-Bolt, LightGBM, CatBoost, Empirical-Bayes), kỹ thuật tạo 28 biến ngoại sinh, phân rã 6 hệ số $K$ và kiểm định độ chính xác. |
| Khối Dịch vụ Vận hành & Tích hợp | Dịch vụ API, Quản lý lượt chạy và Xuất báo cáo | Quản lý trạng thái lượt chạy của nhiều người dùng, tiếp nhận tệp khuyến mãi CTKM, điều chỉnh hệ số $K$, khóa sổ S&OP và xuất báo cáo Excel 3 cấp hạt chuẩn. |