{
  "task_id": "T1-forecast",
  "model_name": "RW-drift-base-effect",
  "model_description": "Base-effect-aware random walk with drift in log levels, applied to the RSAFS vintage dated V only. drift = mean monthly log change of RSAFS over the 12 months ending at last(V) (equal to g_last/1200); forecast log level ln L_T = ln L_last(V) + h*drift for T = last(V)+h; YoY forecast = 100*ln(L_T / L_{T-12}), where L_{T-12} is the (already published) base-month level in the same vintage. No estimated parameters, no estimation window beyond the last 13 levels of the vintage; PAYEMS and UMCSENT are not used, so the only information is the RSAFS vintage V (satisfies the availability rule). Specification fixed before any evaluation error was computed.",
  "n_origins": 10,
  "first_origin": "2025-10-31",
  "last_origin": "2026-07-31",
  "rmse_naive_h1": 0.9968743518607753,
  "mae_naive_h1": 0.8487221880004494,
  "rmse_naive_h3": 1.4200403737520468,
  "mae_naive_h3": 1.2004486337876656,
  "rmse_snaive_h1": 1.6745428991342528,
  "mae_snaive_h1": 1.3066698762542999,
  "rmse_snaive_h3": 1.3160788989552046,
  "mae_snaive_h3": 1.065868691479163,
  "rmse_ar1_h1": 0.9405244111185092,
  "mae_ar1_h1": 0.7976510573253133,
  "rmse_ar1_h3": 1.1871178147423016,
  "mae_ar1_h3": 0.9526895961443078,
  "rmse_model_h1": 0.5502977033274435,
  "mae_model_h1": 0.4863319392755308,
  "rmse_model_h3": 1.1422197516272885,
  "mae_model_h3": 0.9339774440853781,
  "rel_improvement_rmse_h1": 0.4479768665928133,
  "dm_stat_h1": 2.4289778515909304,
  "dm_pvalue_h1": 0.015141457282752846,
  "conclusion_code_h1": "model_better_significant",
  "rel_improvement_rmse_h3": 0.1956427628819436,
  "dm_stat_h3": 1.5465768014315204,
  "dm_pvalue_h3": 0.12196532729732024,
  "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: RSAFS vintages 2025-10-31 and 2026-03-31 end two months before the origin; vintage 2026-04-30 adds two months (2026-02, 2026-03) at once.",
      "handling": "Targets defined as last(V)+h per the task rule; h=1 targets therefore skip 2026-03 and the 2026-03-31 origin forecasts 2026-02 (h=1) and 2026-04 (h=3)."
    },
    {
      "issue": "First releases of 2026-02 and 2026-03 both date from the 2026-04-30 vintage; 2025-09 first appears in the 2025-11-30 vintage (publication disruption).",
      "handling": "Used first_release.csv as given (month-end granularity definition)."
    },
    {
      "issue": "PAYEMS vintage 2025-12-31 adds two months at once; PAYEMS annual benchmark revision (~ -800 thousand) in vintage 2026-02-28; ragged edge between PAYEMS and RSAFS.",
      "handling": "PAYEMS read and audited but not used by the model; no effect on forecasts."
    },
    {
      "issue": "Large RSAFS benchmark level revision after the last origin (current levels ~4% below first-release levels; first-release levels drop between 2026-07 and 2026-08 targets); annual revision visible in vintage 2026-07-31.",
      "handling": "Growth rates are always computed within a single vintage, never across vintages; the revision is quantified by estimand (d) using RSAFS_current only there."
    },
    {
      "issue": "UMCSENT has 210 empty values before 1978 (quarterly survey era); current vintage used.",
      "handling": "Not used by the model; admissible only for months <= month(V) by rule."
    },
    {
      "issue": "COVID-19 period (2020-2021) produces extreme YoY swings inside the AR(1) estimation sample.",
      "handling": "AR(1) baseline estimated on the full sample 1993-02..last(V) as the task prescribes; no trimming."
    }
  ],
  "n_input_rows": {
    "RSAFS_current.csv": 417,
    "UMCSENT.csv": 887,
    "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,
    "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
  },
  "n_analysed": 20,
  "random_seed": null,
  "supplementary": {
    "real_time_design": [
      {
        "origin": "2025-10-31",
        "last_rsafs": "2025-08-01",
        "last_payems": "2025-08-01",
        "lag_months": 2
      },
      {
        "origin": "2025-11-30",
        "last_rsafs": "2025-09-01",
        "last_payems": "2025-09-01",
        "lag_months": 2
      },
      {
        "origin": "2025-12-31",
        "last_rsafs": "2025-10-01",
        "last_payems": "2025-11-01",
        "lag_months": 2
      },
      {
        "origin": "2026-01-31",
        "last_rsafs": "2025-11-01",
        "last_payems": "2025-12-01",
        "lag_months": 2
      },
      {
        "origin": "2026-02-28",
        "last_rsafs": "2025-12-01",
        "last_payems": "2026-01-01",
        "lag_months": 2
      },
      {
        "origin": "2026-03-31",
        "last_rsafs": "2026-01-01",
        "last_payems": "2026-02-01",
        "lag_months": 2
      },
      {
        "origin": "2026-04-30",
        "last_rsafs": "2026-03-01",
        "last_payems": "2026-03-01",
        "lag_months": 1
      },
      {
        "origin": "2026-05-31",
        "last_rsafs": "2026-04-01",
        "last_payems": "2026-04-01",
        "lag_months": 1
      },
      {
        "origin": "2026-06-30",
        "last_rsafs": "2026-05-01",
        "last_payems": "2026-05-01",
        "lag_months": 1
      },
      {
        "origin": "2026-07-31",
        "last_rsafs": "2026-06-01",
        "last_payems": "2026-06-01",
        "lag_months": 1
      }
    ],
    "dm_lrv_h1": 0.8091371398244311,
    "mean_loss_diff_h1": 0.6909309111103816,
    "dm_stat_hln_h1": 2.3043307191389353,
    "dm_pvalue_hln_t_h1": 0.0466674950347008,
    "n_origins_model_sqerr_lower_h1": 8,
    "dm_lrv_h3": 2.1185192376080635,
    "mean_loss_diff_h3": 0.7118487020783479,
    "dm_stat_hln_h3": 1.1573521026578926,
    "dm_pvalue_hln_t_h3": 0.27692062847238463,
    "n_origins_model_sqerr_lower_h3": 6,
    "mean_revision_h1_targets_signed": -0.5482198028388884
  }
}