Dự báo hàng tồn kho• Tập trung vào dự báo nhu cầu demand forecast • Dự báo định lượng, định tính • Dự báo định lượng là bài toán dự báo time series • Các dạng time series: Ngang, xu hướn
Trang 3Nội dung
1 Tìm hiểu các kiến thức về quản lý hàng tồn kho
2 Tìm hiểu các kiến thức về dự báo hàng tồn kho
3 Tìm hiểu các kiến thức về hàng tồn kho trong bán lẻ đồ điện tử
4 Tìm hiểu hồi quy tuyến tính, SARIMA, RNN LSTM
5 Khảo sát 3 mô hình dự báo dùng dữ liệu thực nghiệm có sẵn trên Kaggle
6 Phân tích một bộ dữ liệu hàng tồn kho thực nghiệm
7 Xây dựng mô hình dự báo HQTT, trung bình trượt ARIMA, deep learning
RNN LSTM và đánh giá chúng
Trang 4Quản lý hàng tồn kho
• Định nghĩa về hàng tồn kho và SKU
• Ý nghĩa: Chi phí giữ hàng và mua hàng
• Nghiệp vụ bổ sung hàng và hoạch định nhu cầu
• Reorder Point = Lượng an toàn + (Lượng dùng tháng x Thời gian bổ sung)
• Economic Order Quantity:
Trang 5
Quản lý hàng tồn kho
Các dữ liệu trong quản lý hàng tồn kho:
• Lịch sử nhu cầu (Chuỗi thời gian)
• Nhu cầu hiện tại
• Nhu cầu trả hàng
• Nhu cầu đặt trước
• Lịch sử thời gian bổ sung
• Các dữ liệu kinh tế vĩ mô
Trang 6Dự báo hàng tồn kho
• Tập trung vào dự báo nhu cầu (demand forecast)
• Dự báo định lượng, định tính
• Dự báo định lượng là bài toán dự báo time series
• Các dạng time series: Ngang, xu hướng, mùa vụ, chu kỳ
• Kỹ thuật phân tích: Phân rã STL, hàm tự tương quan ACF
• Các mô hình toán học đã được dùng vào dự báo nhu cầu: Hồi quy tuyến tính, trung bình trượt, làm mịn lũy thừa, hồi quy động, học máy, học sâu (RNN, LSTM).
Trang 7Dự báo hàng tồn kho
• Đánh giá mô hình dự báo bằng các độ đo Cov, MAE, MSE, RMSE,
RMSLE
• Kiểm chứng chéo (cross-validation) cho time series.
• Dự báo nhu cầu cho nhiều SKU: Top-down, bottom-up
• Dự báo tổng nhu cầu của các nhóm SKU: Top-down, bottom-up theo product, product family, product line, product group, product mix, cửa hang, vùng địa lý,…
Trang 8Hàng tồn kho trong bán lẻ điện tử
• Hàng điện tử rất đa dạng về mẫu mã, có vòng đời ngắn, thông số
và thương hiệu ảnh hưởng mạnh đến quyết định mua Một sản
phẩm mới ra mắt có nhu cầu rất cao rồi giảm dần.
• Nhu cầu 1-3 tháng trước có ảnh hưởng đáng kể đến tháng hiện tại.
• Lịch sử nhu cầu thường ngắn.
• Các thông tin về thương hiệu, thông số, ngày ra mắt có ích cho việc
dự báo
Trang 9Một số mô hình dự báo
Hồi quy tuyến tính
y = w0 + w1 x1 + w2 x2 + + wn xn
Tự hồi quy tích hợp trung bình
trượt mùa vụ (SARIMA)
( 1− 𝜙 1 𝐵 ) ( 1− 𝜙 1 𝐵 𝑠 ) ( 1− 𝐵 ) ( 1− 𝐵 𝑠 ) 𝑦 𝑡 = ( 1+ 𝜃 1 𝐵 ) ( 1+ 𝛩 1 𝐵 𝑠 ) 𝜀 𝑡
Trang 10
Học sâu
Mạng nơ-ron hồi quy Bộ nhớ dài-ngắn hạn
Trang 11Khảo sát một số mô hình dự báo trên Kaggle
• Vấn đề: Dự báo nhu cầu hàng tồn kho bánh dùng gradient boosting
• Bộ dữ liệu: Lịch sử bán hàng, danh mục khách hàng, sản phẩm LSBH có 11 cột và
74,180,464 điểm dữ liệu (doanh số tuần)
• Mô hình: LGBMRegressor của framework LightGBM với tốc độ học (learning_rate)
0.01, số cây (n_estimators) 3000 và số lá tối đa (num_leaves) 5
• Đánh giá: RMSLE 0.58584 với k-cross validation và k = 3 => Rất tốt
• Nhận xét: Mô hình có độ chính xác cao hơn các mô hình máy học truyền thống
khác và có tích hợp lượng hàng trả về vào dự báo nhu cầu Tuy nhiên, khó có thể
thông hiểu ý nghĩa và bản chất của mô hình Điều này có thể dẫn đến các vấn đề khi sử dụng trong môi trường doanh nghiệp đòi hỏi làm rõ bản chất của mô hình Mô hình cũng không tính lượng hàng đang vận chuyển hay xuất kho vào nhu cầu do
không có dữ liệu
Trang 12Khảo sát một số mô hình dự báo trên Kaggle
• Vấn đề: Dự báo nhu cầu hàng tồn kho thiết bị cắm trại dùng LSTM
• Bộ dữ liệu: Lịch sử bán hàng với 1947 cột (doanh thu ngày) và 30,464 điểm dữ liệu
(sản phẩm)
• Mô hình: Residual LTSM của framework PyTorch với tốc độ học (learning_rate) 1e-4,
số nơ-ron đầu vào (input_size) 1, số nơ-ron ẩn (hidden_size) 64, số lớp (num_layers) 3
• Đánh giá: MSE 0.05552 => Khá tốt
• Nhận xét: Mô hình dự báo khá tốt Mô hình nắm bắt được sự phụ thuộc lâu dài và
xử lý tốt dữ liệu tuần tự Tuy nhiên, nhược điểm của mô hình là việc đào tạo mô hình
có thể tốn nhiều thời gian, tài nguyên tính toán và yêu cầu lượng lớn dữ liệu huấn luyện Ngoài ra còn có nhược điểm không tính lượng hàng đang vận chuyển, xuất kho, bị trả về do không có dữ liệu
Trang 13Khảo sát một số mô hình dự báo trên Kaggle
• Vấn đề: Dự báo tổng nhu cầu hàng tồn kho thiết bị cắm trại của các cửa hàng
dùng SARIMA (Bộ dữ liệu như trước)
• Mô hình: SARIMA của framework Statsmodel với bậc q (tự hồi quy) 2, bậc d (sai
khác) 1, bậc r (trung bình trượt) 2
• Đánh giá: MAE 551.55 => Khá tốt
• Nhận xét: Mô hình dự báo khá tốt Mô hình có hiệu quả tốt trong việc nắm bắt
các mẫu mùa vụ và xử lý được các dữ liệu không có tính dừng Tuy nhiên, nhược điểm của mô hình là sự phức tạp trong việc xác định các tham số cho mô hình và cần lượng lớn dữ liệu lịch sử để có thể xây dựng mô hình Ngoài ra còn có nhược điểm không tính lượng hàng đang vận chuyển, xuất kho, bị trả về do không có dữ liệu
Trang 14Xây dựng mô hình
• Bộ dữ liệu: Dùng bộ dữ liệu thương mại điện tử của công ty OList ở Brazil để xây
các mô hình OList là công ty e-commerce kinh doanh nhiều mặt hàng với nhiều kho đặt tại nhiều thành phố
Trang 15Xây dựng mô hình
Tiền xử lý dữ liệu:
Ta được bộ dữ liệu các chuỗi thời gian nhu cầu của 20 SKU có nhu cầu cao nhất Mỗi SKU được xác định bởi mã sản phẩm (product_id) và thành phố (city) Mỗi SKU có một chuỗi thời gian bắt đầu từ 2016-10-01 và kết thúc ở 2018-08-01 Tần số chuỗi thời gian là tháng nên mỗi SKU có 23 điểm thời gian Tổng cộng ta có 1564 điểm dữ liệu và 4 đặc trưng:
• Mã sản phẩm (product_id)
• Thành phố (city)
• Thời điểm (time)
• Lượng nhu cầu (demand)
Nhu cầu của một SKU trong một tháng là số lần nó được đặt trong tất cả các đơn hàng
trong tháng đó.
Trang 16Xây dựng mô hình
Tiền xử lý dữ liệu: Chia bộ dữ liệu thành tập huấn luyện và tập kiểm tra như sau:
• Tập huấn luyện: Các điểm dữ liệu với thời điểm từ 2016-10-01 đến 2018-05-01
• Tập kiểm tra: Các điểm dữ liệu với thời điểm từ 2018-06-01 đến 2018-08-01
Trang 17Xây dựng mô hình
Phân tích dữ liệu
• Nhu cầu của 4 SKU
Trang 18Xây dựng mô hình
Phân tích dữ liệu
• Phân rã STL một SKU
• Thành phần mùa vụ không tồn tại và
thành phần xu hướng chiếm ưu thế
tuyệt đối
• Xu hướng có sự tăng manh rồi giảm
dần tại tháng 1 năm 2018
• Thành phần còn lại (resid) khá thấp
Trang 19Xây dựng mô hình
Phân tích dữ liệu
• Độ thị ACF tự tương quan của một
SKU
• Các lag càng gần càng tương quan
mạnh và không có lag nào cách đều
• Điều này xác nhận thêm ưu thế tuyệt
đối của xu hướng và sự không tồn tại
của mùa
Trang 20Xây dựng mô hình
Học sâu
• Xây dựng mô hình học sâu mạng
nơ-ron hồi quy (RNN) với bộ nhớ
dài-ngắn hạn (LSTM) dùng module Keras
của thư viện Tensorflow
• Mô hình sẽ dự báo lượng nhu cầu cho
3 tháng tương lai dựa vào 3 tháng
quá khứ
• Bộ dữ liệu được chia thành các cửa sổ
với 3 điểm dữ liệu quá khứ và 3 điểm
dữ liệu tương lai trước khi đưa vào
mô hình
Trang 21Xây dựng mô hình
Hồi quy tuyến tính
• Dùng lớp LinearRegressor của thư
viện scikit-learn
• Mã sản phẩm (product_id) và thành
phố (city) được mã hóa one-hot
• Thời gian (time) được chuyển từ dạng
yyyy-mm-dd sang dạng ordinal (số
ngày tính từ ngày 1 tháng 1 năm 1)
Trang 22Xây dựng mô hình
Hồi quy tuyến tính
• Dùng lớp ARIMA của thư viện
statsmodel
• Mỗi SKU có một mô hình riêng
• ARIMA được dùng thay vì SARIMA vì
dữ liệu không có tính mùa
• Tham số mô hình: (p, d, q) = (1, 0, 1)
Trang 23Xây dựng mô hình
Đánh giá và so sánh
• Các giá trị dự báo từ các mô hình trên
được làm tròn thành số nguyên và
các giá trị âm được chuyển thành 0
• Dùng các mô hình dự báo các nhu
cầu cho 3 tháng tương lai kể từ thời
điểm huấn luyện cuối cùng (từ
Trang 24Xây dựng mô hình
Đánh giá và so sánh
• Dùng phương pháp bottom-up để dự
báo tổng nhu cầu cho các sản phẩm
từ các dự báo nhu cầu theo SKU
Trang 25Xây dựng mô hình
Đánh giá và so sánh
• Dùng phương pháp bottom-up để dự
báo tổng nhu cầu cho các vùng địa lý
thành phố từ các dự báo nhu cầu
Trang 26Xây dựng mô hình
Đánh giá và so sánh
• Ta thấy các mô hình tạm ổn nhưng vẫn còn nhiều sai sót
• Phần lớn các SKU không có đủ lịch sử nhu cầu để các mô hình nắm bắt được đủ thông tin Ngoài ra, còn có các yếu tố bên ngoài như thông tin về các chương trình khuyến mãi, các chỉ số kinh tế, thương hiệu, thông số sản phẩm,… chưa được đưa vào các mô hình
• Các siêu tham số của các mô hình chưa được tối ưu hóa.
• Mô hình ARIMA cho các dự báo gần giá trị thật nhất trong khi hồi quy tuyến tính và học sâu cho các dự báo sai lệch hơn
• Độ chính xác thấp hơn của mô hình hồi quy tuyến tính là do các lượng nhu cầu hiếm khi thay đổi tuyến tính
Trang 27Kết luận
Kết quả đạt được
• Tìm hiểu tổng quan lĩnh vực quản lý hàng tồn kho về mặt hoạch định nhu cầu.
• Tìm hiểu tổng quan các kỹ thuật và mô hình dự báo hàng tồn kho.
• Tìm hiểu các đặc thù của hàng tồn kho và công việc dự báo hàng tồn kho trong lĩnh vực bán lẻ hàng điện tử.
• Khảo sát và đánh giá một số mô hình dự báo hàng tồn kho có sẵn.
• Thu thập và phân tích một bộ dữ liệu hàng tồn kho của một doanh nghiệp bán lẻ hàng điện tử.
• Xây dựng mô hình học sâu dùng LSTM, mô hình ARIMA và mô hình hồi quy tuyến tính để
dự báo hàng tồn kho (theo SKU, sản phẩm, vùng địa lý thành phố) của một doanh nghiệp bán lẻ hàng điện tử.
• Đánh giá, so sánh và nhận xét các mô hình vừa xây.
Trang 28Kết luận
Hướng phát triển
• Cần thu thập thêm nhiều dữ liệu để cải thiện độ chính xác
• Tối ưu hóa các siêu tham số của các mô hình để cải thiện độ chính xác
• Khám phá các mô hình học máy khác
• Dự báo nhu cầu của các SKU mới dùng nhu cầu các SKU đời cũ tương tự
• Tích hợp các dữ liệu về hàng trả và khuyến mãi vào mô hình
• Tích hợp các chỉ số kinh tế như lạm phát, tăng trưởng GDP, giá dầu vào mô hình
Trang 29Thank you Hà Phi Hùng (20520526) Lê Quang Trung (20520333)