SPB Git

spb/wp29_uqo

Public

# F3-conf-02 — Real-time forecasts of US real GDP growth

# Question

At 8 real-time origins (first_origin = 2024-01-31 to last_origin = 2025-12-31, n_origins = 8), how accurately could US real GDP growth (q/q % SAAR, A191RL1Q225SBEA) be forecast 1 and 2 quarters beyond the last published quarter? Accuracy is measured against the first release of each target quarter. The question also asks whether a simple AR model beats the naive (last value) forecast.

# Data and exclusions

  • At each origin d, the only input is the ALFRED vintage file dated d (307–314 rows, 1947Q2 to the last published quarter; n_input_rows). Actuals come from first_release.csv (13 rows). current_vintage.csv (318 rows) is used only for the revision statistic.
  • The SHA-256 of every file matches data/README.md. No file has missing values, duplicate dates or gaps (out/state/data_audit.md).
  • Exclusions apply to the AR estimation sample only, and are logged for the last origin in out/exclusions.csv: 314 vintage rows → keep 1985Q1 onward (−151) → first quarter used only as a lag (−1) → drop dependent quarters 2020Q2–2020Q4, the COVID outliers (−3) → 159 regression observations (n_analysed). The naive forecast uses only the last vintage value.
  • Data issues are listed in data_issues. Because the 2025 shutdown delayed the 2025Q3 advance estimate, origin 8 is 2025-12-31, so the origins are not equally spaced.

# Method

  • Naive: for both horizons, the forecast is the last value in the origin vintage.
  • Model (model_name = ar1): AR(1) with intercept, fitted by OLS on the origin vintage over 1985Q1 to the last quarter, with the COVID quarters excluded as above. The 2-step forecast iterates the 1-step forecast (model_description). I fixed this specification before computing any out-of-sample error, and did not try other specifications. Estimated coefficients are in ar1_coefficients_by_origin: c ≈ 1.73–1.77 and phi ≈ 0.335–0.343, stable across origins. The method is deterministic, so no seed is needed (random_seed = null).
  • Errors: forecast − first release. RMSE and MAE are taken over the 8 origins for each horizon. Per-origin forecasts are in out/forecasts.csv.

# Results

RMSE h=1 MAE h=1 RMSE h=2 MAE h=2
naive 2.010 (rmse_naive_h1) 1.688 (mae_naive_h1) 2.265 (rmse_naive_h2) 1.813 (mae_naive_h2)
ar1 1.484 (rmse_model_h1) 1.233 (mae_model_h1) 1.398 (rmse_model_h2) 1.030 (mae_model_h2)
  • Relative RMSE improvement of AR(1) over naive: 26.2% at h=1 (rel_improvement_rmse_h1 = 0.262) and 38.3% at h=2 (rel_improvement_rmse_h2 = 0.383).
  • AR(1) had a smaller absolute error than naive at 5 of 8 origins for h=1 (n_origins_model_abs_error_lower_h1) and at 8 of 8 for h=2 (n_origins_model_abs_error_lower_h2).
  • Mean absolute revision between the first release and the current (2026-10-30) value over the 8 h=1 target quarters: 0.56 pp (mean_abs_revision_h1_targets = 0.5625). This is about a third of the forecast RMSEs, so the choice of actuals (first release vs latest) matters but would not dominate the errors.

# Uncertainty

  • Only 8 forecasts per horizon, and the h=2 errors overlap with the h=1 errors of the next origin. I computed no confidence intervals or Diebold–Mariano tests: with n=8 they would be unreliable, and the task does not ask for them. The RMSE gains are point estimates.
  • Much of the naive loss comes from one episode, the 2025Q1 contraction (−0.3) followed by a rebound. The AR(1) forecast shrinks toward the implied mean c/(1−phi), computed from ar1_coefficients_by_origin, and so suffers less from such swings. In a calmer or more persistent period the ranking could differ.

# Limitations and open issues

  • The sample is small. There is one model, and its specification was chosen a priori (1985 start, COVID exclusion) rather than validated.
  • The vintage-specific estimation fully respects the real-time rule, but the 1985 start date and the COVID exclusion use the analyst's present-day knowledge that these periods are special. The 2020 outliers were, however, known at every origin.
  • Actuals are advance estimates as of month-end vintages. The 2025Q4 actual comes from the 2026-02-28 vintage (delayed release).
  • Every task requirement was completed (feasibility = complete).
Files · main
Menu

Theme