Contract — F3-conf-02
Question. In true real time (ALFRED vintages), how accurate are h=1 and h=2 quarter-ahead forecasts of US real GDP growth (A191RL1Q225SBEA, % q/q SAAR) over 8 origins (2024-01-31 … 2025-12-31), and does a simple time-series model beat the naive (last value) forecast?
Estimands. Per horizon h∈{1,2}: RMSE and MAE (pp) over 8 origins of naive and of one model, vs first-release value of target quarter; rel. improvement 1−RMSE_model/RMSE_naive; mean |current − first release| over the 8 h=1 target quarters. Meaningful under: vintages are genuine real-time data; first release = advance estimate at month-end; 8 errors per horizon is a tiny sample (no inference of significance).
Outputs. out/forecasts.csv (32 rows; columns origin_date,target_date,horizon,forecast,actual,model,vintage_date,train_last_date,train_last_value,n_train); out/results.json (task_id, model_name, model_description, n_origins, first_origin, last_origin, rmse/mae naive & model h1/h2, rel_improvement_rmse_h1/h2, mean_abs_revision_h1_targets, feasibility, feasibility_reason, data_issues, n_input_rows, n_analysed, random_seed); out/report.md (Question; Data and exclusions; Method; Results; Uncertainty; Limitations and open issues); out/analysis.py; out/claims.json; plus out/exclusions.csv and out/state/*.
Information rules. At origin d only vintage file d is used (all values as in that file); current_vintage.csv only for revision statistic. Targets: last quarter in file +1, +2. Actuals: first_release.csv. Naive = last value of vintage file for both h.
Invalidity/impossibility. Using current vintage or later vintages for estimation; missing first releases for targets (would make it partial); missing/corrupt vintage files (hash mismatch).