SPB Git

spb/wp29_uqo

Public
7.3 KB · 173 lines json
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}
Files · main
Menu

Theme