"매 right item, right quantity, right time.". Replenishment 매 inventory 가 demand 의 동안 stockout 의 X 의 process 의 maintaining. 1934 Wilson EOQ 부터 modern AI-driven probabilistic forecasting (Amazon, Walmart 의 LSTM/Transformer demand models) 까지 evolved.
매 핵심
매 핵심 levers
Reorder Point (ROP): trigger threshold = lead_time_demand + safety_stock.
Order Quantity: how much (EOQ, min-max, fixed).
Review period: continuous (Q-system) 의 X periodic (P-system).
Safety Stock: buffer 의 demand/lead-time variability 의.
매 modern signals
Probabilistic demand forecast (quantiles, 의 X point estimate).
Lead time variance (supplier reliability score).
Cross-location pooling (omnichannel inventory).
Substitution + promotion lift modeling.
매 응용
Retail (Walmart, Costco 의 daily auto-replenishment).
E-commerce FBA (Amazon 의 fulfillment center distribution).
Healthcare (vaccine, drug 의 cold-chain replenishment).
💻 패턴
EOQ (Economic Order Quantity)
importmathdefeoq(annual_demand:float,order_cost:float,holding_cost_per_unit:float)->float:"""Wilson formula. Min total cost = order + holding."""returnmath.sqrt(2*annual_demand*order_cost/holding_cost_per_unit)# Example: 10K units/yr, $50/order, $2/unit/yr holdingprint(eoq(10_000,50,2))# 707 units per order
defmin_max_order(on_hand:int,on_order:int,s:int,S:int)->int:"""매 inventory_position <= s 일 때 S 까지 order."""inv_pos=on_hand+on_orderreturnmax(0,S-inv_pos)ifinv_pos<=selse0
Probabilistic Forecast → Newsvendor
importnumpyasnpdefnewsvendor_quantile(unit_cost,sale_price,salvage=0):"""Critical ratio = (p - c) / (p - s)."""return(sale_price-unit_cost)/(sale_price-salvage)deforder_qty_from_forecast(demand_samples:np.ndarray,critical_ratio:float):returnfloat(np.quantile(demand_samples,critical_ratio))# 1000 Monte Carlo demand samples → optimal ordersamples=np.random.gamma(shape=4,scale=25,size=1000)cr=newsvendor_quantile(unit_cost=10,sale_price=25,salvage=3)print(order_qty_from_forecast(samples,cr))
deffair_share_allocation(forecasts:dict,total_supply:float)->dict:"""Allocate constrained supply across stores proportional to forecast."""total_demand=sum(forecasts.values())iftotal_supply>=total_demand:returnforecasts.copy()ratio=total_supply/total_demandreturn{loc:f*ratioforloc,finforecasts.items()}
언제: SKU master data 의 cleansing, supplier email parsing, anomaly explanation, what-if scenario 의 narrative.
언제 X: 매 actual demand forecasting 의 LLM 의 X — purpose-built time-series models (Prophet, NeuralForecast, Chronos) 의 use.
❌ 안티패턴
Point forecast only: P50 만 사용 의 X — quantiles 의 사용 의 service level tuning 의 가능.
Static safety stock: lead time 의 variance 의 ignore 의 X.
Local optimization: 각 store 의 independent ordering — pooling 의 lost.
Bullwhip ignored: downstream order 의 upstream 의 amplification 의 monitor 의 필요.
Excel-only: 1000+ SKU 의 manual review 의 scale 의 X.