{
  "research_audit": {
    "temporal_validation": {
      "name": "observed-versus-forecast boundary",
      "passed": true,
      "details": "Postgame observations support historical research only and cannot enter a pregame projection feature."
    },
    "baseline_checks": [
      {
        "name": "registered contrast",
        "passed": true,
        "details": "fixed/retractable roof recorded closed or dome vs outdoor/open"
      },
      {
        "name": "adjusted and unadjusted estimates",
        "passed": true,
        "details": "Every outcome preserves group means plus adjusted and unadjusted differences."
      }
    ],
    "uncertainty": {
      "name": "bootstrap and robust intervals",
      "passed": true,
      "details": "Every outcome reports a bootstrap comparison and an HC3 robust adjusted interval."
    },
    "missingness": {
      "input_rows": 2127,
      "analyzed_rows": 2127,
      "excluded_rows": 0,
      "missing_by_field": {
        "outside_registered_contrast_or_incomplete": 0
      },
      "reconciled": true
    },
    "sensitivity_checks": [
      {
        "name": "multiplicity correction",
        "passed": true,
        "details": "Holm-adjusted p-values cover the preregistered outcome family."
      },
      {
        "name": "per-outcome denominator accounting",
        "passed": true,
        "details": "Each outcome records its own condition, control, and undefined-game counts; field-goal accuracy is undefined when neither team attempted a field goal."
      },
      {
        "name": "deterministic bootstrap",
        "passed": true,
        "details": "Each outcome bootstrap uses a SHA-256-derived seed label and two complete analysis executions produced the same result hash."
      },
      {
        "name": "roof-study source scope",
        "passed": true,
        "details": "The comparison uses football and recorded venue fields; NOAA observations are not an input to any outcome."
      }
    ],
    "leakage_checks": [
      {
        "name": "prediction boundary",
        "passed": true,
        "details": "The article cannot describe observed postgame weather as a forecast input."
      }
    ],
    "withholding_checks": [
      {
        "name": "study sample gate",
        "passed": true,
        "details": "640 condition and 2127 comparable games cleared the registered floors."
      },
      {
        "name": "evidence bundle gates",
        "passed": true,
        "details": "Rights, coverage, station agreement, and reproducibility gates passed."
      },
      {
        "name": "association scope",
        "passed": true,
        "details": "The study is limited to association and does not claim causality."
      }
    ]
  },
  "study": "Do NFL Kickers Score More Fantasy Points in Domes Than Outdoors?",
  "study_id": "weather-kickers-roof",
  "data_through": 2025,
  "population": "NFL regular-season games",
  "estimand": "Observed association for fixed/retractable roof recorded closed or dome vs outdoor/open, with adjusted and unadjusted game-level comparisons.",
  "sample": {
    "condition_games": 640,
    "control_games": 1487,
    "comparable_games": 2127,
    "minimum_complete_games": 1000,
    "minimum_condition_games": 250,
    "outcome_denominators": {
      "primary:field_goal_attempts": {
        "condition_games": 640,
        "control_games": 1487,
        "total_games": 2127,
        "not_defined_in_comparable_games": 0
      },
      "primary:field_goal_accuracy": {
        "condition_games": 633,
        "control_games": 1467,
        "total_games": 2100,
        "not_defined_in_comparable_games": 27
      },
      "primary:kicker_fantasy_points": {
        "condition_games": 640,
        "control_games": 1487,
        "total_games": 2127,
        "not_defined_in_comparable_games": 0
      }
    }
  },
  "contrast": "fixed/retractable roof recorded closed or dome vs outdoor/open",
  "effects": [
    {
      "study_id": "weather-kickers-roof",
      "publication_decision": "eligible",
      "contrast_id": "primary",
      "contrast": "fixed/retractable roof recorded closed or dome vs outdoor/open",
      "condition_label": "Dome or closed roof",
      "control_label": "Outdoor or open roof",
      "contrast_comparable_games": 2127,
      "outcome": "field_goal_attempts",
      "label": "Combined field-goal attempts",
      "units": "attempts-per-game",
      "condition_games": 640,
      "control_games": 1487,
      "condition_estimate": 4.0578125,
      "control_estimate": 3.7955615332885,
      "unadjusted_difference": 0.2622509667114996,
      "bootstrap_ci_95_lower": 0.1067102912743779,
      "bootstrap_ci_95_upper": 0.4202311176025552,
      "bootstrap_p_value": 0.0015,
      "p_value": 0.0023594490070833,
      "adjusted_difference": 0.2543089638870303,
      "robust_standard_error": 0.0836320592914575,
      "adjusted_ci_95_lower": 0.0903901276757734,
      "adjusted_ci_95_upper": 0.4182278000982872,
      "controls": "week and season fixed effects",
      "holm_adjusted_p": 0.0047188980141667
    },
    {
      "study_id": "weather-kickers-roof",
      "publication_decision": "eligible",
      "contrast_id": "primary",
      "contrast": "fixed/retractable roof recorded closed or dome vs outdoor/open",
      "condition_label": "Dome or closed roof",
      "control_label": "Outdoor or open roof",
      "contrast_comparable_games": 2127,
      "outcome": "field_goal_accuracy",
      "label": "Field-goal accuracy",
      "units": "share",
      "condition_games": 633,
      "control_games": 1467,
      "condition_estimate": 0.8568670227438,
      "control_estimate": 0.8417661865514626,
      "unadjusted_difference": 0.0151008361923373,
      "bootstrap_ci_95_lower": -0.0040185468745361,
      "bootstrap_ci_95_upper": 0.0340629392397316,
      "bootstrap_p_value": 0.123,
      "p_value": 0.0205794059849267,
      "adjusted_difference": 0.0211509163371767,
      "robust_standard_error": 0.0091340461175921,
      "adjusted_ci_95_lower": 0.0032481859466961,
      "adjusted_ci_95_upper": 0.0390536467276573,
      "controls": "week and season fixed effects; average field-goal distance",
      "holm_adjusted_p": 0.0205794059849267
    },
    {
      "study_id": "weather-kickers-roof",
      "publication_decision": "eligible",
      "contrast_id": "primary",
      "contrast": "fixed/retractable roof recorded closed or dome vs outdoor/open",
      "condition_label": "Dome or closed roof",
      "control_label": "Outdoor or open roof",
      "contrast_comparable_games": 2127,
      "outcome": "kicker_fantasy_points",
      "label": "Combined kicker fantasy points",
      "units": "points-per-game",
      "condition_games": 640,
      "control_games": 1487,
      "condition_estimate": 17.375,
      "control_estimate": 15.63483523873571,
      "unadjusted_difference": 1.7401647612642908,
      "bootstrap_ci_95_lower": 1.1855202116257566,
      "bootstrap_ci_95_upper": 2.2823888019082053,
      "bootstrap_p_value": 0.0,
      "p_value": 3.1210367300966452e-09,
      "adjusted_difference": 1.668381352748937,
      "robust_standard_error": 0.2815785049410703,
      "adjusted_ci_95_lower": 1.1164874830644391,
      "adjusted_ci_95_upper": 2.220275222433435,
      "controls": "week and season fixed effects",
      "holm_adjusted_p": 9.363110190289936e-09
    }
  ],
  "source_lag": null,
  "source_applicability": {
    "football_and_roof_data_through": 2025,
    "observed_weather_data_through": 2024,
    "observed_weather_role": "not used; the registered roof field defines the venue contrast"
  },
  "reproducibility": {
    "first_sha256": "8f950d771f821ecb7114fc4d3871cd7a7cf30f72fceb4746d84e657220127856",
    "matched": true,
    "second_sha256": "8f950d771f821ecb7114fc4d3871cd7a7cf30f72fceb4746d84e657220127856",
    "bootstrap_repetitions": 4000,
    "bootstrap_seed_policy": "NumPy PCG64 seeded separately for each outcome from the unsigned integer encoded by the first eight bytes of SHA-256(study_id:outcome).",
    "seed_labels": [
      "weather-kickers-roof:primary:field_goal_attempts",
      "weather-kickers-roof:primary:field_goal_accuracy",
      "weather-kickers-roof:primary:kicker_fantasy_points"
    ]
  }
}
