| # 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 | |
| ```python | |
| 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 | |