Contract (P0) — T1-forecast
Question. How accurately could US retail & food services sales YoY growth (g_m = 100 ln(L_m/L_{m-12}), RSAFS) be forecast in real time, h = 1 and h = 3 months beyond the last published month last(V), at 10 month-end origins V (2025-10-31 … 2026-07-31), and does my own model beat the naive (no-change) forecast when errors are measured against the first-release YoY of the target month (data/first_release.csv)?
Estimands (per h in {1,3}, over 10 origins): (a) RMSE and MAE vs first release for naive, seasonal naive, AR(1) (OLS on g, 1993-02..last(V), iterated) and my model; (b) 1 - RMSE_model/RMSE_naive; (c) DM statistic model vs naive, squared loss, d_t = e²_naive - e²_model, Bartlett LRV with lag h-1, no HLN correction, two-sided normal p-value; (d) mean over the 10 h=1 targets of |g_current_T - yoy_first_release_T|. Meaningful under: the target definition (first release at month-end granularity), real-time data only, n = 10 (very small; DM asymptotics are weak; h=3 errors overlap).
Outputs. out/forecasts.csv (80 rows; origin_date,target_date,horizon,forecast,actual_first_release,model,vintage_used), out/results.json (all keys of TASK.md table), out/table1.csv (model,horizon,rmse,mae,n), out/figure1.png, out/report.md (6 sections), out/analysis.py, out/claims.json; plus protocol files (state/, exclusions.csv).
Availability rules. At origin V use only RSAFS vintage V, PAYEMS vintage V, UMCSENT months <= month(V). RSAFS_current only for (d). Target = last(V)+h, where last(V) is the last row in the vintage (publication delays exist).
Invalidating conditions. Any target missing from first_release.csv; use of current/future data in forecasts; model tuned on evaluation outcomes; negative/zero long-run variance in DM.