{
  "schema_version": 1,
  "published_date": "2026-08-23",
  "title": "Most Accurate Fantasy Football ADP: 2016-2025 Study",
  "study_design": {
    "format": "12-team, one-QB, full-PPR redraft; QB/RB/WR/TE",
    "completed_seasons": [
      2016,
      2025
    ],
    "primary_outcome": "Final value-over-replacement rank",
    "replacement_ranks": {
      "QB": 12,
      "RB": 30,
      "WR": 42,
      "TE": 12
    },
    "injury_adjusted_view": "PPG-VORP rank among players with at least 8 offensive-snap game appearances",
    "top50_bust_definition": "Preseason ADP 50 or earlier and final VORP rank at least 30 spots worse than ADP",
    "late_hit_definition": "Preseason ADP after 100 and final VORP rank 50 or better",
    "comparison_rule": "Every provider in a study is scored on the identical player-season intersection"
  },
  "long_history": [
    {
      "provider": "FantasyPros Consensus",
      "player_seasons": 1679,
      "spearman_vorp": 0.510186,
      "mean_absolute_error_vorp": 72.531,
      "median_absolute_error_vorp": 44.0,
      "top50_hit_rate": 0.58,
      "top50_bust_30_rate": 0.384,
      "after100_top50_rate": 0.09593,
      "ppg_8plus_spearman": 0.643502
    },
    {
      "provider": "Fantasy Football Calculator",
      "player_seasons": 1679,
      "spearman_vorp": 0.493891,
      "mean_absolute_error_vorp": 73.546,
      "median_absolute_error_vorp": 44.0,
      "top50_hit_rate": 0.581162,
      "top50_bust_30_rate": 0.396794,
      "after100_top50_rate": 0.107246,
      "ppg_8plus_spearman": 0.617759
    }
  ],
  "long_history_by_season": [
    {
      "season": 2016,
      "provider": "Fantasy Football Calculator",
      "player_seasons": 163,
      "spearman_vorp": 0.327761
    },
    {
      "season": 2016,
      "provider": "FantasyPros Consensus",
      "player_seasons": 163,
      "spearman_vorp": 0.333641
    },
    {
      "season": 2017,
      "provider": "Fantasy Football Calculator",
      "player_seasons": 162,
      "spearman_vorp": 0.428297
    },
    {
      "season": 2017,
      "provider": "FantasyPros Consensus",
      "player_seasons": 162,
      "spearman_vorp": 0.454014
    },
    {
      "season": 2018,
      "provider": "Fantasy Football Calculator",
      "player_seasons": 166,
      "spearman_vorp": 0.455714
    },
    {
      "season": 2018,
      "provider": "FantasyPros Consensus",
      "player_seasons": 166,
      "spearman_vorp": 0.448621
    },
    {
      "season": 2019,
      "provider": "Fantasy Football Calculator",
      "player_seasons": 168,
      "spearman_vorp": 0.551869
    },
    {
      "season": 2019,
      "provider": "FantasyPros Consensus",
      "player_seasons": 168,
      "spearman_vorp": 0.571021
    },
    {
      "season": 2020,
      "provider": "Fantasy Football Calculator",
      "player_seasons": 172,
      "spearman_vorp": 0.495734
    },
    {
      "season": 2020,
      "provider": "FantasyPros Consensus",
      "player_seasons": 172,
      "spearman_vorp": 0.534079
    },
    {
      "season": 2021,
      "provider": "Fantasy Football Calculator",
      "player_seasons": 176,
      "spearman_vorp": 0.534288
    },
    {
      "season": 2021,
      "provider": "FantasyPros Consensus",
      "player_seasons": 176,
      "spearman_vorp": 0.547874
    },
    {
      "season": 2022,
      "provider": "Fantasy Football Calculator",
      "player_seasons": 144,
      "spearman_vorp": 0.528471
    },
    {
      "season": 2022,
      "provider": "FantasyPros Consensus",
      "player_seasons": 144,
      "spearman_vorp": 0.569921
    },
    {
      "season": 2023,
      "provider": "Fantasy Football Calculator",
      "player_seasons": 170,
      "spearman_vorp": 0.53341
    },
    {
      "season": 2023,
      "provider": "FantasyPros Consensus",
      "player_seasons": 170,
      "spearman_vorp": 0.54459
    },
    {
      "season": 2024,
      "provider": "Fantasy Football Calculator",
      "player_seasons": 174,
      "spearman_vorp": 0.489105
    },
    {
      "season": 2024,
      "provider": "FantasyPros Consensus",
      "player_seasons": 174,
      "spearman_vorp": 0.523622
    },
    {
      "season": 2025,
      "provider": "Fantasy Football Calculator",
      "player_seasons": 184,
      "spearman_vorp": 0.5506
    },
    {
      "season": 2025,
      "provider": "FantasyPros Consensus",
      "player_seasons": 184,
      "spearman_vorp": 0.532344
    }
  ],
  "modern_2023_2025": [
    {
      "provider": "ESPN",
      "player_seasons": 498,
      "spearman_vorp": 0.529867,
      "mean_absolute_error_vorp": 71.251,
      "median_absolute_error_vorp": 44.0,
      "top50_hit_rate": 0.56,
      "top50_bust_30_rate": 0.426667,
      "after100_top50_rate": 0.095,
      "ppg_8plus_spearman": 0.654757
    },
    {
      "provider": "Market Median",
      "player_seasons": 498,
      "spearman_vorp": 0.522703,
      "mean_absolute_error_vorp": 71.502,
      "median_absolute_error_vorp": 43.0,
      "top50_hit_rate": 0.573333,
      "top50_bust_30_rate": 0.42,
      "after100_top50_rate": 0.11,
      "ppg_8plus_spearman": 0.646627
    },
    {
      "provider": "FootballGuys Consensus",
      "player_seasons": 498,
      "spearman_vorp": 0.521491,
      "mean_absolute_error_vorp": 71.659,
      "median_absolute_error_vorp": 43.0,
      "top50_hit_rate": 0.56,
      "top50_bust_30_rate": 0.42,
      "after100_top50_rate": 0.094527,
      "ppg_8plus_spearman": 0.647114
    },
    {
      "provider": "FantasyPros Consensus",
      "player_seasons": 498,
      "spearman_vorp": 0.520006,
      "mean_absolute_error_vorp": 71.48,
      "median_absolute_error_vorp": 44.0,
      "top50_hit_rate": 0.553333,
      "top50_bust_30_rate": 0.426667,
      "after100_top50_rate": 0.107843,
      "ppg_8plus_spearman": 0.645521
    },
    {
      "provider": "RTSports",
      "player_seasons": 498,
      "spearman_vorp": 0.515955,
      "mean_absolute_error_vorp": 71.803,
      "median_absolute_error_vorp": 43.0,
      "top50_hit_rate": 0.58,
      "top50_bust_30_rate": 0.42,
      "after100_top50_rate": 0.1,
      "ppg_8plus_spearman": 0.630078
    },
    {
      "provider": "Fantasy Football Calculator",
      "player_seasons": 498,
      "spearman_vorp": 0.514763,
      "mean_absolute_error_vorp": 72.139,
      "median_absolute_error_vorp": 44.5,
      "top50_hit_rate": 0.573333,
      "top50_bust_30_rate": 0.413333,
      "after100_top50_rate": 0.118227,
      "ppg_8plus_spearman": 0.628669
    },
    {
      "provider": "Sleeper",
      "player_seasons": 498,
      "spearman_vorp": 0.511497,
      "mean_absolute_error_vorp": 72.466,
      "median_absolute_error_vorp": 44.0,
      "top50_hit_rate": 0.566667,
      "top50_bust_30_rate": 0.406667,
      "after100_top50_rate": 0.105,
      "ppg_8plus_spearman": 0.632194
    },
    {
      "provider": "NFL.com",
      "player_seasons": 498,
      "spearman_vorp": 0.47865,
      "mean_absolute_error_vorp": 73.016,
      "median_absolute_error_vorp": 44.0,
      "top50_hit_rate": 0.54,
      "top50_bust_30_rate": 0.426667,
      "after100_top50_rate": 0.114428,
      "ppg_8plus_spearman": 0.624535
    }
  ],
  "uncertainty": {
    "long_history_bootstrap": [
      {
        "metric": "MAE difference (A - B)",
        "provider_a": "FantasyPros Consensus",
        "provider_b": "Fantasy Football Calculator",
        "observed_difference": -1.01489,
        "ci_95": [
          -1.762359,
          -0.287656
        ],
        "a_advantage_probability": 0.9968,
        "player_seasons": 1679,
        "iterations": 5000,
        "seed": 20260823,
        "interpretation": "Negative favors A; lower MAE is better."
      },
      {
        "metric": "Spearman difference (A - B)",
        "provider_a": "FantasyPros Consensus",
        "provider_b": "Fantasy Football Calculator",
        "observed_difference": 0.016295,
        "ci_95": [
          0.007228,
          0.025569
        ],
        "a_advantage_probability": 0.9998,
        "player_seasons": 1679,
        "iterations": 5000,
        "seed": 20260823,
        "interpretation": "Positive favors A; higher Spearman is better."
      }
    ],
    "espn_vs_market_median_spearman": {
      "provider_a": "ESPN",
      "provider_b": "Market Median",
      "metric": "spearman",
      "player_seasons": 498,
      "difference_a_minus_b_95pct_interval": [
        -0.007024,
        0.021932
      ],
      "a_advantage_probability": 0.8266,
      "iterations": 5000,
      "seed": 20260823
    },
    "long_late_hit_ffc_vs_fantasypros": {
      "provider_a": "Fantasy Football Calculator",
      "provider_b": "FantasyPros Consensus",
      "metric": "after100_top50",
      "player_seasons": 1679,
      "difference_a_minus_b_95pct_interval": [
        0.001247,
        0.022028
      ],
      "a_advantage_probability": 0.9866,
      "iterations": 5000,
      "seed": 20260823
    },
    "modern_late_hit_ffc_vs_nfl": {
      "provider_a": "Fantasy Football Calculator",
      "provider_b": "NFL.com",
      "metric": "after100_top50",
      "player_seasons": 498,
      "difference_a_minus_b_95pct_interval": [
        -0.016892,
        0.024738
      ],
      "a_advantage_probability": 0.6322,
      "iterations": 5000,
      "seed": 20260823
    }
  },
  "sources": [
    {
      "name": "FantasyPros 2026 PPR ADP",
      "url": "https://www.fantasypros.com/nfl/adp/ppr-overall.php",
      "used_for": "Current composite composition and 2026 context"
    },
    {
      "name": "FantasyPros 2016 PPR ADP",
      "url": "https://www.fantasypros.com/nfl/adp/ppr-overall.php?year=2016",
      "used_for": "Historical composite and source-composition verification"
    },
    {
      "name": "Fantasy Football Calculator ADP API",
      "url": "https://help.fantasyfootballcalculator.com/article/42-adp-rest-api",
      "used_for": "Historical API parameters and annual final-window metadata"
    },
    {
      "name": "Footballguys ADP",
      "url": "https://www.footballguys.com/adp",
      "used_for": "Modern consensus and component-provider context"
    },
    {
      "name": "nflverse data releases",
      "url": "https://github.com/nflverse/nflverse-data",
      "used_for": "Weekly player statistics and player identifiers"
    },
    {
      "name": "nflreadr snap-count loader documentation",
      "url": "https://github.com/nflverse/nflreadr/blob/main/R/load_snap_counts.R",
      "used_for": "Offensive-snap game appearances"
    }
  ],
  "caveats": [
    "FantasyPros Consensus often includes Fantasy Football Calculator, so the long-history comparison is a crowd blend versus one ingredient, not two independent forecasts.",
    "The provider mix inside a historical consensus changes by season.",
    "The modern leaderboard covers only three completed seasons; ESPN has the highest point estimate, not a proven permanent advantage.",
    "ADP is partly shaped by each platform's default ordering, format mix, timing, and user population.",
    "The 2026 provider snapshot is archived separately and remains unscored until the season is complete."
  ]
}
