Thursday, September 22, 2022

Công thức tính safety stock áp dụng cho ngành hóa chất

Công thức tính mức safety stock (SS) là lead time (LT) nhân với mức tiêu thụ trung bình average consumption (CA)

SS = LT x CA

Ví dụ, một chất tạo đặc có lead time là 2 tháng, và mức tiêu thụ trung bình hàng tháng là 300kg, thì safety stock tối thiểu là 600kg. 

Tuy nhiên thì LT có thể thay đổi nhà nhà cung cấp thiếu hàng (shortage), thiếu nguyên liệu sản xuất, phân bổ cho thị trường giảm, hoặc việc thông quan hàng hóa chậm. Do vậy bạn có thể nhân SS gấp lên 1.2 hoặc 1.5 lần tùy thuộc vào loại nguyên liệu, và cũng căn cứ vào số lượng tiêu thụ tối đa của nguyên liệu trong năm đó. Thêm một yếu tố nữa là một số sản phẩm mang tính chất mùa vụ, tức là sản phẩm chỉ dùng cho mùa hè giả sử bắt đầu tháng 5, nếu lead làm là 3 tháng thì cần đặt hàng từ tháng 2. 

Sau khi đã có safety stock cho từng tháng, thì bạn chỉ cần thêm một cột cảnh bảo, cột này lấy cột safety stock trừ đi cột stock (tồn kho) 

(safety stock - tồn kho), sản phẩm nào có giá trị âm thì (trong thời điểm hiện tại + LT tháng) tới có thể sẽ thiếu hàng. 

Ví dụ cho chất tạo đặc, tháng 6 chỉ còn có 400kg, như vậy thời điểm tháng 8 có thể sẽ không đủ hàng bán. safety stock - tồn kho dùng để căn cứ cho thời gian đặt hàng, việc này có thể kiểm soát hàng tuần. Như vậy sẽ đặt thêm bao nhiêu thì bạn có thể căn cứ vào lượng tiêu thụ hàng năm, 300kg x 12 = 3,600 kg, trong năm dự kiến sẽ cần thêm khoảng 1,800kg nữa (nếu đầu tháng 7 có thêm 600kg về thêm thì sẽ tính toán thế nào) Từ đó đặt ra câu hỏi, tính safety stock ở thời điểm hiện tại hay tính trước vài tháng. 

Nếu sử dụng Python, thì bạn thêm cột stock của sản phẩm xuất ra từ hệ thống bán hàng, sao đó thêm cột này vào file planning - file này sẽ chứa cột sản phẩm, cột safety stock và cột warning - cột cảnh bảo, cùng cột lượng tiêu thụ dự kiến trong năm của từng sản phẩm. 

import pandas as pd
import numpy as np

# Đọc file planning, tạo df

planning22 = pd.read_csv('planning.csv')

# Đọc file stock_22 là file tồn kho các sản phẩm, tạo df

stock = pd.read_csv('stock_22.csv')

# nhập 2 file này với nhau, có chung cột Products

planning_order = pd.merge(planning22, stock, how='left', left_on='Products')

# Tiếp đến bạn tạo một cột Warning boolean, true tức là một số sản phẩm vẫn đang ok, false thì là cảnh báo cần đặt thêm hàng, hoặc sẽ thiếu hàng.

planning_order['Warning'] = np.where((planning_order['saftety_stock'] - planning_order['availability']) >= 0, True, False)

bạn chỉ quan tâm tới cột Warning - giá trị False

# Các sản phẩm lưu ý đặt hàng 

order_now = planning_order[planning_order['Warning'] == False]

Các yếu tố khác: safety stock sử dụng công thức tiêu chuẩn kết hợp các yếu tố như nhu cầu, chi phí lưu kho, chi phí cho sản phẩm hết hạn và nhiều yếu tố khác, nhu cầu tăng theo mùa.

Các tính Lead time (LT) cho từng sản phẩm, leadtime sẽ được tính bằng ngày bắt đầu đặt hàng cho tới khi hàng về tới nhập kho. Với những sản phẩm nhập khẩu thì có ETA bạn chỉ việc lấy cột ETA - Cột ngày đặt hàng, cộng thêm thời gian thông quan 7 tới 10 ngày là ra được lead time. Giá trị trung bình của LT cho sản phẩm có thể tính trong khoảng thời gian 3 năm gần nhất. Nếu có cột DDP thì bạn tính theo DDP - Date(ngày đặt hàng)

ETA -  Estimated time of arrival - Thời gian dự kiến về cảng

DDP = promised delivery date - Thời gian về kho 

Nguồn: https://msh.org/wp-content/uploads/2013/04/mds3-ch23-inventorymgmt-mar2012.pdf

No comments:

Post a Comment

Bạn cần thêm thông tin hay có câu hỏi vui lòng comment