Demand Forecaster

One XGBoost model forecasts daily demand for 500 products (10 stores by 50 items, Kaggle Store Item Demand Forecasting Challenge). Below, its forecasts are compared with what actually sold from October to December 2017, and turned into a safety stock and reorder point for each product.

Forecast vs actual

sales before the forecast actual sales forecast next delivery window

Inventory decision

On hand (simulated)
Forecast demand until delivery
Safety stock
Reorder point
Order now

Safety stock = z × σ × √L, where σ is the standard deviation of this product's daily forecast error in the backtest and L is the days until delivery. Reorder point = forecast demand over L + safety stock. The dataset has no stock levels, so on-hand stock is simulated as 5 to 35 days of average demand.

Products that run out before the next delivery

ProductOn handForecast demandRuns out on dayOrder now