{
  "attrition": {
    "evaluable_next_season_pairs": 649,
    "not_evaluable_at_40_target_threshold": 301,
    "pending_next_season_data": 128,
    "retention_rate_completed_seasons": 0.6831578947368421,
    "walk_forward_predictions": 1078
  },
  "figure_artifacts": [
    "figures/regression-quintiles.png",
    "figures/forecast-error.png",
    "figures/2025-overperformers.png"
  ],
  "forecast": {
    "expected_tds_mae": 2.3398484955208003,
    "expected_tds_rmse": 3.0032837119773292,
    "last_year_actual_mae": 2.650231124807396,
    "last_year_actual_rmse": 3.431926599579287,
    "mae_improvement_pct": 11.711530605058181
  },
  "limitations": [
    "The model observes season-level opportunity, not route-level or red-zone context.",
    "Next-season evaluation conditions on returning to at least 40 targets, creating survivor bias.",
    "Expected touchdowns are a baseline, not a player-specific projection or causal estimate.",
    "The public source snapshot ends with the 2025 season; this study tests an evergreen claim rather than ranking current players."
  ],
  "model": {
    "baseline_rationale": "Compare a naive persistence forecast (last season's actual touchdowns) with an opportunity-only expected-touchdown baseline on the same players and outcomes; neither is presented as a full fantasy projection.",
    "features": [
      "targets",
      "receptions",
      "receiving_yards",
      "receiving_air_yards",
      "receiving_first_downs"
    ],
    "minimum_targets": 40,
    "ridge_penalty": 5.0,
    "type": "ridge-regularized linear expected-touchdown model"
  },
  "next_season_pairs": 649,
  "player_seasons": 1606,
  "population": "WR/TE regular-season player-seasons with at least 40 targets",
  "regression": {
    "quintiles": [
      {
        "current_tds": 2.8615384615384616,
        "expected_tds": 5.5196580773205195,
        "n": 130,
        "next_tds": 4.384615384615385,
        "over_expected": -2.658119615782058,
        "regression_quintile": "Most under"
      },
      {
        "current_tds": 3.3615384615384616,
        "expected_tds": 4.556254923294554,
        "n": 130,
        "next_tds": 4.423076923076923,
        "over_expected": -1.194716461756092,
        "regression_quintile": "Under"
      },
      {
        "current_tds": 4.348837209302325,
        "expected_tds": 4.450702236782635,
        "n": 129,
        "next_tds": 4.488372093023256,
        "over_expected": -0.10186502748030928,
        "regression_quintile": "Near expected"
      },
      {
        "current_tds": 5.484615384615385,
        "expected_tds": 4.576033884627826,
        "n": 130,
        "next_tds": 4.630769230769231,
        "over_expected": 0.9085814999875592,
        "regression_quintile": "Over"
      },
      {
        "current_tds": 8.307692307692308,
        "expected_tds": 5.042015783312676,
        "n": 130,
        "next_tds": 5.269230769230769,
        "over_expected": 3.2656765243796317,
        "regression_quintile": "Most over"
      }
    ],
    "residual_vs_next_change_correlation": -0.49996439045065416
  },
  "seasons": [
    2014,
    2025
  ],
  "study": "Touchdown Regression v1",
  "uncertainty": {
    "mae_delta_95_ci": [
      0.17545618732559884,
      0.45017340284282026
    ],
    "mae_delta_tds": 0.3103826292865959,
    "probability_expected_better": 1.0,
    "samples": 5000,
    "seed": 4444
  },
  "walk_forward_predictions": 1078,
  "walk_forward_test_seasons": [
    2018,
    2019,
    2020,
    2021,
    2022,
    2023,
    2024,
    2025
  ]
}