{
  "task_id": "T1-forecast",
  "model_name": "BED (base-effect drift)",
  "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.",
  "n_origins": 10,
  "first_origin": "2025-10-31",
  "last_origin": "2026-07-31",
  "rmse_naive_h1": 0.996874361153601,
  "mae_naive_h1": 0.8487221999999999,
  "rmse_naive_h3": 1.4200403019751233,
  "mae_naive_h3": 1.2004486,
  "rmse_snaive_h1": 1.674542814799132,
  "mae_snaive_h1": 1.3066698,
  "rmse_snaive_h3": 1.3160788608225193,
  "mae_snaive_h3": 1.0658687,
  "rmse_ar1_h1": 0.940524354787796,
  "mae_ar1_h1": 0.7976509999999999,
  "rmse_ar1_h3": 1.1871176370926342,
  "mae_ar1_h3": 0.9526893999999999,
  "rmse_model_h1": 0.5502976390310066,
  "mae_model_h1": 0.48633190000000004,
  "rmse_model_h3": 1.1422196608203694,
  "mae_model_h3": 0.9339774000000001,
  "rel_improvement_rmse_h1": 0.4479769362367869,
  "rel_improvement_rmse_h3": 0.19564278617186803,
  "dm_stat_h1": 2.4289778933188826,
  "dm_pvalue_h1": 0.015141455540092164,
  "dm_stat_h3": 1.546577321548468,
  "dm_pvalue_h3": 0.12196520179653336,
  "conclusion_code_h1": "model_better_significant",
  "conclusion_code_h3": "model_better_not_significant",
  "mean_abs_revision_h1_targets": 0.5482198028388884,
  "feasibility": "complete",
  "feasibility_reason": null,
  "data_issues": [
    {
      "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.",
      "handling": "Targets defined as last(V)+h from the vintage content, per the task rule, not from the calendar."
    },
    {
      "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.",
      "handling": "No adjustment: actuals are first-release values by definition; the revision is quantified in mean_abs_revision_h1_targets and discussed."
    },
    {
      "issue": "UMCSENT has 210 empty values (all before 1978, quarterly survey era) and is a current (not real-time) vintage.",
      "handling": "Not used by the model; would have been usable under the stated no-revision rule."
    },
    {
      "issue": "PAYEMS vintages sometimes extend beyond last(V) of RSAFS (e.g. 2025-12-31 vintage ends 2025-11 while RSAFS ends 2025-10).",
      "handling": "Not used by the model."
    },
    {
      "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.",
      "handling": "None needed; checked for consistency."
    }
  ],
  "n_input_rows": {
    "first_release.csv": 28,
    "vintages/PAYEMS_vintage_2025-10-31.csv": 1040,
    "vintages/PAYEMS_vintage_2025-11-30.csv": 1041,
    "vintages/PAYEMS_vintage_2025-12-31.csv": 1043,
    "vintages/PAYEMS_vintage_2026-01-31.csv": 1044,
    "vintages/PAYEMS_vintage_2026-02-28.csv": 1045,
    "vintages/PAYEMS_vintage_2026-03-31.csv": 1046,
    "vintages/PAYEMS_vintage_2026-04-30.csv": 1047,
    "vintages/PAYEMS_vintage_2026-05-31.csv": 1048,
    "vintages/PAYEMS_vintage_2026-06-30.csv": 1049,
    "vintages/PAYEMS_vintage_2026-07-31.csv": 1050,
    "UMCSENT.csv": 887,
    "vintages/RSAFS_vintage_2025-10-31.csv": 404,
    "vintages/RSAFS_vintage_2025-11-30.csv": 405,
    "vintages/RSAFS_vintage_2025-12-31.csv": 406,
    "vintages/RSAFS_vintage_2026-01-31.csv": 407,
    "vintages/RSAFS_vintage_2026-02-28.csv": 408,
    "vintages/RSAFS_vintage_2026-03-31.csv": 409,
    "vintages/RSAFS_vintage_2026-04-30.csv": 411,
    "vintages/RSAFS_vintage_2026-05-31.csv": 412,
    "vintages/RSAFS_vintage_2026-06-30.csv": 413,
    "vintages/RSAFS_vintage_2026-07-31.csv": 414,
    "RSAFS_current.csv": 417
  },
  "n_analysed": 20,
  "random_seed": 20261030,
  "supplementary": {
    "bootstrap_rmse_diff": {
      "h1": {
        "rmse_diff_model_minus_naive": -0.44657672212259436,
        "ci95": [
          -0.6982530105268047,
          -0.2612591327392867
        ],
        "share_draws_model_better": 1.0,
        "block_length": 2,
        "n_boot": 9999,
        "dm_lrv": 0.8091373211601599,
        "n_origins_model_smaller_sq_error": 8
      },
      "h3": {
        "rmse_diff_model_minus_naive": -0.2778206411547539,
        "ci95": [
          -0.6376736715848398,
          0.14490466807245417
        ],
        "share_draws_model_better": 0.8764876487648765,
        "block_length": 3,
        "n_boot": 9999,
        "dm_lrv": 2.1185178340561874,
        "n_origins_model_smaller_sq_error": 6
      }
    },
    "origins": [
      {
        "origin": "2025-10-31",
        "last": "2025-08",
        "lag_months": 2
      },
      {
        "origin": "2025-11-30",
        "last": "2025-09",
        "lag_months": 2
      },
      {
        "origin": "2025-12-31",
        "last": "2025-10",
        "lag_months": 2
      },
      {
        "origin": "2026-01-31",
        "last": "2025-11",
        "lag_months": 2
      },
      {
        "origin": "2026-02-28",
        "last": "2025-12",
        "lag_months": 2
      },
      {
        "origin": "2026-03-31",
        "last": "2026-01",
        "lag_months": 2
      },
      {
        "origin": "2026-04-30",
        "last": "2026-03",
        "lag_months": 1
      },
      {
        "origin": "2026-05-31",
        "last": "2026-04",
        "lag_months": 1
      },
      {
        "origin": "2026-06-30",
        "last": "2026-05",
        "lag_months": 1
      },
      {
        "origin": "2026-07-31",
        "last": "2026-06",
        "lag_months": 1
      }
    ],
    "revisions_h1_targets": {
      "2025-09": -0.5502167925401702,
      "2025-10": -0.6641763167214578,
      "2025-11": -0.4389199822781502,
      "2025-12": -0.3286268165544084,
      "2026-01": -0.9756759757612237,
      "2026-02": -0.40995563089387543,
      "2026-04": -0.7481728291014038,
      "2026-05": -0.16533992600871716,
      "2026-06": -0.7440888135516674,
      "2026-07": -0.45702494497780943
    },
    "ar1_note": "AR(1) re-estimated by OLS at each origin on the vintage, 1993-02..last(V)"
  }
}