1{2 "task_id": "T1-forecast",3 "model_name": "base-effect drift (BED)",4 "model_description": "Forecast of the log level of RSAFS at T = last(V)+h from the RSAFS vintage dated V only: ln L_hat_T = ln L_last + h*mu, where mu = (ln L_last - ln L_{last-12})/12 is the trailing-12-month mean monthly log change in the same vintage (i.e. the latest YoY growth spread evenly over months). The YoY forecast is g_hat_T = 100*(ln L_hat_T - ln L_{T-12}), where L_{T-12} (always <= last(V) since h<=3) is the base-period level as published in vintage V. Equivalently: naive forecast plus the known base effect (drop-out of the monthly log changes of months last-11..last-12+h) plus h months of drift. No parameters are estimated on the evaluation sample; the specification was fixed before computing any out-of-sample error and no variant was compared. PAYEMS and UMCSENT are not used; RSAFS_current and first_release.csv never enter any forecast.",5 "n_origins": 10,6 "first_origin": "2025-10-31",7 "last_origin": "2026-07-31",8 "rmse_naive_h1": 0.9968743518549719,9 "mae_naive_h1": 0.8487221879899998,10 "rmse_naive_h3": 1.420040373740657,11 "mae_naive_h3": 1.2004486337699998,12 "rmse_snaive_h1": 1.6745428991300964,13 "mae_snaive_h1": 1.30666987625,14 "rmse_snaive_h3": 1.3160788989366212,15 "mae_snaive_h3": 1.06586869147,16 "rmse_ar1_h1": 0.9405244111134986,17 "mae_ar1_h1": 0.7976510573200001,18 "rmse_ar1_h3": 1.1871178147503472,19 "mae_ar1_h3": 0.9526895961500002,20 "rmse_model_h1": 0.5502977033465031,21 "mae_model_h1": 0.4863319392900001,22 "rmse_model_h3": 1.1422197516160006,23 "mae_model_h3": 0.9339774440799996,24 "rel_improvement_rmse_h1": 0.4479768665704803,25 "dm_stat_h1": 2.4289778515163323,26 "dm_pvalue_h1": 0.015141457285868354,27 "conclusion_code_h1": "model_better_significant",28 "rel_improvement_rmse_h3": 0.19564276288344107,29 "dm_stat_h3": 1.5465768014563988,30 "dm_pvalue_h3": 0.12196532729131726,31 "conclusion_code_h3": "model_better_not_significant",32 "mean_abs_revision_h1_targets": 0.5482198028389015,33 "feasibility": "complete",34 "feasibility_reason": null,35 "data_issues": [36 {37 "issue": "Irregular RSAFS publication timing: vintages 2025-10-31 to 2026-03-31 end two months before the vintage date; the 2026-04-30 vintage adds 2026-02 and 2026-03 at once.",38 "handling": "Targets defined as last(V)+h from the last month actually present in each vintage, as TASK.md prescribes; target months are therefore unevenly spaced (h=1 skips 2026-03, h=3 skips 2026-05)."39 },40 {41 "issue": "Recent months are revised from vintage to vintage (e.g. 2026-05 level 763705 in the 2026-06-30 vintage, 766876 in 2026-07-31).",42 "handling": "Each forecast uses the values as published in its own vintage; actuals are first releases from first_release.csv."43 },44 {45 "issue": "Large downward level revision (about 3.5-4%) between the 2026-08-31 and 2026-09-30 vintages, visible in first_release.csv (2026-08 base-year level 700218 vs 731700 in shipped vintages) and in RSAFS_current.",46 "handling": "YoY growth is always computed within a single vintage so the level shift mostly cancels; not corrected. It affects the h=3 actuals of the last two origins (2026-08, 2026-09) and estimand (d)."47 },48 {49 "issue": "PAYEMS publication also delayed (2025-10-31 vintage ends 2025-08; 2025-12-31 adds two months).",50 "handling": "PAYEMS not used by the model; recorded only."51 },52 {53 "issue": "UMCSENT has 210 empty fields, all before 1978 (quarterly survey era); file is current vintage.",54 "handling": "UMCSENT not used by the model; recorded only."55 },56 {57 "issue": "RSAFS_current.csv and first_release.csv contain post-origin information.",58 "handling": "RSAFS_current used only for estimand (d); first_release only as evaluation actual."59 }60 ],61 "n_input_rows": {62 "vintages/PAYEMS_vintage_2025-10-31.csv": 1040,63 "vintages/PAYEMS_vintage_2025-11-30.csv": 1041,64 "vintages/PAYEMS_vintage_2025-12-31.csv": 1043,65 "vintages/PAYEMS_vintage_2026-01-31.csv": 1044,66 "vintages/PAYEMS_vintage_2026-02-28.csv": 1045,67 "vintages/PAYEMS_vintage_2026-03-31.csv": 1046,68 "vintages/PAYEMS_vintage_2026-04-30.csv": 1047,69 "vintages/PAYEMS_vintage_2026-05-31.csv": 1048,70 "vintages/PAYEMS_vintage_2026-06-30.csv": 1049,71 "vintages/PAYEMS_vintage_2026-07-31.csv": 1050,72 "vintages/RSAFS_vintage_2025-10-31.csv": 404,73 "vintages/RSAFS_vintage_2025-11-30.csv": 405,74 "vintages/RSAFS_vintage_2025-12-31.csv": 406,75 "vintages/RSAFS_vintage_2026-01-31.csv": 407,76 "vintages/RSAFS_vintage_2026-02-28.csv": 408,77 "vintages/RSAFS_vintage_2026-03-31.csv": 409,78 "vintages/RSAFS_vintage_2026-04-30.csv": 411,79 "vintages/RSAFS_vintage_2026-05-31.csv": 412,80 "vintages/RSAFS_vintage_2026-06-30.csv": 413,81 "vintages/RSAFS_vintage_2026-07-31.csv": 414,82 "RSAFS_current.csv": 417,83 "UMCSENT.csv": 887,84 "first_release.csv": 2885 },86 "n_analysed": 20,87 "random_seed": 20261030,88 "dm_mean_loss_diff_h1": 0.6909309110778346,89 "dm_lrv_h1": 0.8091371397979005,90 "boot_rmse_diff_lo_h1": -0.6487094313166794,91 "boot_rmse_diff_hi_h1": -0.2787995997807278,92 "boot_share_model_better_h1": 1.0,93 "n_model_wins_h1": 8,94 "dm_mean_loss_diff_h3": 0.7118487020717866,95 "dm_lrv_h3": 2.1185192375008524,96 "boot_rmse_diff_lo_h3": -0.6877226202234573,97 "boot_rmse_diff_hi_h3": 0.08193647367241552,98 "boot_share_model_better_h3": 0.9314931493149315,99 "n_model_wins_h3": 6,100 "mean_signed_revision_h1_targets": -0.5482198028389015,101 "max_abs_revision_h1_targets": 0.9756759757612712,102 "block_bootstrap": {103 "B": 9999,104 "block_length": 3,105 "type": "circular moving-block, paired errors"106 },107 "last_month_by_origin": {108 "2025-10-31": "2025-08",109 "2025-11-30": "2025-09",110 "2025-12-31": "2025-10",111 "2026-01-31": "2025-11",112 "2026-02-28": "2025-12",113 "2026-03-31": "2026-01",114 "2026-04-30": "2026-03",115 "2026-05-31": "2026-04",116 "2026-06-30": "2026-05",117 "2026-07-31": "2026-06"118 },119 "ar1_coef_by_origin": {120 "2025-10-31": {121 "const": 0.7245195130966369,122 "phi": 0.8398849523075356123 },124 "2025-11-30": {125 "const": 0.7230146850375044,126 "phi": 0.8398593258796581127 },128 "2025-12-31": {129 "const": 0.7207145937397748,130 "phi": 0.8398988453218994131 },132 "2026-01-31": {133 "const": 0.7197147078017161,134 "phi": 0.839929613490428135 },136 "2026-02-28": {137 "const": 0.7161329757524207,138 "phi": 0.840103885059219139 },140 "2026-03-31": {141 "const": 0.7173993115367638,142 "phi": 0.8400215083855623143 },144 "2026-04-30": {145 "const": 0.7192001736723118,146 "phi": 0.8399036982121751147 },148 "2026-05-31": {149 "const": 0.7216117313802095,150 "phi": 0.8398320190588064151 },152 "2026-06-30": {153 "const": 0.7265261438714329,154 "phi": 0.8398016339053244155 },156 "2026-07-31": {157 "const": 0.7268024118912031,158 "phi": 0.839871473088339159 }160 },161 "abs_revision_by_h1_target": {162 "2025-09": 0.5502167925401169,163 "2025-10": 0.6641763167215546,164 "2025-11": 0.43891998227811113,165 "2025-12": 0.32862681655441595,166 "2026-01": 0.9756759757612712,167 "2026-02": 0.4099556308938235,168 "2026-04": 0.7481728291013168,169 "2026-05": 0.16533992600872516,170 "2026-06": 0.7440888135517616,171 "2026-07": 0.4570249449779187172 }173}