{
  "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": "observed 15+ mph wind vs below 10 mph with complete position scoring"
      },
      {
        "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": 907,
      "excluded_rows": 1220,
      "missing_by_field": {
        "outside_registered_contrast_or_incomplete": 1220,
        "weekly_position_scoring": 1
      },
      "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": "station agreement",
        "passed": true,
        "details": "At least 1,000 games have paired-station wind readings and their mean absolute difference is no more than 2.5 m/s."
      },
      {
        "name": "weekly position-scoring coverage",
        "passed": true,
        "details": "Every completed season is present and at least 99.9% of games include both teams' QB, RB, WR, and TE scoring."
      }
    ],
    "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": "101 condition and 907 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": "Does 15+ MPH Wind Increase Fantasy Scoring Volatility in NFL Games?",
  "study_id": "weather-fantasy-volatility",
  "data_through": 2024,
  "population": "NFL regular-season games",
  "estimand": "Observed association for observed 15+ mph wind vs below 10 mph with complete position scoring, with adjusted and unadjusted game-level comparisons.",
  "sample": {
    "condition_games": 101,
    "control_games": 806,
    "comparable_games": 907,
    "minimum_complete_games": 750,
    "minimum_condition_games": 100,
    "outcome_denominators": {
      "primary:qb_ppr_absolute_deviation": {
        "condition_games": 101,
        "control_games": 806,
        "total_games": 907,
        "not_defined_in_comparable_games": 0
      },
      "primary:rb_ppr_absolute_deviation": {
        "condition_games": 101,
        "control_games": 806,
        "total_games": 907,
        "not_defined_in_comparable_games": 0
      },
      "primary:wr_ppr_absolute_deviation": {
        "condition_games": 101,
        "control_games": 806,
        "total_games": 907,
        "not_defined_in_comparable_games": 0
      },
      "primary:te_ppr_absolute_deviation": {
        "condition_games": 101,
        "control_games": 806,
        "total_games": 907,
        "not_defined_in_comparable_games": 0
      },
      "primary:kicker_points_absolute_deviation": {
        "condition_games": 101,
        "control_games": 806,
        "total_games": 907,
        "not_defined_in_comparable_games": 0
      }
    }
  },
  "contrast": "observed 15+ mph wind vs below 10 mph with complete position scoring",
  "effects": [
    {
      "study_id": "weather-fantasy-volatility",
      "publication_decision": "eligible",
      "contrast_id": "primary",
      "contrast": "observed 15+ mph wind vs below 10 mph with complete position scoring",
      "condition_label": "15+ mph wind",
      "control_label": "Below 10 mph",
      "contrast_comparable_games": 907,
      "outcome": "qb_ppr_absolute_deviation",
      "label": "QB PPR absolute deviation from the weekly median",
      "units": "points-absolute-deviation",
      "condition_games": 101,
      "control_games": 806,
      "condition_estimate": 8.581089108910891,
      "control_estimate": 9.04165012406948,
      "unadjusted_difference": -0.4605610151585875,
      "bootstrap_ci_95_lower": -1.9706144264550531,
      "bootstrap_ci_95_upper": 1.0143030458442868,
      "bootstrap_p_value": 0.5525,
      "p_value": 0.4826723504647272,
      "adjusted_difference": -0.6392707540029626,
      "robust_standard_error": 0.9106279282857556,
      "adjusted_ci_95_lower": -2.424101493443043,
      "adjusted_ci_95_upper": 1.145559985437118,
      "controls": "week and season fixed effects; air temp c; home team and away team fixed effects",
      "holm_adjusted_p": 1.0
    },
    {
      "study_id": "weather-fantasy-volatility",
      "publication_decision": "eligible",
      "contrast_id": "primary",
      "contrast": "observed 15+ mph wind vs below 10 mph with complete position scoring",
      "condition_label": "15+ mph wind",
      "control_label": "Below 10 mph",
      "contrast_comparable_games": 907,
      "outcome": "rb_ppr_absolute_deviation",
      "label": "RB PPR absolute deviation from the weekly median",
      "units": "points-absolute-deviation",
      "condition_games": 101,
      "control_games": 806,
      "condition_estimate": 11.696435643564351,
      "control_estimate": 9.988734491315135,
      "unadjusted_difference": 1.707701152249216,
      "bootstrap_ci_95_lower": -0.1666080694297696,
      "bootstrap_ci_95_upper": 3.6395781729847942,
      "bootstrap_p_value": 0.0755,
      "p_value": 0.2856193194817178,
      "adjusted_difference": 1.2259516127430927,
      "robust_standard_error": 1.1481302208881623,
      "adjusted_ci_95_lower": -1.0243836201977052,
      "adjusted_ci_95_upper": 3.476286845683891,
      "controls": "week and season fixed effects; air temp c; home team and away team fixed effects",
      "holm_adjusted_p": 1.0
    },
    {
      "study_id": "weather-fantasy-volatility",
      "publication_decision": "eligible",
      "contrast_id": "primary",
      "contrast": "observed 15+ mph wind vs below 10 mph with complete position scoring",
      "condition_label": "15+ mph wind",
      "control_label": "Below 10 mph",
      "contrast_comparable_games": 907,
      "outcome": "wr_ppr_absolute_deviation",
      "label": "WR PPR absolute deviation from the weekly median",
      "units": "points-absolute-deviation",
      "condition_games": 101,
      "control_games": 806,
      "condition_estimate": 14.49811881188119,
      "control_estimate": 15.695831265508684,
      "unadjusted_difference": -1.1977124536274957,
      "bootstrap_ci_95_lower": -3.5882356091688568,
      "bootstrap_ci_95_upper": 1.426200835933473,
      "bootstrap_p_value": 0.3425,
      "p_value": 0.1747909202942418,
      "adjusted_difference": -2.0735425575232944,
      "robust_standard_error": 1.5280687194861782,
      "adjusted_ci_95_lower": -5.068557247716203,
      "adjusted_ci_95_upper": 0.9214721326696148,
      "controls": "week and season fixed effects; air temp c; home team and away team fixed effects",
      "holm_adjusted_p": 0.8739546014712092
    },
    {
      "study_id": "weather-fantasy-volatility",
      "publication_decision": "eligible",
      "contrast_id": "primary",
      "contrast": "observed 15+ mph wind vs below 10 mph with complete position scoring",
      "condition_label": "15+ mph wind",
      "control_label": "Below 10 mph",
      "contrast_comparable_games": 907,
      "outcome": "te_ppr_absolute_deviation",
      "label": "TE PPR absolute deviation from the weekly median",
      "units": "points-absolute-deviation",
      "condition_games": 101,
      "control_games": 806,
      "condition_estimate": 8.694554455445546,
      "control_estimate": 8.78198511166253,
      "unadjusted_difference": -0.0874306562169842,
      "bootstrap_ci_95_lower": -1.614774211974547,
      "bootstrap_ci_95_upper": 1.5011198683143776,
      "bootstrap_p_value": 0.9215,
      "p_value": 0.7080398156710526,
      "adjusted_difference": -0.313682940461911,
      "robust_standard_error": 0.8376270758085471,
      "adjusted_ci_95_lower": -1.9554320090466637,
      "adjusted_ci_95_upper": 1.3280661281228412,
      "controls": "week and season fixed effects; air temp c; home team and away team fixed effects",
      "holm_adjusted_p": 1.0
    },
    {
      "study_id": "weather-fantasy-volatility",
      "publication_decision": "eligible",
      "contrast_id": "primary",
      "contrast": "observed 15+ mph wind vs below 10 mph with complete position scoring",
      "condition_label": "15+ mph wind",
      "control_label": "Below 10 mph",
      "contrast_comparable_games": 907,
      "outcome": "kicker_points_absolute_deviation",
      "label": "Kicker points absolute deviation from the weekly median",
      "units": "points-absolute-deviation",
      "condition_games": 101,
      "control_games": 806,
      "condition_estimate": 4.306930693069307,
      "control_estimate": 4.314516129032258,
      "unadjusted_difference": -0.0075854359629508,
      "bootstrap_ci_95_lower": -0.6900294511461071,
      "bootstrap_ci_95_upper": 0.698244140481046,
      "bootstrap_p_value": 0.991,
      "p_value": 0.9991983493278424,
      "adjusted_difference": 0.0004183956811458,
      "robust_standard_error": 0.4164300108791469,
      "adjusted_ci_95_lower": -0.815784425641982,
      "adjusted_ci_95_upper": 0.8166212170042737,
      "controls": "week and season fixed effects; air temp c; home team and away team fixed effects",
      "holm_adjusted_p": 1.0
    }
  ],
  "source_lag": {
    "available_through": "2024",
    "handling": "Weather-dependent studies stop at the latest available season; the next refresh retries automatically.",
    "requested_through": "2025",
    "source_key": "noaa-global-hourly"
  },
  "source_applicability": {
    "football_data_through": 2025,
    "observed_weather_data_through": 2024,
    "observed_weather_role": "defines the 15+ mph and below-10-mph comparison groups",
    "weekly_player_data_through": 2025,
    "weekly_position_scoring_coverage": 0.999529854254819
  },
  "reproducibility": {
    "first_sha256": "dd8586d841f1396ebcfdecf9183eace6dd8c4a5e3126ca1f9ad77e8b7b5434aa",
    "matched": true,
    "second_sha256": "dd8586d841f1396ebcfdecf9183eace6dd8c4a5e3126ca1f9ad77e8b7b5434aa",
    "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-fantasy-volatility:primary:qb_ppr_absolute_deviation",
      "weather-fantasy-volatility:primary:rb_ppr_absolute_deviation",
      "weather-fantasy-volatility:primary:wr_ppr_absolute_deviation",
      "weather-fantasy-volatility:primary:te_ppr_absolute_deviation",
      "weather-fantasy-volatility:primary:kicker_points_absolute_deviation"
    ]
  }
}
