SPB Git

spb/wp29_uqo

Public
7.2 KB · 177 lines json
1{2  "task_id": "T1-forecast",3  "model_name": "BED (base-effect drift)",4  "model_description": "Base-effect drift model on the RSAFS vintage dated V only. Log level forecast ln L_{last+h} = ln L_last + h*mu, with mu = mean monthly log growth over the last 12 published months = g_last/12 (percent). Hence forecast g_T = 100*ln(L_last / L_{T-12}) + h*g_last/12 for T = last(V)+h, where L_last and L_{T-12} are read from vintage V (T-12 <= last(V) always). It exploits that 12-h of the 12 monthly growth terms in the target YoY are already published at the origin (known base effects), replacing only the h unknown months by their trailing 12-month average. No parameters are estimated; estimation window = last 13 levels of the vintage. PAYEMS and UMCSENT were not used. The specification was fixed before any out-of-sample error was computed; no tuning on the evaluation origins.",5  "n_origins": 10,6  "first_origin": "2025-10-31",7  "last_origin": "2026-07-31",8  "rmse_naive_h1": 0.996874361153601,9  "mae_naive_h1": 0.8487221999999999,10  "rmse_naive_h3": 1.4200403019751233,11  "mae_naive_h3": 1.2004486,12  "rmse_snaive_h1": 1.674542814799132,13  "mae_snaive_h1": 1.3066698,14  "rmse_snaive_h3": 1.3160788608225193,15  "mae_snaive_h3": 1.0658687,16  "rmse_ar1_h1": 0.940524354787796,17  "mae_ar1_h1": 0.7976509999999999,18  "rmse_ar1_h3": 1.1871176370926342,19  "mae_ar1_h3": 0.9526893999999999,20  "rmse_model_h1": 0.5502976390310066,21  "mae_model_h1": 0.48633190000000004,22  "rmse_model_h3": 1.1422196608203694,23  "mae_model_h3": 0.9339774000000001,24  "rel_improvement_rmse_h1": 0.4479769362367869,25  "rel_improvement_rmse_h3": 0.19564278617186803,26  "dm_stat_h1": 2.4289778933188826,27  "dm_pvalue_h1": 0.015141455540092164,28  "dm_stat_h3": 1.546577321548468,29  "dm_pvalue_h3": 0.12196520179653336,30  "conclusion_code_h1": "model_better_significant",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 publication timing: last(V) is two months before the origin for 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); vintage 2026-04-30 adds 2026-02 and 2026-03 at once, so 2026-03 is never an h=1 target (it is the h=1 target of no origin) and 2026-02 is reached from the 2026-03-31 vintage.",38      "handling": "Targets defined as last(V)+h from the vintage content, per the task rule, not from the calendar."39    },40    {41      "issue": "Benchmark/annual revision of RSAFS levels: the current vintage is ~4% lower in level and its YoY growth is systematically lower than first release; the base level used in first_release jumps between targets 2026-07 and 2026-08 (rebasing between the 2026-08-31 and 2026-09-30 vintages), affecting h=3 targets 2026-08 and 2026-09.",42      "handling": "No adjustment: actuals are first-release values by definition; the revision is quantified in mean_abs_revision_h1_targets and discussed."43    },44    {45      "issue": "UMCSENT has 210 empty values (all before 1978, quarterly survey era) and is a current (not real-time) vintage.",46      "handling": "Not used by the model; would have been usable under the stated no-revision rule."47    },48    {49      "issue": "PAYEMS vintages sometimes extend beyond last(V) of RSAFS (e.g. 2025-12-31 vintage ends 2025-11 while RSAFS ends 2025-10).",50      "handling": "Not used by the model."51    },52    {53      "issue": "first_release.csv dates the first release of 2025-08 (last month of the 2025-10-31 vintage) to the unshipped 2025-09-30 vintage; its level in the 2025-10-31 vintage still equals level_first_release.",54      "handling": "None needed; checked for consistency."55    }56  ],57  "n_input_rows": {58    "first_release.csv": 28,59    "vintages/PAYEMS_vintage_2025-10-31.csv": 1040,60    "vintages/PAYEMS_vintage_2025-11-30.csv": 1041,61    "vintages/PAYEMS_vintage_2025-12-31.csv": 1043,62    "vintages/PAYEMS_vintage_2026-01-31.csv": 1044,63    "vintages/PAYEMS_vintage_2026-02-28.csv": 1045,64    "vintages/PAYEMS_vintage_2026-03-31.csv": 1046,65    "vintages/PAYEMS_vintage_2026-04-30.csv": 1047,66    "vintages/PAYEMS_vintage_2026-05-31.csv": 1048,67    "vintages/PAYEMS_vintage_2026-06-30.csv": 1049,68    "vintages/PAYEMS_vintage_2026-07-31.csv": 1050,69    "UMCSENT.csv": 887,70    "vintages/RSAFS_vintage_2025-10-31.csv": 404,71    "vintages/RSAFS_vintage_2025-11-30.csv": 405,72    "vintages/RSAFS_vintage_2025-12-31.csv": 406,73    "vintages/RSAFS_vintage_2026-01-31.csv": 407,74    "vintages/RSAFS_vintage_2026-02-28.csv": 408,75    "vintages/RSAFS_vintage_2026-03-31.csv": 409,76    "vintages/RSAFS_vintage_2026-04-30.csv": 411,77    "vintages/RSAFS_vintage_2026-05-31.csv": 412,78    "vintages/RSAFS_vintage_2026-06-30.csv": 413,79    "vintages/RSAFS_vintage_2026-07-31.csv": 414,80    "RSAFS_current.csv": 41781  },82  "n_analysed": 20,83  "random_seed": 20261030,84  "supplementary": {85    "bootstrap_rmse_diff": {86      "h1": {87        "rmse_diff_model_minus_naive": -0.44657672212259436,88        "ci95": [89          -0.6982530105268047,90          -0.261259132739286791        ],92        "share_draws_model_better": 1.0,93        "block_length": 2,94        "n_boot": 9999,95        "dm_lrv": 0.8091373211601599,96        "n_origins_model_smaller_sq_error": 897      },98      "h3": {99        "rmse_diff_model_minus_naive": -0.2778206411547539,100        "ci95": [101          -0.6376736715848398,102          0.14490466807245417103        ],104        "share_draws_model_better": 0.8764876487648765,105        "block_length": 3,106        "n_boot": 9999,107        "dm_lrv": 2.1185178340561874,108        "n_origins_model_smaller_sq_error": 6109      }110    },111    "origins": [112      {113        "origin": "2025-10-31",114        "last": "2025-08",115        "lag_months": 2116      },117      {118        "origin": "2025-11-30",119        "last": "2025-09",120        "lag_months": 2121      },122      {123        "origin": "2025-12-31",124        "last": "2025-10",125        "lag_months": 2126      },127      {128        "origin": "2026-01-31",129        "last": "2025-11",130        "lag_months": 2131      },132      {133        "origin": "2026-02-28",134        "last": "2025-12",135        "lag_months": 2136      },137      {138        "origin": "2026-03-31",139        "last": "2026-01",140        "lag_months": 2141      },142      {143        "origin": "2026-04-30",144        "last": "2026-03",145        "lag_months": 1146      },147      {148        "origin": "2026-05-31",149        "last": "2026-04",150        "lag_months": 1151      },152      {153        "origin": "2026-06-30",154        "last": "2026-05",155        "lag_months": 1156      },157      {158        "origin": "2026-07-31",159        "last": "2026-06",160        "lag_months": 1161      }162    ],163    "revisions_h1_targets": {164      "2025-09": -0.5502167925401702,165      "2025-10": -0.6641763167214578,166      "2025-11": -0.4389199822781502,167      "2025-12": -0.3286268165544084,168      "2026-01": -0.9756759757612237,169      "2026-02": -0.40995563089387543,170      "2026-04": -0.7481728291014038,171      "2026-05": -0.16533992600871716,172      "2026-06": -0.7440888135516674,173      "2026-07": -0.45702494497780943174    },175    "ar1_note": "AR(1) re-estimated by OLS at each origin on the vintage, 1993-02..last(V)"176  }177}
Files · main
Menu

Theme