Biến & Dữ liệu Đầu vào

Mô hình dự báo đang đọc những biến nào, dữ liệu nào hệ thống tự lấy và tự tính, dữ liệu nào người dùng phải nhập trước mỗi kỳ chạy.

1.0 (Draft) ✓ Đã chốt giải pháp & mô hình dự báo

Trang này dành cho mọi người đọc, không cần biết lập trình. Trang trả lời ba câu hỏi: con số dự báo được dựng từ những thông tin gì, thông tin nào máy tự lo được, và thông tin nào phải có người nhập vào trước khi chạy. Danh sách đầy đủ từng trường nằm ở ba trang chi tiết cuối trang.

1. Con số dự báo được dựng từ đâu

Mỗi tháng, hệ thống ước lượng sản lượng (thùng) của từng mã hàng cho tháng tới và 12 tháng sau đó, ở ba góc nhìn: theo kho con, theo hệ thống chuỗi và theo cửa hàng. Để ra con số này, mô hình đọc ba loại thông tin:

  1. Lịch sử bán hàng — mỗi mã hàng đã bán bao nhiêu thùng trong 6 tháng gần nhất và cùng kỳ năm trước, ở đâu, bán dồn vào đầu hay cuối tháng.
  2. Bối cảnh bán hàng tháng vừa qua — mức chiết khấu, hàng tặng, số ngày hết hàng, mức độ nhân viên ghé thăm điểm bán, số tủ đông, thời tiết, số chương trình khuyến mãi đang chạy.
  3. Thông tin về tháng sắp tới — số ngày trong tháng, số ngày cuối tuần, ngày lễ. Về lý thuyết còn có lịch khuyến mãi, cửa hàng sắp mở, mã hàng sắp ra mắt, nhưng phần lớn thông tin loại này hiện chưa có ai nhập (xem mục 4).

Hai loại đầu hệ thống tự lấy từ Kho dữ liệu (DWH). Loại thứ ba chỉ có khi có người biết trước và nhập vào.

flowchart LR
    subgraph AUTO["Hệ thống tự lấy (DWH)"]
        A1["Đơn hàng theo ngày\n(cửa hàng × mã hàng)"]
        A2["Giá, chiết khấu, hàng tặng"]
        A3["Tồn kho, viếng thăm,\ntủ đông, thời tiết"]
        A4["Danh mục cửa hàng\nvà mã hàng"]
    end
    subgraph CALC["Hệ thống tự tính"]
        C1["Nối mã cũ → mã mới\n(473 mã gốc)"]
        C2["Lịch ngày giao dịch\ncủa tháng tới"]
        C3["50 biến lịch sử\n+ 28 biến ngoại sinh"]
    end
    subgraph USER["Người dùng nhập trước kỳ chạy"]
        U1["Lịch khuyến mãi\n(Trade)"]
        U2["Cửa hàng mở mới / đóng\n(Sales, KAM)"]
        U3["Mã hàng mới, ngừng mã,\nlịch lễ Tết, đơn đặc biệt"]
    end
    AUTO --> CALC --> M["Mô hình dự báo\nChronos-2 + cây học phần dư"]
    USER --> M
    M --> O["Dự báo M+1 và 12 tháng\nKho con · Chuỗi · Cửa hàng"]

2. Ba nguồn dữ liệu, ba trách nhiệm

NguồnGồm những gìAi chịu trách nhiệmNgười dùng phải làm gì
Hệ thống tự lấyĐơn hàng, giá, chiết khấu, hàng tặng, tồn kho, viếng thăm, tủ đông, thời tiết, danh mục cửa hàng và mã hàngĐội Kho dữ liệu (repo bi-dw) giữ dữ liệu đúng và đủKhông nhập gì. Chỉ báo lỗi khi thấy số liệu nguồn sai
Hệ thống tự tínhNối mã hàng cũ sang mã mới, lịch ngày giao dịch, toàn bộ biến trễ, tỷ lệ, xu hướng, hệ số mùa vụ, phân bổ xuống cửa hàngNhóm kỹ thuật dự báoKhông nhập gì
Người dùng nhậpLịch khuyến mãi, cửa hàng mở mới hoặc đóng, mã hàng mới và ngừng mã, lịch lễ Tết và sự kiện, đơn đặc biệt, điều chỉnh tayTrade, KAM, Sales, Kế hoạch, Mua hàngNhập trước ngày chạy dự báo — chi tiết ở trang Dữ liệu Người dùng Nhập

3. Luật quan trọng nhất: không dùng thông tin của tương lai

Mô hình chỉ được đọc những gì đã biết tại thời điểm dự báo. Khi dự báo tháng 11 vào đầu tháng 11, mô hình chỉ thấy số liệu đến hết tháng 10.

  • Số liệu chỉ biết sau khi tháng đã qua (đã bán bao nhiêu, chiết khấu bao nhiêu, hết hàng mấy ngày) luôn được lấy ở tháng trước, không bao giờ lấy ở tháng đang dự báo.
  • Thông tin biết trước (lịch tháng, ngày lễ, kế hoạch khuyến mãi đã chốt, cửa hàng đã có lịch khai trương) mới được dùng cho chính tháng đang dự báo. Đây là lý do dữ liệu người dùng nhập có giá trị: nó là nguồn duy nhất cho mô hình biết tháng tới có gì khác tháng trước.

4. Thực trạng hiện nay (26/10/2026)

Phần lớn thông tin “biết trước” chưa đi vào con số dự báo. Người dùng số liệu cần biết điều này để tự điều chỉnh khi cần:

Thông tin về tháng tớiHiện trạngHệ quả khi đọc số
Lịch tháng (số ngày, ngày cuối tuần)Đang dùng, máy tự tính—
Ngày lễ dương lịch (01/01, 30/04, 01/05, 01/09, 02/09)Đang dùng, viết sẵn trong mã—
Tết Âm lịch, Giỗ Tổ, lễ địa phươngChưa có. Kho dữ liệu không có bảng ngày lễTháng có Tết có thể bị dự báo lệch, phải chỉnh tay
Lịch khuyến mãiCó bảng user_uploads.trade_promotions (nạp ngày 13/09/2026, chỉ kênh MT). Mô hình chỉ đọc khuyến mãi của tháng trước, chưa đọc khuyến mãi của tháng đang dự báoĐợt khuyến mãi lớn mới bắt đầu sẽ bị dự báo thấp
Cửa hàng mở mới, đóng cửaChưa có nơi nhập. Mô hình chỉ thấy số cửa hàng có đơn tháng trước tăng hay giảmPhần sản lượng của cửa hàng mới chưa có trong dự báo (01–08/2026: khoảng 2,4% tổng sản lượng, kênh GT 4,8%)
Mã hàng mới ra mắt, ngừng mãChưa có nơi nhập. Riêng đổi mã TMICC của Wall’s đã được máy tự nối (26 mã), nghiệp vụ chưa xác nhậnMã mới không có lịch sử sẽ không có dự báo hoặc dự báo kém
Đơn đặc biệt (đơn DC chuỗi, khai trương, đơn dự án)Chưa có nơi nhậpMô hình không đoán được đột biến loại này

Thiếu dữ liệu người nhập thì hệ thống vẫn chạy và vẫn ra số. Con số khi đó là “tháng tới giống nhịp mấy tháng gần đây, cộng mùa vụ”. Mọi thay đổi đã biết trước mà không ai nhập (khuyến mãi lớn, khai trương chuỗi, Tết) sẽ không có trong số dự báo.

5. Nhịp nhập liệu trong một kỳ dự báo

flowchart LR
    A["Cuối tháng M−1\nĐóng sổ bán hàng"] --> B["Đầu tháng M\nHạn chót nhập liệu"]
    B --> C["Chạy dự báo\nM+1 và 12 tháng"]
    C --> D["Rà soát, điều chỉnh tay\n(ghi lý do)"]
    D --> E["Chốt số\ncho đặt hàng"]
  • Trước hạn chót nhập liệu: Trade nạp lịch khuyến mãi của ít nhất 3 tháng tới; Sales/KAM nhập danh sách cửa hàng dự kiến mở mới và đóng cửa; Mua hàng/Marketing nhập mã hàng sắp ra mắt hoặc ngừng bán; Kế hoạch rà lại lịch lễ.
  • Ngày cụ thể của hạn chót (ví dụ “ngày làm việc thứ 2 của tháng”) chưa chốt. Câu hỏi này cần Kế hoạch và Trade trả lời cùng câu hỏi “lịch khuyến mãi có cung cấp trước được không, trước bao nhiêu ngày” trong tài liệu bàn giao BA.

6. Các trang chi tiết

  • Danh mục Biến của Mô hình

    Toàn bộ biến mô hình chốt chronos2_mv_cross đang đọc: 4 chuỗi đầu vào của Chronos-2, 50 biến lịch sử, 28 biến ngoại sinh và 3 hệ số hậu chỉnh — từng biến có tên, công thức, nguồn và giá trị mặc định khi trống.

  • Dữ liệu Hệ thống Tự lấy & Tự tính

    7 tệp đầu vào của một lượt chạy, từng trường hệ thống tự lấy từ DWH (kèm bảng nguồn) và từng phép tính hệ thống tự làm mà không cần ai nhập.

  • Dữ liệu Người dùng Nhập

    9 nhóm dữ liệu cần người nhập trước kỳ chạy: lịch khuyến mãi, cửa hàng mở mới, mã hàng mới, lịch lễ Tết, đơn đặc biệt… — từng trường, ai nhập, kiểu dữ liệu, luật kiểm tra và trạng thái hiện nay.