Six warehouse silos each sell a product whose daily demand follows a hidden seasonal wave plus random noise — the AI never sees the true wave, only past demand. It maintains a running forecast with exponential smoothing, weighting the newest observation by α and the previous forecast by (1−α), then sets a dynamic reorder point that scales with lead time and the demand it expects during that lead time. When a silo's stock drops below its reorder point (dashed line), a truck is dispatched; the bar rises only after the full lead time has elapsed, exactly as real freight would.
forecast(t) = α·demand(t−1) + (1−α)·forecast(t−1)
reorderPoint = forecast · leadTime · 1.15 + safetyStock(volatility)
orderQty = forecast · leadTime · 2 − currentStock
- Reorder policy — toggle between the adaptive AI forecast (reorder line tracks the seasonal wave) and a naive fixed threshold that ignores seasonality entirely.
- Demand volatility — random noise layered onto each day's demand; higher volatility makes a fixed threshold fail more often.
- Seasonality strength — amplitude of the underlying demand wave each silo follows (out of phase with its neighbours).
- Supplier lead time — days between placing an order and the truck arriving; longer lead times force earlier, larger reorders.
- Forecast smoothing α — weight given to the newest day's demand versus history; too high overreacts to noise, too low reacts too slowly.