Đặt hàng theo số bán trung bình thì cứ hai lần nhập lại hết hàng một lần — tính tồn kho an toàn bằng Excel
Cách đặt hàng phổ biến nhất ở cửa hàng và nhà phân phối nhỏ là lấy số bán trung bình mỗi ngày nhân số ngày chờ hàng về. Chúng tôi mô phỏng 200.000 chu kỳ nhập hàng: cách đó hết hàng trong 50% số lần. Bài này đưa công thức tồn kho an toàn làm được bằng sáu ô Excel, chỉ ra vì sao nhà cung cấp giao lệch hai ngày có thể làm lượng dự phòng cần thiết tăng gấp đôi, và những trường hợp công thức không dùng được.
Chủ một cửa hàng vật tư bán trung bình 20 hộp một mã keo dán mỗi ngày. Nhà cung cấp giao sau khoảng một tuần kể từ lúc đặt. Phép tính đặt hàng rất tự nhiên: 20 hộp mỗi ngày nhân 7 ngày là 140 hộp — khi trong kho còn 140 hộp thì gọi đặt thêm.
Cách tính đó nghe chặt chẽ. Và nó hết hàng trong khoảng một nửa số lần nhập.
Không phải vì tính sai số trung bình. Mà vì 140 hộp là con số đủ dùng cho một tuần trung bình — và một nửa số tuần thì bán nhiều hơn trung bình. Bài này chỉ ra cách tính lượng dự phòng cho nửa còn lại, bằng sáu ô Excel, và một yếu tố thường quan trọng hơn cả số bán mà ít người đưa vào phép tính.
Vì sao một nửa
Số bán mỗi ngày không cố định. Có ngày 12 hộp, có ngày 31 hộp, trung bình 20. Trong bảy ngày chờ hàng, tổng số bán cũng dao động quanh 140 — có tuần 120, có tuần 165.
Nếu đặt hàng khi còn đúng 140 hộp, cửa hàng chỉ đủ hàng trong những tuần bán ít hơn hoặc bằng trung bình. Với một đại lượng dao động đều hai phía, đó là khoảng một nửa số tuần.
Để kiểm chứng thay vì chỉ lập luận, chúng tôi mô phỏng 200.000 chu kỳ nhập hàng: số bán mỗi ngày trung bình 20 hộp, độ lệch chuẩn 8 hộp — tức ngày bình thường dao động khoảng từ 12 tới 28 — và thời gian chờ đúng 7 ngày. Đặt hàng khi còn 140 hộp thì 50,2% số chu kỳ hết hàng trước khi hàng mới về.
Trung bình là con số để ước lượng, không phải con số để đặt hàng. Đặt hàng theo trung bình nghĩa là chấp nhận hết hàng trong một nửa số lần — một quyết định mà gần như không chủ cửa hàng nào cố ý chọn.
Tồn kho an toàn: lượng dự phòng cho những tuần bán nhiều
Lời giải là giữ thêm một lượng hàng gọi là tồn kho an toàn — phần dự phòng để đỡ những tuần bán vượt trung bình. Điểm đặt hàng lại khi đó là:
Điểm đặt hàng = số bán TB mỗi ngày × số ngày chờ + tồn kho an toàn
Tồn kho an toàn bao nhiêu thì tuỳ bạn muốn hết hàng thưa đến mức nào. Chỉ tiêu này gọi là mức phục vụ: tỷ lệ chu kỳ nhập hàng không bị hết hàng. Mức phục vụ 95% nghĩa là cứ 20 lần nhập thì chấp nhận khoảng một lần hết hàng trước khi hàng mới về.
Với thời gian chờ cố định, công thức là:
Tồn kho an toàn = z × độ lệch chuẩn số bán mỗi ngày × √(số ngày chờ)
Trong đó z là một hệ số tra từ mức phục vụ — Excel tính sẵn bằng hàm NORM.S.INV. Ví dụ cửa hàng keo dán, kết quả mô phỏng 200.000 chu kỳ cho từng mức:
- 90% — z = 1,28 — tồn kho an toàn 27 hộp, đặt hàng khi còn 167. Mô phỏng: hết hàng 10,0% số chu kỳ.
- 95% — z = 1,64 — tồn kho an toàn 35 hộp, đặt hàng khi còn 175. Mô phỏng: 5,1%.
- 98% — z = 2,05 — tồn kho an toàn 43 hộp, đặt hàng khi còn 183. Mô phỏng: 2,0%.
- 99% — z = 2,33 — tồn kho an toàn 49 hộp, đặt hàng khi còn 189. Mô phỏng: 1,0%.
Kết quả mô phỏng khớp với mức mục tiêu ở cả bốn dòng — dấu hiệu công thức đang làm đúng việc của nó.
Có một điều đáng để ý trong dãy này: đi từ 90% lên 99% làm tồn kho an toàn tăng từ 27 lên 49 hộp, khoảng 80%, để giảm số lần hết hàng từ một trên mười xuống một trên một trăm. Mỗi điểm phần trăm cuối cùng đắt hơn điểm trước. Đó là lý do không nên đặt 99% cho mọi mã hàng — phần sau bài nói cách chọn.
Yếu tố hay bị bỏ quên: nhà cung cấp không giao đúng ngày
Công thức trên giả định hàng về đúng 7 ngày mọi lần. Trên thực tế, nhà cung cấp lúc giao sau 5 ngày, lúc 9 ngày, lúc kẹt xe hoặc thiếu hàng thì 11 ngày.
Chúng tôi chạy lại mô phỏng, lần này cho thời gian chờ dao động quanh 7 ngày với độ lệch chuẩn 2 ngày — mức khá thường gặp với nhà cung cấp trong nước. Giữ nguyên tồn kho an toàn 35 hộp tính cho mức 95%:
- Tỷ lệ hết hàng thực tế: 21,8% — gấp hơn bốn lần mục tiêu 5%.
Nghĩa là bảng tính báo 95%, nhưng cửa hàng hết hàng gần một trên năm lần nhập. Không có gì báo cho chủ cửa hàng biết bảng tính đã sai, vì công thức đúng — chỉ là nó không tính tới yếu tố này.
Công thức đầy đủ đưa thêm độ lệch của thời gian chờ vào:
Tồn kho an toàn = z × √( số ngày chờ TB × (độ lệch số bán)² + (số bán TB)² × (độ lệch số ngày chờ)² )
Với ví dụ keo dán ở mức 95%, kết quả là 74 hộp — gấp hơn hai lần con số 35 hộp trước đó. Mô phỏng lại với 74 hộp: hết hàng 5,7%, sát mục tiêu.
Nhìn vào hai thành phần dưới dấu căn sẽ thấy vì sao. Phần do số bán dao động là 7 × 8² = 448. Phần do ngày giao dao động là 20² × 2² = 1.600 — lớn gấp gần bốn lần. Ở cửa hàng này, nhà cung cấp giao lệch ngày mới là nguồn rủi ro chính, không phải khách hàng mua thất thường.
Và đây là chỗ mở ra một hướng xử lý mà tăng tồn kho không làm được. Cùng mức phục vụ 95%:
- Ngày giao lệch 2 ngày: cần 74 hộp dự phòng.
- Ngày giao lệch 1 ngày: cần 48 hộp.
- Ngày giao đúng hẹn tuyệt đối: cần 35 hộp.
Làm việc với nhà cung cấp để ngày giao đều hơn — hoặc chọn nhà cung cấp giao đều hơn dù chậm hơn một chút — có thể cắt một phần ba lượng hàng dự phòng mà không đổi mức phục vụ. Đó là vốn lưu động được giải phóng mà không cần bán thêm một hộp nào.
Làm bằng Excel: sáu ô
Toàn bộ phép tính làm được trên một trang tính, với hàm có sẵn. Tuỳ cài đặt ngôn ngữ của máy, dấu phân cách trong hàm có thể là dấu phẩy hoặc dấu chấm phẩy.
Chuẩn bị dữ liệu. Từ phần mềm bán hàng, xuất số lượng bán theo từng ngày của mã hàng cần tính trong 90 ngày gần nhất — gồm cả những ngày bán bằng không, giả sử vào cột B. Từ sổ nhập hàng, ghi ngày đặt và ngày nhận của 10 tới 20 lần nhập gần nhất, rồi lấy hiệu để ra số ngày chờ mỗi lần, giả sử vào cột E.
Sáu ô:
- Số bán TB mỗi ngày:
=AVERAGE(B2:B91) - Độ lệch số bán:
=STDEV.S(B2:B91) - Số ngày chờ TB:
=AVERAGE(E2:E21) - Độ lệch số ngày chờ:
=STDEV.S(E2:E21) - Hệ số z cho mức 95%:
=NORM.S.INV(0,95) - Tồn kho an toàn:
=z*SQRT(L*sd^2 + d^2*sL^2)— thayz,L,sd,d,sLbằng địa chỉ năm ô trên.
Điểm đặt hàng lại là số bán TB nhân số ngày chờ TB, cộng tồn kho an toàn. Khi số tồn trong phần mềm chạm con số này thì đặt hàng.
Bẫy trong dữ liệu: ngày hết hàng ghi số bán bằng không
Có một lỗi dữ liệu làm công thức tự đánh giá thấp mình, và nó xảy ra đúng ở những cửa hàng đang hết hàng nhiều.
Ngày kho trống, phần mềm ghi số bán bằng không. Nhưng không phải vì không ai muốn mua — mà vì không có gì để bán. Đưa những ngày đó vào cột số bán, số trung bình sẽ thấp hơn nhu cầu thật. Ví dụ, nếu 10% số ngày hết hàng, con số trung bình ghi nhận chỉ còn khoảng 18 thay vì 20. Tính tồn kho từ số 18, cửa hàng đặt ít hơn, hết hàng nhiều hơn, rồi số liệu kỳ sau lại thấp hơn nữa — một vòng lặp tự đẩy mình xuống.
Cách xử lý đơn giản: đánh dấu những ngày hết hàng và bỏ ra khỏi cột số bán trước khi tính trung bình và độ lệch. Nếu phần mềm không lưu được số tồn theo ngày, ít nhất hãy ghi tay những ngày khách hỏi mà không có hàng — đó là dữ liệu đáng giá nhất mà hầu như không hệ thống nào tự lưu.
Đây cũng là ví dụ cụ thể cho một nguyên tắc chúng tôi đã viết trong bài về số hoá dữ liệu thành một nguồn tin được: một con số được ghi chính xác vẫn có thể đo sai thứ bạn muốn đo.
Chọn mức phục vụ theo nhóm hàng
Vì mỗi điểm phần trăm cuối cùng đắt dần, mức phục vụ nên khác nhau theo nhóm hàng. Một cách chia đơn giản:
- Nhóm hàng chiếm phần lớn doanh thu, hoặc hết hàng thì khách sang chỗ khác luôn: 97% tới 98%.
- Nhóm hàng bán đều nhưng khách chịu chờ, hoặc có sản phẩm thay thế trên kệ: 90% tới 95%.
- Nhóm hàng bán chậm, giá trị cao: cân nhắc đặt theo đơn thay vì giữ tồn.
Để biết lượng vốn đang nằm trong phần dự phòng, nhân tồn kho an toàn với giá vốn mỗi đơn vị. Với ví dụ keo dán ở giá vốn giả định 200.000 đồng mỗi hộp: 35 hộp là 7 triệu đồng, 74 hộp là 14,8 triệu đồng — cho cùng một mức phục vụ 95%, chênh lệch hoàn toàn do nhà cung cấp giao không đều.
Khi nào công thức không dùng được
Công thức này dựa trên vài giả định, và nên biết rõ khi nào chúng không đúng:
- Nhu cầu đổi theo mùa. Tháng trước Tết, mùa tựu trường, mùa mưa với hàng chống thấm — số bán của 90 ngày trước không đại diện cho 30 ngày tới. Với những giai đoạn này, tính riêng từ dữ liệu cùng kỳ năm trước, đừng dùng trung bình gần nhất.
- Hàng bán rất chậm. Mã hàng bán một hai cái mỗi tuần thì số bán theo ngày phần lớn là số không, và công thức dựa trên phân phối chuẩn cho kết quả kém tin cậy. Với nhóm này, tính theo tuần hoặc đặt theo đơn.
- Hàng mới chưa có lịch sử. Lấy số của mã hàng tương tự làm điểm xuất phát, rồi tính lại sau một tháng có dữ liệu thật.
- Khuyến mãi. Những ngày chạy khuyến mãi làm số bán vọt lên rồi tụt xuống. Bỏ chúng ra khỏi dữ liệu tính toán, và lập kế hoạch hàng cho đợt khuyến mãi riêng.
Và một điểm về cách hiểu con số: mức phục vụ 95% ở đây là tỷ lệ chu kỳ không bị hết hàng, không phải tỷ lệ đơn hàng được đáp ứng. Một chu kỳ hết hàng thường chỉ thiếu vài giờ hoặc một hai ngày cuối, nên tỷ lệ khách được phục vụ thực tế cao hơn con số này.
Kết
Đặt hàng theo số bán trung bình là cách làm trực giác nhất, và vì thế phổ biến nhất. Nó cũng là cách chấp nhận hết hàng một nửa số lần mà không ai quyết định điều đó.
Sáu ô Excel đủ để đổi trực giác đó thành một con số có mức phục vụ rõ ràng. Hai việc làm cho con số đó đáng tin: bỏ những ngày hết hàng ra khỏi dữ liệu, và đo thời gian giao thật của nhà cung cấp thay vì dùng con số họ hứa. Việc thứ hai thường cho thấy rủi ro lớn nhất không nằm ở khách hàng, mà ở chuyến hàng về trễ.
Và khi đã có con số, nó chỉ có giá trị nếu ai đó nhìn vào nó đúng lúc — điều mà chúng tôi đã viết trong bài về bảng điều khiển đã bàn giao nhưng không ai mở. Một cảnh báo tự động khi tồn kho chạm điểm đặt hàng thường hữu ích hơn một bảng báo cáo đẹp.
Nếu bạn muốn có người dựng phần tính tồn kho an toàn trên chính dữ liệu bán hàng của bạn, hoặc nối nó vào cảnh báo đặt hàng tự động, liên hệ với chúng tôi hoặc xem năng lực Data Analytics của KonexForge.
Bài viết liên quan
Điểm benchmark không phải điểm của bạn: tự dựng bộ đánh giá để chọn mô hình AI — và cần bao nhiêu câu hỏi
Mỗi tuần lại có một mô hình AI mới tuyên bố đứng đầu một bảng điểm nào đó. Nhưng bảng điểm đo việc của người khác, và hai bảng lớn nhất hiện nay còn không đồng ý với nhau. Cách duy nhất để biết mô hình nào tốt cho việc của bạn là tự đo. Bài này chỉ cách dựng một bộ đánh giá từ dữ liệu thật, và trả lời bằng mô phỏng một câu hỏi ít ai tính: với hai mô hình chênh nhau 6 điểm phần trăm, 30 câu hỏi chỉ chọn đúng mô hình tốt hơn khoảng 72% số lần — cần khoảng 200 câu để gần như chắc chắn.
Dashboard đã bàn giao nhưng không ai mở: vấn đề không nằm ở công cụ
Doanh nghiệp bỏ tiền làm một màn hình báo cáo, bàn giao suôn sẻ, ba tháng sau không còn ai mở. Phản xạ đầu tiên là đổ cho phần mềm hoặc đổ cho nhân viên chưa quen dùng số liệu. Có một con số cho thấy cả hai cách giải thích đều trượt: trong cùng một công ty, ban giám đốc dùng khoảng 80% còn nhân viên khoảng 26% — cùng phần mềm, cùng dữ liệu, cùng màn hình.
Luật Bảo vệ dữ liệu cá nhân: phần pháp lý đọc trong một buổi, phần kỹ thuật mất nhiều tháng
Luật số 91/2025/QH15 có hiệu lực từ 1/1/2026 cùng Nghị định 356/2025/NĐ-CP. Đọc hết cả hai mất một buổi chiều, nhưng nghĩa vụ thật quy về ba câu hỏi kiến trúc — và phần lớn doanh nghiệp đang vận hành không trả lời được câu đầu tiên: bạn đang giữ dữ liệu cá nhân nào, ở những đâu?