
Những năm đầu làm thương mại điện tử, có một câu mà dân trong nghề truyền tai nhau: “Customers behavior is unpredictable” — hành vi khách hàng không đoán trước được.
Câu đó đúng. Có những mã nằm im nhiều tháng rồi bán sạch chỉ trong một vài phiên live.
Nhưng kết luận mà nhiều người rút ra từ nó thì sai: “vậy thì cứ nhập thật nhiều cho chắc”.
Không đoán được không có nghĩa là phải nhập nhiều
Nhập dư và nhập thiếu đều tốn tiền, chỉ là tốn theo hai cách khác nhau.
Nhập thiếu thì huỷ đơn, và một lần huỷ đơn vì hết hàng đắt hơn nhiều lần giá trị món hàng — nó kéo theo chỉ số vận hành, hiển thị và điểm phạt trên sàn.
Nhập dư thì vốn đọng, chiếm chỗ, và một phần sẽ thành hàng tồn chậm luân chuyển — loại chi phí không hiện trong báo cáo nào cho tới lúc thanh lý.
Tồn kho an toàn là cách trả lời câu hỏi “bao nhiêu là đủ” bằng một con số tính được, thay vì bằng cảm giác của người đặt hàng hôm đó.
Nhu cầu có hai tầng, và chỉ một tầng tính được bằng công thức

Đây là phần em cho là quan trọng nhất, và cũng là chỗ hầu hết công thức tồn kho an toàn bị áp dụng sai ở Việt Nam.
Nhu cầu của một mã hàng trên sàn không phải một đường. Nó là hai thứ chồng lên nhau:
- Nền — đơn lẻ hàng ngày. Dao động, nhưng dao động quanh một mức. Đây là phần ngẫu nhiên.
- Đỉnh — phiên live, campaign, ngày đôi, Tết. Đây là phần có lịch.
Hai thứ này phải được xử lý bằng hai cách hoàn toàn khác nhau:
Tồn kho an toàn chỉ để đỡ phần nhiễu của nền. Đỉnh thì đỡ bằng kế hoạch — biết trước ngày live thì chuẩn bị hàng cho ngày đó, không trông chờ vào tồn kho an toàn.
Vì sao phải tách? Nhìn biểu đồ trên. Chỉ hai ngày đỉnh trong bốn mươi lăm ngày đã kéo độ lệch chuẩn từ 4 lên 29. Mà tồn kho an toàn tỷ lệ thuận với độ lệch chuẩn — tức là nếu để nguyên hai ngày đó trong dữ liệu, kho phải giữ lượng dự trữ gấp bảy lần, suốt cả năm, chỉ để đỡ cho hai ngày.
Cách làm đúng gồm ba bước:
- Đánh dấu ngày sự kiện trong dữ liệu bán — live, campaign, ngày đôi, ngày chạy quảng cáo mạnh.
- Loại chúng ra khi tính nhu cầu trung bình và độ lệch chuẩn.
- Lên kế hoạch riêng cho từng sự kiện, dựa trên kết quả của sự kiện tương tự lần trước chứ không dựa trên công thức.
Công thức
Sau khi đã có dữ liệu nền sạch, tồn kho an toàn tính như sau:
Trong đó LT là lead time trung bình tính bằng ngày, D là nhu cầu trung bình mỗi ngày, σ là độ lệch chuẩn, và Z là hệ số ứng với mức phục vụ mà anh chọn.
Công thức này gộp hai nguồn bất định: bán nhiều hay ít hơn dự tính, và hàng về sớm hay muộn hơn dự tính. Bỏ vế thứ hai là lỗi phổ biến nhất, và phần sau sẽ cho thấy vì sao nó đắt.
Chọn mức phục vụ
| Mức phục vụ | Hệ số Z | Nghĩa là |
|---|---|---|
| 90% | 1,28 | Trung bình cứ 10 chu kỳ nhập thì có 1 lần hết hàng trước khi lô mới về |
| 95% | 1,65 | 1 lần trong 20 chu kỳ |
| 97,5% | 1,96 | 1 lần trong 40 chu kỳ |
| 99% | 2,33 | 1 lần trong 100 chu kỳ |
Một lưu ý kỹ thuật hay bị nhầm: con số này là xác suất không hết hàng trong một chu kỳ nhập, không phải tỷ lệ đơn được phục vụ. Hai thứ khác nhau, và tỷ lệ đơn được phục vụ luôn cao hơn.
Bản rút gọn khi chưa có dữ liệu
Kho mới, chưa đủ số liệu để tính độ lệch chuẩn thì dùng bản thực dụng này — chỉ cần Excel và năm phút:
(bán ngày cao nhất × lead time dài nhất)
− (bán ngày trung bình × lead time trung bình)
Nó cho ra con số cao hơn bản đầy đủ, tức là tốn hơn. Nhưng nó an toàn và chạy được ngay, rồi thay bằng bản đầy đủ khi đã có ba tháng dữ liệu.
Một ví dụ chạy thật
| Thông số | Giá trị | Lấy ở đâu |
|---|---|---|
| Nhu cầu trung bình mỗi ngày | 12 cái | 90 ngày gần nhất, đã loại ngày live và ngày đôi |
| Độ lệch chuẩn nhu cầu ngày | 5 cái | Tính trên cùng tập dữ liệu đó |
| Lead time trung bình | 14 ngày | 5 lô nhập gần nhất, tính từ lúc đặt tới lúc hàng lên kệ |
| Độ lệch chuẩn lead time | 4 ngày | Cũng từ 5 lô đó |
| Mức phục vụ chọn | 95% · Z = 1,65 | Mã nhóm A, có chạy quảng cáo |
| Tồn kho an toàn | 85 cái | Kết quả của công thức |
| Điểm đặt hàng lại | 253 cái | 12 × 14 + 85 |
Thay số vào công thức:
= 1,65 × √( 350 + 2.304 )
= 1,65 × 51,5 = 85 cái
Bây giờ hãy nhìn vào hai con số trong dấu căn: 350 đến từ nhu cầu dao động, 2.304 đến từ lead time dao động.
Nghĩa là 87% lượng dự trữ này đang dùng để đỡ cho việc nhà cung cấp giao hàng không đều, chứ không phải để đỡ cho khách mua thất thường.
Rút ngắn lead time rẻ hơn tăng tồn kho
Đây là hệ quả trực tiếp, và nó đổi hẳn việc cần làm.
Giả sử nhà cung cấp vẫn giao trung bình 14 ngày, nhưng giao đều hơn — độ lệch chuẩn lead time từ 4 ngày xuống còn 1 ngày. Tính lại:
Từ 85 xuống 37. Giảm 57% lượng hàng phải giữ, mà không tốn thêm một đồng nào cho kho.
Cho nên khi làm việc với nhà cung cấp, thứ đáng đàm phán nhất không phải là giao nhanh hơn mà là giao đúng hẹn hơn. Một nhà cung cấp giao đều 20 ngày tốt hơn hẳn một nhà cung cấp lúc 7 ngày lúc 21 ngày.
Và muốn biết độ lệch chuẩn lead time của mình là bao nhiêu thì phải ghi lại ngày đặt và ngày hàng lên kệ của từng lô. Không ghi thì không tính được, và không tính được thì cứ phải giữ hàng theo trường hợp xấu nhất.
Cảnh báo phải bật ở điểm đặt hàng lại

Tồn kho an toàn không phải ngưỡng để đặt hàng. Nó là phần dự trữ nằm dưới cùng, chỉ được chạm tới khi có chuyện bất thường.
Ngưỡng để đặt hàng là điểm đặt hàng lại:
= 12 × 14 + 85 = 253 cái
Lỗi hay gặp là đặt cảnh báo ở mức tồn kho an toàn. Làm vậy thì cảnh báo muộn đúng một lead time — lúc nhận được thông báo mới bắt đầu đặt hàng, và trong hai tuần chờ hàng về thì kho đã bán hết cả phần dự trữ.
Cảnh báo đúng nghe có vẻ sớm quá — còn 253 cái trong kho mà đã báo nhập. Nhưng 168 trong số đó đã được “đặt gạch” cho quãng chờ hàng rồi. Chỉ 85 cái còn lại mới thật sự là dự trữ.
Không phải mã nào cũng cần 99%
Tồn kho an toàn tăng không tuyến tính theo mức phục vụ. Từ 95% lên 99% cần thêm 41% lượng dự trữ. Từ 99% lên 99,9% cần thêm 33% nữa. Càng lên cao càng dốc.
Nên phân tầng thay vì đặt một mức chung cho cả kho:
- Mã chủ lực — đang chạy quảng cáo, có lịch live, nằm trong top doanh thu: 97% đến 99%.
- Mã thường: 95%.
- Mã đuôi dài — bán lác đác vài cái một tháng: 90%, hoặc không giữ tồn kho an toàn gì cả và chấp nhận đặt hàng theo đơn.
Cách phân nhóm nên theo số lần chạm và doanh thu, không phải theo cảm nhận về mã nào “quan trọng”.
Đặt lại mỗi tháng
Nhu cầu trung bình đổi, lead time đổi, mùa vụ đổi. Một con số tồn kho an toàn tính hồi tháng Ba mà vẫn dùng tới tháng Mười thì đang mô tả một cửa hàng không còn tồn tại.
Mỗi tháng tính lại một lần, và mỗi lần chỉ cần ba việc: cập nhật nhu cầu trung bình, cập nhật lead time của các lô vừa nhập, và đánh dấu lại những ngày sự kiện của tháng vừa qua để chúng không lọt vào dữ liệu nền.
Phép thử ba mươi giây
Chọn một mã bất kỳ và hỏi người phụ trách hàng: mã này đặt lại khi còn bao nhiêu cái?
Nếu có một con số cụ thể, và người đó nói được con số ấy từ đâu ra, thì kho đang chạy bằng điểm đặt hàng lại.
Nếu câu trả lời là “khi nào thấy sắp hết thì đặt”, thì việc quyết định lượng tồn kho đang nằm ở cảm giác của một người — và cảm giác thì luôn sai về một phía, thường là phía nhập dư cho mã quen và nhập thiếu cho mã mới.
Kết
Hành vi khách hàng đúng là không đoán trước được. Nhưng mức độ không đoán trước được thì đo được — nó chính là độ lệch chuẩn, và đó là toàn bộ nội dung của tồn kho an toàn.
Ba điều đáng nhớ nếu bỏ qua phần còn lại:
- Tách ngày sự kiện ra khỏi dữ liệu trước khi tính, nếu không sẽ trả tiền lưu kho cả năm cho vài ngày đỉnh.
- Phần lớn lượng dự trữ thường là để đỡ cho lead time không đều, chứ không phải cho khách thất thường. Sửa chỗ đó rẻ hơn nhiều.
- Cảnh báo đặt ở điểm đặt hàng lại, không đặt ở mức an toàn.
Nhận tư vấn miễn phí
