Create a clean time series
Assemble a chronological dataset with consistent timestamps, impute or mark missing values, and visualise trend and seasonality.
Forecast with Prophet. Inspect interval coverage.
Prophet is a decomposable time-series model designed for business forecasting with trend, seasonality and holiday components. Practical work focuses on creating stable timestamped series, handling missing data, adding calendar and event features, and evaluating with walk-forward splits and interval coverage metrics.
Learning concept · Not a validated service
Prophet is a decomposable time-series model designed for business forecasting with trend, seasonality and holiday components. Practical work focuses on creating stable timestamped series, handling missing data, adding calendar and event features, and evaluating with walk-forward splits and interval coverage metrics.
A proposed application: generate weekly business-forecast reports with prediction intervals that analysts review before decisions. This extension would add real production data, scheduled retraining and an approval step for any automated downstream actions.
Assemble a chronological dataset with consistent timestamps, impute or mark missing values, and visualise trend and seasonality.
Add lags, rolling statistics and calendar/event indicators; when using Prophet, convert features into its expected format (ds, y) and supply regressors if needed.
Simulate production by iteratively training on past data and forecasting the next window, collecting MAE/RMSE and interval coverage.
Plan retraining cadence, monitor prediction‑interval coverage, and alert when residuals or input distributions drift.
The supplied starter generates a synthetic daily series with trend, monthly-like seasonality and Gaussian noise, creates lag and rolling features, trains a scikit-learn RandomForestRegressor on those features, and prints MAE and a small forecast sample. It does not import or use the Prophet library or its modelling API.
for lag in [1, 7, 14]:
series[f"lag_{lag}"] = series["value"].shift(lag)
series["rolling_7"] = series["value"].shift(1).rolling(7).mean()
series = series.dropna()
feature_cols = ["lag_1", "lag_7", "lag_14", "rolling_7"]
train = series.iloc[:-30]
test = series.iloc[-30:]
model = RandomForestRegressor(n_estimators=300, random_state=42)
model.fit(train[feature_cols], train["value"])
forecast = model.predict(test[feature_cols])The starter uses a RandomForestRegressor on a small synthetic series rather than Prophet; the dataset is simulated, the test window is only 30 days, and there is no walk‑forward evaluation or prediction‑interval computation to validate probabilistic forecasts.
A proposed extension is to replace the RandomForest baseline with Prophet (fbprophet / prophet), add calendar regressors and public-holiday effects, and run walk‑forward validation that reports interval coverage alongside point errors.
This is a potential application pathway, not a delivered product. The supplied starter does not implement this service or validate it with real users.
Networkers Home runs this topic inside its AI Engineer Course, with placement support and hands-on labs.