Bối cảnh và vấn đề nghiên cứu
Dự đoán doanh số bán hàng là một trong những nhiệm vụ quản trị trọng yếu nhưng cũng đầy thách thức đối với các doanh nghiệp bán lẻ hiện đại. Trong bối cảnh vận hành chuỗi cung ứng, việc duy trì mức tồn kho tối ưu đóng vai trò sống còn: lượng hàng tồn kho quá lớn làm tăng vốn đầu tư ứ đọng, tăng chi phí lưu kho và đối mặt với rủi ro hàng hóa hư hỏng hoặc lỗi thời; ngược lại, mức dự trữ quá thấp sẽ dẫn đến tình trạng đứt gãy nguồn cung, bỏ lỡ cơ hội kinh doanh và gây tổn hại đến uy tín thương hiệu. Đề tài tiểu luận môn học "Ứng dụng Machine Learning để dự đoán doanh số bán hàng" được thực hiện bởi nhóm sinh viên Khoa Kinh tế, Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh (hoàn thành tháng 6/2024) nhằm giải quyết bài toán tối ưu hóa này thông qua việc tiếp cận các kỹ thuật học máy có giám sát.
Nhiệm vụ và mục tiêu nghiên cứu của công trình được xác định cụ thể bao gồm:
- Xây dựng cơ chế dự đoán doanh số bán hàng đáng tin cậy dựa trên việc học hỏi từ dữ liệu lịch sử, hỗ trợ các nhà quản lý lập kế hoạch kinh doanh và điều phối tồn kho chính xác.
- Nhận diện các mẫu hành vi mua sắm và xác định mức độ tác động của các yếu tố kinh doanh (chương trình khuyến mãi, ngày lễ, khoảng cách cạnh tranh, loại hình cửa hàng) đến doanh thu.
- Cung cấp cơ sở dữ liệu định lượng phục vụ việc điều chỉnh chiến lược tiếp thị, tối ưu hóa việc phân bổ nhân sự và nâng cao mức độ hài lòng của khách hàng.
Về đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Doanh số bán hàng theo ngày của chuỗi cửa hàng bán lẻ dược phẩm và hàng tiêu dùng Rossmann.
- Phạm vi dữ liệu và không gian: Bộ dữ liệu lịch sử của chuỗi Rossmann Store bao gồm 1.115 cửa hàng với các tệp dữ liệu huấn luyện, kiểm tra và thông tin cửa hàng bổ sung.
- Phạm vi thời gian: Dữ liệu lịch sử được thu thập trong giai đoạn từ ngày 01/01/2013 đến ngày 17/09/2015. Trong đó, tập dữ liệu từ ngày 01/08/2015 đến ngày 17/09/2015 được trích xuất để phục vụ quá trình kiểm định và thử nghiệm mô hình. Thời gian thực hiện nghiên cứu của nhóm tác giả kéo dài trong 2 tháng.
Cơ sở lý thuyết và phương pháp
Nghiên cứu chỉ ra ba thách thức cốt lõi khi xử lý dữ liệu doanh số chuỗi bán lẻ:
- Dữ liệu phi tuyến: Mối quan hệ giữa các biến đầu vào (như các chiến dịch khuyến mãi, thời điểm cuối tuần, mùa mua sắm cao điểm) và doanh số có tính phi tuyến phức tạp, dễ dẫn đến hiện tượng quá khớp (overfitting) hoặc sai số lớn nếu áp dụng các hàm tuyến tính đơn giản.
- Sự phụ thuộc dài hạn: Doanh số chịu ảnh hưởng đồng thời bởi các yếu tố ngắn hạn (giảm giá tức thời) và xu hướng dài hạn (chu kỳ kinh tế, thói quen tiêu dùng theo năm). Các mô hình truyền thống thường bỏ sót các mối liên hệ lịch sử xa.
- Dữ liệu nhiễu và ngoại lệ: Sự xuất hiện của các biến động bất thường do quảng cáo đột xuất hoặc sai lệch ghi nhận dữ liệu làm mờ xu hướng thực tế, đòi hỏi các kỹ thuật lọc và làm mịn thích hợp.
Nhóm tác giả đã tiến hành phân tích lý thuyết và so sánh đặc tính kỹ thuật của 5 mô hình học máy phổ biến để tìm ra giải pháp tối ưu cho bài toán:
| Tiêu chí đánh giá |
Random Forest |
Linear Regression |
ARIMA |
LSTM |
XGBoost |
| Xử lý dữ liệu phi tuyến |
Cao |
Thấp |
Trung bình |
Cao |
Cao |
| Phát hiện quan hệ thời gian |
Thấp |
Thấp |
Cao |
Cao |
Trung bình |
| Xử lý dữ liệu nhiễu |
Cao |
Thấp |
Trung bình |
Cao |
Cao |
| Tốc độ và hiệu suất huấn luyện |
Cao |
Trung bình |
Thấp |
Thấp |
Cao |
Dựa trên bảng đối chiếu và kết quả tổng hợp từ các công bố thực nghiệm liên quan (như nghiên cứu của Molly Ruby, Zhang Mei & cộng sự), thuật toán Tăng cường độ dốc cực cao (XGBoost - thông qua lớp XGBRegressor) được lựa chọn làm mô hình trung tâm nhờ khả năng xử lý song song trên đa lõi CPU, tích hợp sẵn cơ chế kiểm soát chính quy hóa (regularization) chống overfitting và tự động xử lý giá trị khuyết thiếu.
Quy trình tiền xử lý và phương pháp thực hiện được thiết kế gồm các bước:
- Xử lý dữ liệu khuyết thiếu (Missing Data Imputation):
- Cột
CompetitionDistance (khoảng cách đến đối thủ cạnh tranh gần nhất): Điền giá trị bằng 2 lần giá trị lớn nhất trong tập dữ liệu nhằm biểu thị đối thủ ở rất xa, làm triệt tiêu tác động tiêu cực của biến này lên mô hình.
- Cột
CompetitionOpenSinceMonth và CompetitionOpenSinceYear: Sử dụng giá trị xuất hiện nhiều nhất (Mode) để thay thế các giá trị trống.
- Các cột
Promo2SinceYear, Promo2SinceWeek, PromoInterval: Điền giá trị 0 tương ứng với trường hợp cửa hàng không tham gia chương trình khuyến mãi liên tục (Promo2 = 0).
- Mã hóa đặc trưng phân loại (Categorical Encoding): Áp dụng kỹ thuật One-Hot Encoding để chuyển đổi các biến phi số (
StateHoliday, StoreType, Assortment, DayOfWeek) thành các biến nhị phân 0/1.
- Phân chia dữ liệu: Tách tập dữ liệu theo tỷ lệ 90% dành cho huấn luyện (
X_train, train_targets) và 10% dành cho kiểm định (X_val, val_targets).
- Thước đo đánh giá sai số: Sử dụng Sai số toàn phương trung bình (RMSE - Root Mean Squared Error) và Sai số tuyệt đối trung bình (MAE - Mean Absolute Error) làm tiêu chuẩn đánh giá độ chính xác của hàm hồi quy.
Nội dung chính theo từng chương
Chương I: Tổng quan
Chương này tập trung trình bày tính cấp thiết của việc dự báo doanh số bán hàng trong quản trị tồn kho và tối ưu chi phí lưu kho. Tác giả xác định rõ mục tiêu nghiên cứu là xây dựng công cụ hỗ trợ ra quyết định kinh doanh dựa trên dữ liệu Rossmann Store và xác định các giới hạn thực nghiệm về mặt thời gian (2 tháng) cũng như giới hạn phạm vi dữ liệu giai đoạn 2013–2015.
Chương II: Cơ sở lý thuyết
Nội dung chương đi sâu vào việc phân tích ba trở ngại lớn trong mô hình hóa chuỗi bán lẻ (tính chất phi tuyến, mối phụ thuộc dài hạn và dữ liệu nhiễu). Đồng thời, chương cung cấp cơ sở toán học và cơ chế vận hành của 5 thuật toán: Hồi quy tuyến tính (Linear Regression), Rừng ngẫu nhiên (Random Forest), Tự hồi quy tích hợp trung bình trượt (ARIMA), Mạng nơ-ron bộ nhớ dài-ngắn (LSTM) và Tăng cường độ dốc (XGBoost), qua đó lập luận cơ sở khoa học để lựa chọn XGBoost.
Chương III: Phương pháp đề xuất
Chương III đặc tả chi tiết kiến trúc giải pháp gồm sơ đồ pipeline tiền xử lý dữ liệu, phương thức mã hóa One-Hot, quy tắc xử lý các trường dữ liệu khuyết thiếu và cấu hình lớp XGBRegressor. Tác giả giải thích chức năng của các siêu tham số trong hàm tối ưu hóa như n_estimators, max_depth, learning_rate, subsample, colsample_bytree, reg_alpha, reg_lambda và thiết lập môi trường tính toán đa luồng (n_jobs=-1, random_state=42).
Chương IV: Kết quả
Nội dung chương trình bày các phát hiện từ quá trình khám phá dữ liệu (EDA) và thử nghiệm mô hình:
- Phân tích đặc trưng tác động đến doanh thu:
- Ngày trong tuần (
DayOfWeek): Doanh số từ thứ Hai đến thứ Bảy duy trì đều đặn; ngày thứ Hai có doanh thu cao nhất do tập trung nhiều đợt giảm giá; Chủ nhật hầu hết các cửa hàng đóng cửa khiến doanh thu giảm mạnh.
- Khuyến mãi (
Promo): Các ngày có chương trình khuyến mãi ghi nhận mức doanh số vượt trội so với ngày thường.
- Ngày lễ (
StateHoliday): Vào các dịp lễ công cộng (a), lễ Phục sinh (b) và Giáng sinh (c), doanh số bán lẻ giảm mạnh do cửa hàng đóng cửa hoặc nhu cầu chuyển dịch sang dịch vụ giải trí.
- Kỳ nghỉ học đường (
SchoolHoliday): Doanh số tăng trưởng rõ rệt trong các kỳ nghỉ học do lưu lượng khách hàng gia tăng.
- Loại hình cửa hàng (
StoreType): Cửa hàng loại b đạt doanh số trung bình cao nhất, chiếm 37,03% tổng tỷ trọng doanh thu.
- Số lượng khách hàng (
Customers): Tương quan thuận mạnh mẽ với doanh số.
- Khoảng cách cạnh tranh (
CompetitionDistance): Có mối quan hệ tương nghịch với doanh số; các cửa hàng càng ở xa đối thủ cạnh tranh càng đạt doanh thu cao do lưu lượng khách không bị chia sẻ.
- Tầm quan trọng của đặc trưng (
Feature Importance): Thuộc tính model.feature_importances_ xác định 10 biến có ảnh hưởng lớn nhất gồm: Promo, StoreType_b, DayOfWeek_1, Promo2, CompetitionDistance, Assortment_c, Assortment_a, Month, Store và Day.
- Thực nghiệm tinh chỉnh siêu tham số: Quá trình kiểm thử đơn biến xác định các ngưỡng tối ưu:
n_estimators = 1000, max_depth = 12 (độ sâu lớn hơn 12 khiến sai số validation tăng), learning_rate = 0.2, subsample = 0.9 và colsample_bytree = 0.9.
Chương V: Kết luận và phương hướng phát triển
Chương cuối đánh giá toàn diện ưu và nhược điểm của mô hình XGBoost đã triển khai, đồng thời đề xuất 4 định hướng mở rộng: loại bỏ ngoại lệ bằng kỹ thuật khoảng biến thiên tứ phân vị (IQR), ứng dụng phương pháp kiểm định chéo K-Fold (12 folds), xây dựng mô hình kết hợp (Ensemble) giữa XGBoost và LightGBM, và mở rộng thu thập dữ liệu không gian, thời tiết cũng như tối ưu hóa nhân sự bán hàng vào ngày Chủ nhật.
Kết quả và đóng góp
Nghiên cứu đã chứng minh sự cải thiện vượt bậc về độ chính xác dự báo sau khi thực hiện tiền xử lý và tinh chỉnh siêu tham số trên mô hình XGBoost:
| Chỉ số đánh giá |
Lần chạy 1 (Mặc định: n_estimators=20, max_depth=4) |
Lần chạy 2 (Đã tinh chỉnh: n_estimators=1000, max_depth=10, lr=0.2, subsample=0.7) |
Mức độ cải thiện |
| Train RMSE |
~2730,30 |
132,75 |
Cải thiện ~95% |
| Validation RMSE |
- |
820,95 |
- |
| Validation MAE |
- |
560,20 |
Cải thiện ~94% |
Về hiệu năng tính toán, thuật toán đạt tốc độ xử lý cao trên tập dữ liệu lớn với hơn 1 triệu dòng bản ghi:
- Thời gian CPU (CPU time): User time đạt 7 phút 11 giây, System time đạt 2,12 giây, tổng thời gian CPU là 7 phút 14 giây.
- Thời gian thực tế (Wall time): 1 phút 51 giây.
Đóng góp thực tiễn của công trình thể hiện ở việc xây dựng một pipeline hoàn chỉnh từ xử lý biến khuyết, mã hóa đặc trưng đến lựa chọn siêu tham số cho bài toán chuỗi bán lẻ. Kết quả nghiên cứu cung cấp căn cứ định lượng để doanh nghiệp tái cấu trúc danh mục khuyến mãi, đánh giá vị trí mở rộng mặt bằng dựa trên khoảng cách đối thủ và dự báo chính xác nhu cầu lưu kho.
Hạn chế và hướng nghiên cứu tiếp
Mặc dù đạt được độ chính xác cao, tác giả đã chỉ rõ các hạn chế nội tại của đề tài:
- Hiện tượng phương sai cao (High Variance / Overfitting): Chênh lệch giữa Train RMSE (132,75) và Validation RMSE (820,95) còn lớn, cho thấy mô hình học quá mức trên tập dữ liệu huấn luyện và chưa đạt độ tổng quát hóa tối ưu trên dữ liệu mới.
- Giá trị ngoại lệ tồn đọng: Phân tích biểu đồ Boxplot cho thấy biến
CompetitionDistance chứa tới 83.041 giá trị ngoại lệ (chiếm tỷ lệ phân bổ lớn làm dữ liệu bị nén dồn về phía 0), gây sai lệch phân phối trong lần chạy thực nghiệm đầu tiên.
- Giới hạn thời gian và dữ liệu: Mô hình chỉ học trên dữ liệu quá khứ (2013–2015) của một chuỗi bán lẻ Rossmann duy nhất, chưa tính đến các biến cố vĩ mô mang tính đột biến như đại dịch Covid-19 làm thay đổi hành vi từ mua sắm trực tiếp sang trực tuyến.
Các hướng phát triển được đề xuất giải quyết trong tương lai:
- Áp dụng chuẩn hóa IQR: Sử dụng kỹ thuật Interquartile Range để loại bỏ triệt để 100% các giá trị ngoại lệ ở biến khoảng cách cạnh tranh (giảm số ngoại lệ từ 83.041 về 0), giúp phân phối dữ liệu đồng đều hơn.
- Triển khai K-Fold Cross-Validation: Chia dữ liệu thành 12 phần (folds) để đánh giá; kết quả thử nghiệm cho thấy Train RMSE giảm từ 2750 xuống 881 và Validation RMSE hội tụ ổn định với bộ tham số:
n_estimators=1000, learning_rate=0.01, max_depth=10, subsample=0.9, colsample_bytree=0.7.
- Mô hình kết hợp (Ensemble Learning): Tích hợp XGBoost với LightGBM nhằm tận dụng ưu thế giảm sai số MAPE theo mô hình của Zhang Mei & cộng sự (2018).
- Bổ sung dữ liệu đa chiều: Thu thập thêm dữ liệu không gian địa lý (mật độ dân số xung quanh cửa hàng), dữ liệu ngoại cảnh (thời tiết nắng mưa, bão lũ), phân loại chi tiết mặt hàng tiêu thụ và điều chỉnh kế hoạch nhân sự cho ngày Chủ nhật.
Giá trị tham khảo
Tài liệu là nguồn tư liệu thực nghiệm hữu ích cho sinh viên các ngành Hệ thống thông tin quản lý, Khoa học dữ liệu ứng dụng, Phân tích kinh doanh và Quản trị chuỗi cung ứng. Phần có giá trị tham khảo cao nhất trong công trình là phương pháp luận xử lý các biến chuỗi thời gian dạng bảng (như bóc tách đặc trưng thời gian, xử lý các trường khuyến mãi liên tục Promo2 và điền giá trị khuyết đặc thù cho CompetitionDistance) kết hợp quy trình điều chỉnh siêu tham số trên mô hình XGBRegressor.
Câu hỏi thường gặp
1. Nhóm nghiên cứu đã xử lý các giá trị khuyết thiếu trong dữ liệu Rossmann bằng cách nào?
Nhóm áp dụng 3 quy tắc: Cột CompetitionDistance được điền giá trị bằng 2 lần giá trị lớn nhất hiện có để biểu thị đối thủ ở rất xa; cột CompetitionOpenSinceMonth và CompetitionOpenSinceYear được điền bằng giá trị Mode (giá trị xuất hiện nhiều nhất); các cột Promo2SinceYear, Promo2SinceWeek và PromoInterval được gán giá trị 0 tương ứng với các cửa hàng không chạy khuyến mãi liên tục.
2. Vì sao XGBoost được chọn thay vì mô hình chuỗi thời gian ARIMA hay mạng nơ-ron LSTM?
Mặc dù ARIMA và LSTM xử lý tốt các quan hệ phụ thuộc thời gian, ARIMA lại bị giới hạn bởi giả định chuỗi dừng và kém linh hoạt với dữ liệu phi tuyến, trong khi LSTM đòi hỏi thời gian huấn luyện rất lâu và tốn nhiều tài nguyên tính toán. XGBoost đáp ứng toàn diện cả 4 tiêu chí: xử lý tốt quan hệ phi tuyến, kháng nhiễu mạnh, tốc độ tính toán song song nhanh và cho sai số RMSE/MAE thấp nhất trên tập thực nghiệm.
3. Những biến đặc trưng nào có tác động lớn nhất đến doanh số của Rossmann Store?
Dựa trên chỉ số feature_importances_, 10 đặc trưng có ảnh hưởng mạnh nhất đến mô hình gồm có: Promo (chương trình khuyến mãi), StoreType_b (loại cửa hàng b), DayOfWeek_1 (ngày thứ Hai), Promo2 (khuyến mãi liên tục), CompetitionDistance (khoảng cách cạnh tranh), Assortment_c, Assortment_a, Month, Store và Day.
4. Kết quả sai số của mô hình thay đổi ra sao sau quá trình tinh chỉnh siêu tham số?
Sau khi thiết lập các tham số tối ưu (n_estimators=1000, max_depth=10, learning_rate=0.2, subsample=0.7), chỉ số Train RMSE giảm từ mức ban đầu ~2730,30 xuống còn 132,75 (cải thiện ~95%) và Validation MAE đạt 560,20 (cải thiện ~94% so với trước khi điều chỉnh).
5. Đề tài đề xuất giải pháp kỹ thuật nào để khắc phục hiện tượng ngoại lệ và quá khớp?
Tác giả đề xuất áp dụng kỹ thuật loại bỏ ngoại lệ IQR (đã đưa số lượng ngoại lệ của CompetitionDistance từ 83.041 về 0) kết hợp với kỹ thuật kiểm định chéo K-Fold Cross-Validation qua 12 lần lặp để thu hẹp khoảng cách giữa Train RMSE và Validation RMSE, nâng cao tính tổng quát hóa của mô hình.
Kết luận
Tiểu luận đã xây dựng thành công quy trình ứng dụng thuật toán học máy XGBoost trong bài toán dự báo doanh số bán hàng cho chuỗi bán lẻ Rossmann. Công trình phân tích sâu sắc các mối quan hệ phi tuyến giữa khuyến mãi, thời điểm trong tuần, khoảng cách cạnh tranh với doanh thu, đồng thời đạt được độ chính xác cao sau khi tinh chỉnh siêu tham số. Các giải pháp mở rộng về chuẩn hóa IQR, kiểm định K-Fold và kết hợp mô hình Ensemble với LightGBM tạo tiền đề vững chắc cho việc phát triển các hệ thống dự báo nhu cầu lưu kho tự động trong thực tế.