{
  "series_id": "weather-stadium-kicking",
  "version": "1.0",
  "question": "After accounting for kick distance and season, which NFL stadiums have produced the largest positive and negative field-goal accuracy residuals since 2018?",
  "hypothesis": "Stadiums differ in distance-and-season-adjusted field-goal accuracy; the largest positive and negative adjusted residuals are identifiable with uncertainty that survives multiplicity correction.",
  "estimand": "Per-stadium expected field goals made above a leave-one-season-out, distance-adjusted expectation (adjusted accuracy residual), estimated on NFL regular-season field-goal attempts from 2018 through the latest fully completed season (2025 per freshness contract; the current partial season is never treated as complete).",
  "population": "All NFL regular-season field-goal attempts (play_type == 'field_goal') from the 2018 season through the latest fully completed season, one kick per modeling unit, with game_id preserved for clustering. Postseason and preseason attempts are excluded. Stadiums are eligible for the primary ranking only if they host at least 80 field-goal attempts and at least 40 regular-season games in the window; ineligible stadiums are reported in an appendix but not ranked.",
  "outcomes": [
    "Primary: per-stadium adjusted accuracy residual \u2014 field goals made minus leave-one-season-out expected makes, where expectation is modeled from kick distance (kick_distance, modeled nonlinearly) and season, with field_goal_result == 'made' as success and all documented missed/blocked results as failures.",
    "Secondary: per-stadium adjusted make rate (residual per attempt) for comparability across attempt volumes.",
    "Raw make percentage is computed for context only and is never used for ranking."
  ],
  "features": [
    "kick_distance (continuous, modeled nonlinearly, e.g., restricted cubic spline or binned with documented fallbacks for sparse held-out distance groups)",
    "season (fixed effect, leave-one-season-out for expectation fitting)",
    "stadium / stadium_id (grouping variable for the residual)",
    "game_id (clustering key for uncertainty)",
    "roof, surface, temp, wind (descriptive context only; not part of the primary adjustment)"
  ],
  "temporal_split": "Leave-one-season-out: for each season s in 2018..latest completed, the distance-and-season expectation is fit on all other seasons and applied to season s; stadium residuals aggregate across all held-out seasons. The current partial season is excluded entirely.",
  "baselines": [
    "League-wide raw make percentage by distance bin (no stadium effect).",
    "Distance-only logistic model (no season term).",
    "Distance-and-season model without stadium adjustment (null of zero stadium residual)."
  ],
  "metrics": [
    "Adjusted makes above expectation per stadium (total and per attempt).",
    "Shrunken stadium estimate (empirical-Bayes shrinkage toward the league mean, rule locked before evaluation).",
    "Rank ordering of shrunken residuals, positive and negative."
  ],
  "uncertainty": "Game-clustered bootstrap or cluster-robust standard errors by game_id for every displayed stadium estimate; 95% intervals reported for all ranked stadiums; Holm correction applied across the full eligible-stadium family for any significance claims.",
  "sensitivities": [
    "Eligibility thresholds of 60 and 120 field-goal attempts.",
    "Alternate distance binning / alternate spline specifications.",
    "Restricted window: 2021 through latest completed season.",
    "With and without empirical-Bayes shrinkage, to show which rankings are sample-size driven.",
    "Sparse held-out distance groups: every fallback (e.g., bin merging) documented."
  ],
  "withhold_if": [
    "Latest fully completed season data are unavailable or the freshness contract (minimum season 2025, latest_completed_season mode) is violated.",
    "Fewer than 8 eligible stadiums meet the 80-attempt / 40-game threshold.",
    "Distance or result fields are materially missing (>5% of field-goal attempts) without a documented, pre-registered imputation rule.",
    "Any source record's rights status is not approved at run time."
  ],
  "locked_at": "2026-09-03T20:20:10.518014+00:00"
}
