# Verification checks (P4) | check | outcome | |---|---| | Clean re-run (deleted results.json/forecasts.csv, re-ran) byte-identical | PASS | | forecasts.csv has 192 rows, 48 per (model,horizon) | PASS | | last_target_date_used <= origin-2 months for all rows | PASS | | last_predictor_date_used <= origin-1 month for model rows; empty for naive | PASS | | target_date = origin + h months; actual equals data gdp_yoy of target month | PASS | | naive forecast equals gdp_yoy[t-2] | PASS | | rel_improvement = 1 - rmse_model/rmse_naive; RMSE >= MAE; RMSE > 0 | PASS | | exclusions.csv: 345 - sum(n_removed) = n_analysed (310), n_before-n_after=n_removed | PASS | | Magnitude vs baseline: model RMSE 0.74/0.90 vs naive 0.81/1.14 pp, same order | PASS | | Chronology: first_origin