Time Series Forecasting Workflow

A practical flowchart for model design, diagnostics, and selection for time series forecasting problems.

Core Workflow

← drag to pan the sheet →

Core time series forecasting workflow A top-down flowchart: define the problem, run initial EDA, then split by problem structure into univariate, multivariate, or dynamic regression branches. All three converge on fitting benchmarks and candidates, residual and stability diagnostics, time-series cross-validation, and forecast evaluation. Inadequate diagnostics return through model respecification, and a model that is not the best parsimonious choice returns to fitting; otherwise the forecast is finalized. Define problem Initial EDA Problem structure? One target series Multiple target series One target with exogenous inputs Univariate branch Multivariate branch Dynamic regression branch Fit benchmarks and candidates Residual and stability diagnostics Diagnostics adequate? No Yes Respecify model Time-series cross-validation Forecast evaluation Best parsimonious model? No Yes Finalize forecast LEGEND UNIVARIATE MULTIVARIATE EXOGENOUS INPUTS RETURN PATH

Diagnostics & Model Selection

← drag to pan the sheet →

Diagnostics and model selection by problem structure Three parallel diagnostic tracks fed by the problem structure. The univariate track runs trend and stationarity, seasonality, variance, breaks and interventions, and special dependence checks. The multivariate track runs system diagnostics, then reads the integration order: all I(0) goes to a level VAR, any I(2) to I(2) methods or respecification, and I(1) to a Johansen rank test whose rank decides between a differenced VAR, a VECM, and a level VAR. The exogenous-input track runs input-output diagnostics, then picks between ARIMAX dynamic regression and a lagged-regressor path that rules out ARDL when any variable is I(2), otherwise runs lag selection and a UECM bounds test, giving an ARDL long-run model with ECM when cointegrated and short-run differences when not. All tracks end at a candidate model list. Problem structure Univariate Multivariate Exogenous inputs Trend and stationarity Seasonality checks Variance diagnostics Breaks and interventions Special dependence checks System diagnostics Integration order? Any I(2) All I(0) I(1) I(2) methods / respecify Level VAR Johansen rank test Rank r? r = K r = 0 0 < r < K Differenced VAR VECM Input-output diagnostics Regression form Lagged regressors Regression with ARMA errors / ARIMAX Any I(2) variable? Yes No ARIMAX / dynamic regression ARDL not applicable UECM + Bounds test Not cointegrated Cointegrated Short-run differences ARDL long run + ECM Candidate model list LEGEND DIAGNOSTIC STEP DECISION COLLECTION BUS SHARED OUTPUT DEAD END
  • Trend and stationarity ADF, PP, KPSS, break-point unit-root tests
  • Seasonality seasonal dummies, seasonal plots, seasonal unit-root tests
  • Variance log/Box-Cox, ARCH-LM, squared residual checks
  • Breaks and interventions Chow, Zivot-Andrews, Bai-Perron, intervention dummies
  • Special dependence long memory, threshold effects, regime changes, nonlinear dynamics
  • Input-output diagnostics lag inspection, prewhitened Cross-Correlation Function (CCF), intervention and transfer effects

Model Family Selection

Condition Candidate models
Stationary linear AR / MA / ARMA
Trend / nonstationary ARIMA
Seasonal SARIMA / ETS
Multiple seasonality TBATS / BATS / MSTL
Exogenous inputs ARDL / ARIMAX
Multivariate VAR / VECM
Changing variance ARCH / GARCH / stochastic volatility / Generalized Autoregressive Score (GAS)
Long memory ARFIMA / FIGARCH
Nonlinear / regime TAR / SETAR / STAR / Markov switching
Nonlinear ML Neural network autoregression (NNAR)
Latent components / unobserved states State-space / structural time series / Kalman filter
Mixed frequency MIDAS
Intermittent demand Croston's method / TSB