{
 "generated": "2026-07-12",
 "season": 2024,
 "weeks": [
  9,
  10,
  11,
  12,
  13,
  14,
  15,
  16,
  17,
  18
 ],
 "score": "td_free",
 "metric": "position-pure slate Spearman: rank players within (position x week) by projected TD-free score (yards + receptions, no TDs), correlate with the realized ordering. Mean across weekly slates; walk-forward, out-of-sample, 2025-sealed.",
 "population": "all-common: a player-week is graded only if the box score, our published board, and EVERY provider all cover it \u2014 identical rows for every column of this table.",
 "us": "the published Snapcount board (same projection grid the dashboard serves)",
 "provider_notes": {
  "market_rotowire": "RotoWire, fetched via Sleeper's public API (every row carries company='rotowire' \u2014 Sleeper serves RotoWire's projections; one feed, not two providers).",
  "market_espn": "ESPN's own weekly fantasy projections (public fantasy API)."
 },
 "skipped_providers": {
  "fantasypros_ecr": "skipped: robots.txt disallows /api/ + /json/ and the consensus-rankings API is partner-key-gated (403 anonymous, checked 2026-07-12). We don't scrape hostile surfaces; will add if/when licensed access exists."
 },
 "positions": {
  "QB": {
   "n_cells": 10,
   "avg_slate_n": 35.9,
   "us": 0.4164,
   "providers": {
    "market_rotowire": {
     "mean_rho": 0.5463,
     "rho_minus_us": 0.1299,
     "we_win_cells": 1,
     "we_lose_cells": 9,
     "tie_cells": 0,
     "sign_p": 0.0215,
     "wilcoxon_p": 0.0098
    },
    "market_espn": {
     "mean_rho": 0.516,
     "rho_minus_us": 0.0996,
     "we_win_cells": 2,
     "we_lose_cells": 8,
     "tie_cells": 0,
     "sign_p": 0.1094,
     "wilcoxon_p": 0.0098
    }
   },
   "best": "market_rotowire",
   "gap_to_best": -0.1299,
   "we_are_best": false
  },
  "RB": {
   "n_cells": 10,
   "avg_slate_n": 83.0,
   "us": 0.7298,
   "providers": {
    "market_rotowire": {
     "mean_rho": 0.7715,
     "rho_minus_us": 0.0416,
     "we_win_cells": 2,
     "we_lose_cells": 8,
     "tie_cells": 0,
     "sign_p": 0.1094,
     "wilcoxon_p": 0.0371
    },
    "market_espn": {
     "mean_rho": 0.7674,
     "rho_minus_us": 0.0376,
     "we_win_cells": 2,
     "we_lose_cells": 8,
     "tie_cells": 0,
     "sign_p": 0.1094,
     "wilcoxon_p": 0.0488
    }
   },
   "best": "market_rotowire",
   "gap_to_best": -0.0417,
   "we_are_best": false
  },
  "WR": {
   "n_cells": 10,
   "avg_slate_n": 133.1,
   "us": 0.7152,
   "providers": {
    "market_rotowire": {
     "mean_rho": 0.7292,
     "rho_minus_us": 0.014,
     "we_win_cells": 3,
     "we_lose_cells": 7,
     "tie_cells": 0,
     "sign_p": 0.3438,
     "wilcoxon_p": 0.1309
    },
    "market_espn": {
     "mean_rho": 0.7451,
     "rho_minus_us": 0.0299,
     "we_win_cells": 1,
     "we_lose_cells": 9,
     "tie_cells": 0,
     "sign_p": 0.0215,
     "wilcoxon_p": 0.0137
    }
   },
   "best": "market_espn",
   "gap_to_best": -0.0299,
   "we_are_best": false
  },
  "TE": {
   "n_cells": 10,
   "avg_slate_n": 66.5,
   "us": 0.6435,
   "providers": {
    "market_rotowire": {
     "mean_rho": 0.6659,
     "rho_minus_us": 0.0224,
     "we_win_cells": 4,
     "we_lose_cells": 6,
     "tie_cells": 0,
     "sign_p": 0.7539,
     "wilcoxon_p": 0.1934
    },
    "market_espn": {
     "mean_rho": 0.6817,
     "rho_minus_us": 0.0382,
     "we_win_cells": 3,
     "we_lose_cells": 7,
     "tie_cells": 0,
     "sign_p": 0.3438,
     "wilcoxon_p": 0.0645
    }
   },
   "best": "market_espn",
   "gap_to_best": -0.0382,
   "we_are_best": false
  }
 },
 "overall": {
  "us": 0.6262,
  "market_rotowire": 0.6782,
  "market_espn": 0.6775,
  "positions_where_we_are_best": []
 },
 "n_cells": 40
}