1{2 "task_id": "T1-forecast",3 "model_name": "Drift-in-levels with exact base effects (RW-drift36)",4 "model_description": "The YoY growth of target month T = last(V)+h is written exactly as g_T = 100*ln(L_last/L_{T-12}) + sum_{k=1..h} 100*dln L_{last+k}. The first term uses only levels published in the RSAFS vintage dated V (L_{T-12} is always in the vintage), so the 'base effect' of months dropping out of the 12-month window is known exactly at the origin. The unknown future monthly log changes are each forecast by their mean over the last 36 monthly log changes available in the same vintage (a random walk with drift in log levels; window fixed a priori, not tuned on evaluation targets). Re-estimated at every origin from the vintage dated V only; PAYEMS and UMCSENT are not used (no information leakage possible); RSAFS_current is not used.",5 "n_origins": 10,6 "first_origin": "2025-10-31",7 "last_origin": "2026-07-31",8 "rmse_naive_h1": 0.9968743518607753,9 "mae_naive_h1": 0.8487221880004494,10 "rmse_naive_h3": 1.4200403737520468,11 "mae_naive_h3": 1.2004486337876656,12 "rmse_snaive_h1": 1.6745428991342528,13 "mae_snaive_h1": 1.3066698762542999,14 "rmse_snaive_h3": 1.3160788989552046,15 "mae_snaive_h3": 1.065868691479163,16 "rmse_ar1_h1": 0.9405244111185092,17 "mae_ar1_h1": 0.7976510573253133,18 "rmse_ar1_h3": 1.1871178147423016,19 "mae_ar1_h3": 0.9526895961443078,20 "rmse_model_h1": 0.5524251036350836,21 "mae_model_h1": 0.4970233368707781,22 "rmse_model_h3": 1.0538489260016293,23 "mae_model_h3": 0.7471097183497802,24 "rel_improvement_rmse_h1": 0.4458427959311808,25 "dm_stat_h1": 2.302120035797033,26 "dm_pvalue_h1": 0.021328403819426134,27 "conclusion_code_h1": "model_better_significant",28 "rel_improvement_rmse_h3": 0.25787396930332507,29 "dm_stat_h3": 1.8644851017183233,30 "dm_pvalue_h3": 0.06225361183400402,31 "conclusion_code_h3": "model_better_not_significant",32 "mean_abs_revision_h1_targets": 0.5482198028388884,33 "feasibility": "complete",34 "feasibility_reason": null,35 "data_issues": [36 {37 "issue": "Irregular RSAFS publication timing (normal: the month-end vintage ends one calendar month before V). Delayed origins (vintage ends two months before V): 2025-10-31->last 2025-08; 2025-11-30->last 2025-09; 2025-12-31->last 2025-10; 2026-01-31->last 2025-11; 2026-02-28->last 2025-12; 2026-03-31->last 2026-01. The 2026-04-30 vintage added two months (2026-02 and 2026-03) at once; from then on timing is normal.",38 "handling": "Targets defined relative to last(V) as required (T = last(V)+h), never relative to the calendar; for delayed origins the h=1 target is a month that would normally already be published. Consequently target month 2026-03 is never an h=1 target and 2026-05 is never an h=3 target."39 },40 {41 "issue": "Two target months (2026-02, 2026-03) were first released in the same month-end vintage (2026-04-30); 2025-09 first appeared only in the 2025-11-30 vintage (publication disruption).",42 "handling": "Actuals taken as given from first_release.csv (first month-end appearance); no adjustment."43 },44 {45 "issue": "Annual/benchmark revision of RSAFS between the 2026-08-31 and 2026-09-30 vintages lowered the level of the whole series by roughly 4% (e.g. 2025-08: 731700 in the 2026-07-31 vintage vs 700407 in the current file); first_release levels for 2026-08 onward are on the new basis.",46 "handling": "All comparisons use log YoY growth computed within a single vintage, which is largely invariant to proportional level rebasing; documented as affecting estimand (d)."47 },48 {49 "issue": "PAYEMS vintage 2026-02-28 contains the annual benchmark revision (level about 1 million lower than in the 2026-01-31 vintage).",50 "handling": "PAYEMS not used by the model; noted only."51 },52 {53 "issue": "UMCSENT has 210 empty values, all before 1978 (quarterly/irregular survey period).",54 "handling": "UMCSENT not used by the model; no imputation needed."55 },56 {57 "issue": "RSAFS 2026-07 first release (763602, old basis) vs current value 729915 (new basis): level comparisons across vintages are not meaningful.",58 "handling": "Revision measure (d) computed on growth rates only."59 }60 ],61 "n_input_rows": {62 "first_release.csv": 28,63 "vintages/RSAFS_vintage_2025-10-31.csv": 404,64 "vintages/PAYEMS_vintage_2025-10-31.csv": 1040,65 "vintages/RSAFS_vintage_2025-11-30.csv": 405,66 "vintages/PAYEMS_vintage_2025-11-30.csv": 1041,67 "vintages/RSAFS_vintage_2025-12-31.csv": 406,68 "vintages/PAYEMS_vintage_2025-12-31.csv": 1043,69 "vintages/RSAFS_vintage_2026-01-31.csv": 407,70 "vintages/PAYEMS_vintage_2026-01-31.csv": 1044,71 "vintages/RSAFS_vintage_2026-02-28.csv": 408,72 "vintages/PAYEMS_vintage_2026-02-28.csv": 1045,73 "vintages/RSAFS_vintage_2026-03-31.csv": 409,74 "vintages/PAYEMS_vintage_2026-03-31.csv": 1046,75 "vintages/RSAFS_vintage_2026-04-30.csv": 411,76 "vintages/PAYEMS_vintage_2026-04-30.csv": 1047,77 "vintages/RSAFS_vintage_2026-05-31.csv": 412,78 "vintages/PAYEMS_vintage_2026-05-31.csv": 1048,79 "vintages/RSAFS_vintage_2026-06-30.csv": 413,80 "vintages/PAYEMS_vintage_2026-06-30.csv": 1049,81 "vintages/RSAFS_vintage_2026-07-31.csv": 414,82 "vintages/PAYEMS_vintage_2026-07-31.csv": 1050,83 "RSAFS_current.csv": 417,84 "UMCSENT.csv": 88785 },86 "n_analysed": 20,87 "random_seed": 2026103088}