SPB Git

spb/wp29_uqo

Public

# Contract (P0) — T1-forecast

Question. In real time (only data published at each of 10 month-end origins 2025-10-31 … 2026-07-31), how accurately could US retail & food services sales (RSAFS) YoY growth g_m = 100·ln(L_m/L_{m-12}) be forecast h=1 and h=3 months beyond the last published month last(V), and does my own model beat the naive (no-change) forecast, judged against first-release actuals?

Estimands. (a) RMSE and MAE (percentage points) of naive, seasonal naive, AR(1) and my model, h∈{1,3}, n=10 origins each; (b) 1 − RMSE_model/RMSE_naive; (c) DM statistic model vs naive, squared loss, d_t = e²_naive − e²_model, Bartlett LRV with truncation lag h−1, no HLN correction, two-sided normal p-value; (d) mean |g_current_T − yoy_first_release_T| over the 10 h=1 targets. Assumptions: first-release YoY is the "truth"; with n=10 the DM asymptotic normal approximation is at best rough; errors at h=3 overlap.

Outputs. out/forecasts.csv (80 rows; origin_date,target_date,horizon,forecast,actual_first_release,model,vintage_used), out/results.json (all keys in 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).

Information rules. Origin V uses only RSAFS_vintage_V, PAYEMS_vintage_V, UMCSENT months ≤ month(V). Target = last(V)+h where last(V) is the last month in that RSAFS vintage (not calendar). Actual = yoy_first_release. RSAFS_current only for (d). No model selection using evaluation outcomes from future origins.

Invalidity/impossibility. Missing vintage files, target months absent from first_release.csv, use of current-vintage RSAFS or future UMCSENT in forecasts, vintage_used > origin_date or target ≤ origin.

Files · main
Menu

Theme