Prophet Model for M5 Demand Forecasting
Overview
Prophet (Facebook's forecasting library) trained on aggregated daily M5 sales data.
Model Details
- Architecture: Additive model with trend, weekly/yearly seasonality, and event effects
- Training Data: 1,913 days of aggregated daily sales (2011-01-29 to 2016-04-24)
- Test Period: 28 days (2016-04-25 to 2016-05-22)
Performance
| Metric | Value |
|---|---|
| RMSE | 4,860.67 |
| MAE | 4,038.73 |
| MAPE | 8.73% |
Key Features
- Piecewise linear growth trend
- Weekly seasonality (captures day-of-week patterns)
- Yearly seasonality (captures seasonal trends)
- 154 holiday/event effects
- 95% prediction intervals
Usage
import pickle
import pandas as pd
with open('model.pkl', 'rb') as f:
model = pickle.load(f)
future = model.make_future_dataframe(periods=28, freq='D')
forecast = model.predict(future)
Notes
- Prophet naturally handles missing values and structural breaks
- The model captures strong weekly patterns (weekend vs weekday sales)
- Lower performance than SARIMAX but faster to train