Methodology
Research Methodology
An experimental pipeline from datasets to inventory decisions — summarised visually.
The pipeline
Eleven stages, run identically on both datasets.
Metrics
Two evaluation layers.
Layer 1 · Forecast accuracy
- MAE — Mean Absolute Error — average absolute error.
- RMSE — Root Mean Squared Error — penalises large errors.
- WAPE — Weighted Absolute Percentage Error — aggregate error, robust to zero demand.
- MASE — Mean Absolute Scaled Error — comparable across demand series.
Layer 2 · Inventory performance
- Holding cost — Cost of carrying inventory.
- Stockout / lost-sales cost — Cost of unmet demand (lost in the primary model).
- Total inventory cost — Holding + stockout cost.
- Cycle service level (CSL) — Probability a review cycle ends without a stockout.
- Fill rate — Proportion of demand satisfied immediately from stock.
- Average inventory — Mean on-hand inventory across the horizon.
Key decisions
The locked methodological contract.
Validation
Walk-forward (expanding-window) forecasting. No random train/test split, which would cause temporal leakage.
Inventory policy (locked)
Periodic-review order-up-to (base stock). Order-up-to = forecast demand over lead time + review, plus safety stock from forecast-error standard deviation. Primary demand-shortfall model is LOST SALES; backorders kept only as a robustness variant.
Service metrics
Cycle service level (CSL) and fill rate are reported separately — a model’s ranking can differ between them.
Cost sensitivity
A 2-D holding : stockout cost-ratio sweep identifies the cost-minimal method per region. Three canonical scenarios are slices of this sweep.
Demand segmentation (pre-registered)
Series classified into stable / trending / seasonal / intermittent using thresholds locked before results are seen.
Statistical testing
Friedman + post-hoc Nemenyi for multi-model ranking; FDR-controlled pairwise tests; Spearman for accuracy–cost association.
LLM protocol
Small local model (Ollama), fixed version, temperature 0, fixed prompts/schema. Run on a stratified subsample. Experiment B is anchored to the analytical order-up-to baseline.