ARIMA Model for M5 Demand Forecasting
Overview
AutoRegressive Integrated Moving Average trained on aggregated daily M5 sales data.
Model Details
- Architecture: ARIMA(3,1,1) with trend
- Training Data: 1,913 days of aggregated daily sales
- Test Period: 28 days (2016-04-25 to 2016-05-22)
- Differencing: d=1 (first differencing required for stationarity)
Stationarity Test
- ADF Statistic: -1.565373
- p-value: 0.500960
- Original data non-stationary; first differencing achieves stationarity
Performance
| Metric | Value |
|---|---|
| RMSE | 6,459.70 |
| MAE | 4,852.62 |
| MAPE | 10.48% |
| AIC | 37,801.28 |
Key Features
- AR component: 3 autoregressive terms
- I component: 1st order differencing (d=1)
- MA component: 1 moving average term
- Trend term: 't' (deterministic trend)
Usage
import pickle
with open('model.pkl', 'rb') as f:
model = pickle.load(f)
forecast = model.forecast(steps=28)
Notes
- Simplest model but requires manual order selection
- No seasonal component (SARIMAX handles this better)
- Good baseline but underperforms compared to Prophet and SARIMAX
- Smallest model file (6.5MB) due to no seasonal components