{
  "slug": "teammate-density-nfl",
  "title": "Do NFL-rich locker rooms produce more NFL players?",
  "subtitle": "Teammate-density signals across alt-football team-seasons",
  "category": "Football",
  "tags": [
    "football",
    "nfl",
    "teammates",
    "team-season",
    "network"
  ],
  "computed_at": "2026-05-20T00:46:02+00:00",
  "headline_stats": [
    {
      "label": "Top incubator team-season",
      "value": "USFL 2023 STALLIONS",
      "sub": "13.7% of the roster reached the NFL afterward, vs 3.8% typical for that league"
    },
    {
      "label": "Highest vs lowest density group",
      "value": "24.5% vs 2.6%",
      "sub": "NFL veteran rates for players in the most NFL-rich teammate environments vs the least"
    },
    {
      "label": "Overall NFL veteran rate",
      "value": "9.9%",
      "sub": "Across 3,393 alt-football team-season player records"
    },
    {
      "label": "Team-season association",
      "value": "r = 0.61",
      "sub": "Correlation between roster NFL-veteran share and post-season NFL conversion across team-seasons"
    }
  ],
  "charts": [
    {
      "id": "chart-density-deciles",
      "type": "bar",
      "title": "NFL conversion by teammate-density group",
      "labels": [
        "D1",
        "D2",
        "D3",
        "D4",
        "D5",
        "D6",
        "D7",
        "D8",
        "D9",
        "D10"
      ],
      "datasets": [
        {
          "label": "Has NFL history (%)",
          "data": [
            2.6,
            3.5,
            6.8,
            9.7,
            6.5,
            8.6,
            4.1,
            10.3,
            22.1,
            24.5
          ]
        }
      ],
      "value_suffix": "%",
      "note": "D1 is the lowest-density group and D10 is the highest-density group."
    },
    {
      "id": "chart-season-trend",
      "type": "line",
      "title": "League-wide trend by season cohort",
      "labels": [
        "2022",
        "2023",
        "2024"
      ],
      "datasets": [
        {
          "label": "NFL veterans on roster (%)",
          "data": [
            9.3,
            11.1,
            10.5
          ]
        },
        {
          "label": "Reached NFL after this season (%)",
          "data": [
            2.2,
            2.5,
            0.4
          ]
        }
      ],
      "value_suffix": "%",
      "note": "Each season pools all eligible non-NFL football rosters that year (minimum 60 player-records). This shows whether context and outcomes move together over time."
    },
    {
      "id": "chart-team-scatter",
      "type": "scatter",
      "title": "Team-season signal: NFL veteran share vs players who reached the NFL afterward",
      "datasets": [
        {
          "label": "Team-seasons",
          "data": [
            {
              "x": 10.5,
              "y": 2.3,
              "team_season": "USFL 2022 MICH",
              "league": "USFL",
              "roster_size": 86
            },
            {
              "x": 20.0,
              "y": 0.0,
              "team_season": "UFL 2024 PANTHERS",
              "league": "UFL",
              "roster_size": 60
            },
            {
              "x": 9.9,
              "y": 1.2,
              "team_season": "CFL 2022 HAM",
              "league": "CFL",
              "roster_size": 81
            },
            {
              "x": 4.2,
              "y": 1.0,
              "team_season": "CFL 2023 HAM",
              "league": "CFL",
              "roster_size": 96
            },
            {
              "x": 4.4,
              "y": 0.0,
              "team_season": "CFL 2024 HAM",
              "league": "CFL",
              "roster_size": 113
            },
            {
              "x": 3.6,
              "y": 0.0,
              "team_season": "CFL 2023 OTT",
              "league": "CFL",
              "roster_size": 110
            },
            {
              "x": 27.3,
              "y": 3.0,
              "team_season": "UFL 2024 BATTLEHAWKS",
              "league": "UFL",
              "roster_size": 66
            },
            {
              "x": 7.3,
              "y": 0.0,
              "team_season": "CFL 2024 WPG",
              "league": "CFL",
              "roster_size": 124
            },
            {
              "x": 6.9,
              "y": 1.4,
              "team_season": "CFL 2022 WPG",
              "league": "CFL",
              "roster_size": 72
            },
            {
              "x": 9.5,
              "y": 1.2,
              "team_season": "USFL 2022 NJ",
              "league": "USFL",
              "roster_size": 84
            },
            {
              "x": 17.0,
              "y": 2.1,
              "team_season": "USFL 2023 GENERALS",
              "league": "USFL",
              "roster_size": 47
            },
            {
              "x": 17.4,
              "y": 2.2,
              "team_season": "XFL 2023 VIPERS",
              "league": "XFL",
              "roster_size": 46
            },
            {
              "x": 5.2,
              "y": 0.0,
              "team_season": "CFL 2022 OTT",
              "league": "CFL",
              "roster_size": 77
            },
            {
              "x": 9.1,
              "y": 0.0,
              "team_season": "XFL 2023 GUARDIANS",
              "league": "XFL",
              "roster_size": 44
            },
            {
              "x": 10.9,
              "y": 0.0,
              "team_season": "CFL 2024 BC",
              "league": "CFL",
              "roster_size": 119
            },
            {
              "x": 3.1,
              "y": 0.0,
              "team_season": "CFL 2023 EDM",
              "league": "CFL",
              "roster_size": 98
            },
            {
              "x": 29.4,
              "y": 5.9,
              "team_season": "XFL 2023 BRAHMAS",
              "league": "XFL",
              "roster_size": 51
            },
            {
              "x": 31.2,
              "y": 8.3,
              "team_season": "XFL 2023 DEFENDERS",
              "league": "XFL",
              "roster_size": 48
            },
            {
              "x": 9.5,
              "y": 6.0,
              "team_season": "USFL 2022 PIT",
              "league": "USFL",
              "roster_size": 84
            },
            {
              "x": 18.0,
              "y": 6.0,
              "team_season": "XFL 2023 ROUGHNECKS",
              "league": "XFL",
              "roster_size": 50
            },
            {
              "x": 8.1,
              "y": 1.2,
              "team_season": "CFL 2023 TOR",
              "league": "CFL",
              "roster_size": 86
            },
            {
              "x": 3.5,
              "y": 0.0,
              "team_season": "CFL 2024 MTL",
              "league": "CFL",
              "roster_size": 113
            },
            {
              "x": 8.2,
              "y": 0.0,
              "team_season": "USFL 2022 TB",
              "league": "USFL",
              "roster_size": 73
            },
            {
              "x": 4.3,
              "y": 0.0,
              "team_season": "CFL 2024 OTT",
              "league": "CFL",
              "roster_size": 116
            },
            {
              "x": 22.4,
              "y": 10.2,
              "team_season": "USFL 2023 PANTHERS",
              "league": "USFL",
              "roster_size": 49
            },
            {
              "x": 8.7,
              "y": 2.2,
              "team_season": "USFL 2023 MAULERS",
              "league": "USFL",
              "roster_size": 46
            },
            {
              "x": 9.3,
              "y": 0.0,
              "team_season": "CFL 2022 SSK",
              "league": "CFL",
              "roster_size": 86
            },
            {
              "x": 26.0,
              "y": 10.0,
              "team_season": "XFL 2023 BATTLEHAWKS",
              "league": "XFL",
              "roster_size": 50
            },
            {
              "x": 8.3,
              "y": 2.4,
              "team_season": "CFL 2022 CGY",
              "league": "CFL",
              "roster_size": 84
            },
            {
              "x": 12.4,
              "y": 2.1,
              "team_season": "CFL 2023 CGY",
              "league": "CFL",
              "roster_size": 97
            },
            {
              "x": 8.7,
              "y": 0.9,
              "team_season": "CFL 2024 CGY",
              "league": "CFL",
              "roster_size": 115
            },
            {
              "x": 11.7,
              "y": 0.0,
              "team_season": "UFL 2024 ROUGHNECKS",
              "league": "UFL",
              "roster_size": 60
            },
            {
              "x": 26.1,
              "y": 4.3,
              "team_season": "XFL 2023 SEA DRAGONS",
              "league": "XFL",
              "roster_size": 46
            },
            {
              "x": 7.8,
              "y": 0.0,
              "team_season": "CFL 2023 SSK",
              "league": "CFL",
              "roster_size": 103
            },
            {
              "x": 8.0,
              "y": 0.0,
              "team_season": "CFL 2024 SSK",
              "league": "CFL",
              "roster_size": 113
            },
            {
              "x": 6.9,
              "y": 1.0,
              "team_season": "CFL 2023 BC",
              "league": "CFL",
              "roster_size": 102
            },
            {
              "x": 6.2,
              "y": 1.0,
              "team_season": "CFL 2023 WPG",
              "league": "CFL",
              "roster_size": 97
            },
            {
              "x": 10.6,
              "y": 2.4,
              "team_season": "CFL 2022 TOR",
              "league": "CFL",
              "roster_size": 85
            },
            {
              "x": 7.1,
              "y": 0.0,
              "team_season": "CFL 2024 TOR",
              "league": "CFL",
              "roster_size": 112
            },
            {
              "x": 20.0,
              "y": 0.0,
              "team_season": "UFL 2024 BRAHMAS",
              "league": "UFL",
              "roster_size": 65
            },
            {
              "x": 24.5,
              "y": 8.2,
              "team_season": "XFL 2023 RENEGADES",
              "league": "XFL",
              "roster_size": 49
            },
            {
              "x": 18.8,
              "y": 7.2,
              "team_season": "USFL 2022 BHAM",
              "league": "USFL",
              "roster_size": 69
            },
            {
              "x": 23.5,
              "y": 13.7,
              "team_season": "USFL 2023 STALLIONS",
              "league": "USFL",
              "roster_size": 51
            },
            {
              "x": 4.9,
              "y": 0.0,
              "team_season": "CFL 2024 EDM",
              "league": "CFL",
              "roster_size": 122
            },
            {
              "x": 27.4,
              "y": 3.2,
              "team_season": "UFL 2024 RENEGADES",
              "league": "UFL",
              "roster_size": 62
            },
            {
              "x": 11.8,
              "y": 2.6,
              "team_season": "CFL 2022 BC",
              "league": "CFL",
              "roster_size": 76
            },
            {
              "x": 9.0,
              "y": 3.0,
              "team_season": "USFL 2022 NO",
              "league": "USFL",
              "roster_size": 67
            },
            {
              "x": 12.8,
              "y": 0.0,
              "team_season": "USFL 2023 SHOWBOATS",
              "league": "USFL",
              "roster_size": 47
            },
            {
              "x": 4.6,
              "y": 0.0,
              "team_season": "CFL 2023 MTL",
              "league": "CFL",
              "roster_size": 87
            },
            {
              "x": 13.1,
              "y": 7.1,
              "team_season": "USFL 2022 HOU",
              "league": "USFL",
              "roster_size": 84
            },
            {
              "x": 1.4,
              "y": 0.0,
              "team_season": "CFL 2022 EDM",
              "league": "CFL",
              "roster_size": 69
            },
            {
              "x": 22.1,
              "y": 0.0,
              "team_season": "UFL 2024 DEFENDERS",
              "league": "UFL",
              "roster_size": 68
            },
            {
              "x": 10.9,
              "y": 0.0,
              "team_season": "USFL 2023 BREAKERS",
              "league": "USFL",
              "roster_size": 46
            },
            {
              "x": 6.8,
              "y": 1.4,
              "team_season": "USFL 2022 PHI",
              "league": "USFL",
              "roster_size": 73
            },
            {
              "x": 11.3,
              "y": 0.0,
              "team_season": "USFL 2023 STARS",
              "league": "USFL",
              "roster_size": 53
            },
            {
              "x": 6.7,
              "y": 0.0,
              "team_season": "IFL 2023 KNIGHT HAWKS",
              "league": "IFL",
              "roster_size": 15
            },
            {
              "x": 39.3,
              "y": 1.8,
              "team_season": "UFL 2024 STALLIONS",
              "league": "UFL",
              "roster_size": 56
            },
            {
              "x": 0.0,
              "y": 0.0,
              "team_season": "AFL 2024 SOUL",
              "league": "AFL",
              "roster_size": 15
            },
            {
              "x": 6.4,
              "y": 4.3,
              "team_season": "USFL 2023 GAMBLERS",
              "league": "USFL",
              "roster_size": 47
            },
            {
              "x": 3.4,
              "y": 0.0,
              "team_season": "UFL 2024 SHOWBOATS",
              "league": "UFL",
              "roster_size": 59
            },
            {
              "x": 8.1,
              "y": 0.0,
              "team_season": "CFL 2022 MTL",
              "league": "CFL",
              "roster_size": 86
            },
            {
              "x": 0.0,
              "y": 0.0,
              "team_season": "AFL 2024 OUTLAWS",
              "league": "AFL",
              "roster_size": 17
            },
            {
              "x": 0.0,
              "y": 0.0,
              "team_season": "AFL 2024 WOLFPACK",
              "league": "AFL",
              "roster_size": 16
            },
            {
              "x": 0.0,
              "y": 0.0,
              "team_season": "AFL 2024 BLACKBEARS",
              "league": "AFL",
              "roster_size": 16
            },
            {
              "x": 0.0,
              "y": 0.0,
              "team_season": "IFL 2023 STRIKE FORCE",
              "league": "IFL",
              "roster_size": 15
            }
          ]
        }
      ],
      "x_label": "NFL veterans on roster (%)",
      "y_label": "Reached NFL after this season (%)",
      "value_suffix": "%",
      "note": "Each dot is one team-season (minimum roster size 15, known year). X-axis is veteran share on roster; Y-axis is share that reached the NFL after that season."
    },
    {
      "id": "chart-incubators",
      "type": "bar",
      "title": "Top team-seasons by subsequent NFL rate vs league baseline",
      "labels": [
        "USFL 2023 STALLIONS",
        "USFL 2023 PANTHERS",
        "XFL 2023 BATTLEHAWKS",
        "USFL 2022 BHAM",
        "USFL 2022 HOU",
        "XFL 2023 DEFENDERS",
        "XFL 2023 RENEGADES",
        "USFL 2022 PIT",
        "UFL 2024 RENEGADES",
        "CFL 2022 BC",
        "UFL 2024 BATTLEHAWKS",
        "CFL 2022 CGY",
        "CFL 2022 TOR",
        "CFL 2023 CGY",
        "UFL 2024 STALLIONS"
      ],
      "datasets": [
        {
          "label": "Reached NFL after this season (%)",
          "data": [
            13.7,
            10.2,
            10.0,
            7.2,
            7.1,
            8.3,
            8.2,
            6.0,
            3.2,
            2.6,
            3.0,
            2.4,
            2.4,
            2.1,
            1.8
          ]
        },
        {
          "label": "League baseline (%)",
          "data": [
            3.8,
            3.8,
            5.7,
            3.8,
            3.8,
            5.7,
            5.7,
            3.8,
            1.0,
            0.6,
            1.0,
            0.6,
            0.6,
            0.6,
            1.0
          ]
        }
      ],
      "indexAxis": "y",
      "value_suffix": "%",
      "note": "Only counts players whose first NFL appearance came AFTER this team-season. Minimum roster size 15."
    },
    {
      "id": "chart-league-box",
      "type": "boxplot",
      "title": "League spread in team-season NFL-after rates (box-and-whisker)",
      "boxes": [
        {
          "label": "XFL",
          "n": 8,
          "min": 0.0,
          "q1": 3.8,
          "median": 6.0,
          "q3": 8.2,
          "max": 10.0,
          "outliers": []
        },
        {
          "label": "USFL",
          "n": 16,
          "min": 0.0,
          "q1": 0.9,
          "median": 2.2,
          "q3": 6.3,
          "max": 13.7,
          "outliers": []
        },
        {
          "label": "UFL",
          "n": 8,
          "min": 0.0,
          "q1": 0.0,
          "median": 0.0,
          "q3": 2.1,
          "max": 3.2,
          "outliers": []
        },
        {
          "label": "CFL",
          "n": 27,
          "min": 0.0,
          "q1": 0.0,
          "median": 0.0,
          "q3": 1.1,
          "max": 2.6,
          "outliers": []
        }
      ],
      "value_suffix": "%",
      "note": "Box = interquartile range (Q1 to Q3), center line = median, whiskers = non-outlier range, dots = outliers. Includes leagues with at least six eligible team-seasons."
    },
    {
      "id": "chart-league-distribution",
      "type": "bar",
      "title": "NFL footprint by league (team-seasons with a chance to reach the NFL afterward)",
      "labels": [
        "XFL",
        "UFL",
        "USFL",
        "CFL",
        "IFL",
        "AFL"
      ],
      "datasets": [
        {
          "label": "NFL veterans on roster (%)",
          "data": [
            22.9,
            21.4,
            12.0,
            6.9,
            1.3,
            0.7
          ]
        },
        {
          "label": "Reached NFL after this team-season (%)",
          "data": [
            5.7,
            1.0,
            3.8,
            0.6,
            0.0,
            0.0
          ]
        }
      ],
      "indexAxis": "y",
      "value_suffix": "%",
      "note": "Each league pools every team-season strictly before the latest NFL season in the data (2025). Team-seasons from 2025 or later are excluded because no later NFL season exists yet for players to reach. Minimum 30 roster records per league."
    }
  ],
  "sections": [
    {
      "heading": "What this study asks",
      "html": "<p>Instead of only comparing leagues, this study looks at the team around each player. For each alt-football team-season, we measure how many teammates show up in NFL records, then check whether players from those NFL-rich teams are also more likely to appear in NFL records.</p>"
    },
    {
      "heading": "How to read the groups",
      "html": "<p>Each player gets an average teammate-density score based on the teams they played on. We sort players into 10 groups from D1 (lowest) to D10 (highest), then compare NFL reach rates across those groups.</p><p>In this snapshot, the gap between the endpoints is large: D10 sits at <strong>24.5%</strong> while D1 is <strong>2.6%</strong>. That spread is descriptive rather than causal, but it is too large to ignore when ranking environments.</p>"
    },
    {
      "heading": "What the new NFL season depth adds",
      "html": "<p>This version uses expanded NFL season coverage in player records, which sharpens the <em>reached NFL after</em> signal. Earlier snapshots often collapsed this into a coarse NFL/non-NFL flag. With season-level dating, we can now ask whether a player reached the league <em>after</em> a given alt-league stop rather than merely whether they ever appeared there.</p><p>That change matters most for timing: newer alt seasons are right-censored until later NFL years arrive in the data. For that reason, the league-comparison charts only include alt team-seasons that still have at least one later NFL season available for observation.</p>"
    },
    {
      "heading": "Team-season incubators",
      "html": "<p>The table ranks team-seasons by how many roster players went on to reach the NFL <em>after</em> that season, compared with the typical rate for the same league. That isolates teams that actually launched players into the NFL, rather than teams that simply collected NFL veterans.</p><p>The right-most columns show the share of the roster who are NFL veterans (ever in the NFL, before or after) for context. Read this jointly with the scatter and box plots: one chart captures central tendency, the others show variance and outliers.</p>"
    },
    {
      "heading": "Variance across leagues",
      "html": "<p>League averages can hide structure. Box-and-whisker views show whether a league is consistently strong or just carrying a small number of unusually productive team-seasons. In practical terms, evaluators care about both: median environment and tail upside.</p><p>In the current sample, <strong>XFL</strong> posts the highest median team-season after-rate among leagues with enough observations (median 6.0%, n=8).</p>"
    },
    {
      "heading": "Conclusions",
      "html": "<ol><li><strong>NFL-heavy locker rooms are associated with better NFL outcomes later.</strong> Across player-density groups, the top-density cohort is at 24.5% versus 2.6% at the bottom. That is a large practical gap.</li><li><strong>League context is not uniform.</strong> On pooled eligible team-seasons, XFL shows the highest reached-after rate (5.7%), while IFL is lowest (0.0%).</li><li><strong>Typical team-season performance differs from single-year spikes.</strong> The strongest median league in the box plot is XFL (median 6.0%), while the weakest median is CFL (median 0.0%).</li><li><strong>Caveat:</strong> these are <em>associations</em>, not causal estimates. The study can show that team environment and NFL outcomes move together, but it cannot prove that adding NFL veterans by itself causes later NFL conversion.</li></ol>"
    }
  ],
  "methodology": "<p>Data source: player files under <code>docs/data/players/</code> and league-season metadata in <code>docs/data/sports.json</code>.</p><p>NFL season timing is taken from <code>player.nfl.seasons</code> when available (ESPN season rows), with NFL appearances inferred from <code>sport_id</code> metadata as a fallback for legacy records.</p><p>Team-season identity is inferred from roster appearances keyed by <code>(sport_id, team)</code>. Only non-NFL North American football leagues are included in environment construction. ELF (European League of Football), EFA (European Football Alliance), and X-League (Japan) are excluded because their player pools are predominantly non-American, so near-zero NFL linkage in those leagues is structural rather than environmental. \"NFL veteran\" means the player has any NFL appearance on record (before or after the team-season). \"Reached NFL after\" means the player has at least one NFL appearance whose season is later than the team-season in question; team-seasons without a known year are excluded from the incubator ranking.</p><p>League-wide and season-cohort comparisons are right-censor adjusted: alt team-seasons are only included if at least one later NFL season exists in the source data, so recent cohorts are not penalized for lack of elapsed time.</p><p>Chart notes: scatter plots show one point per team-season; box plots summarize distributions at league level; line charts show pooled season cohorts and are weighted by roster records (not by number of teams).</p><p>This is pattern-tracking, not proof of cause and effect. Team context and NFL outcomes move together here, but that does not prove one directly causes the other.</p>",
  "table": {
    "columns": [
      {
        "key": "team_season",
        "label": "Team-season"
      },
      {
        "key": "league",
        "label": "League"
      },
      {
        "key": "roster_size",
        "label": "Roster size",
        "numeric": true
      },
      {
        "key": "nfl_after",
        "label": "Reached NFL after",
        "numeric": true
      },
      {
        "key": "after_pct",
        "label": "Reached NFL after %",
        "numeric": true,
        "suffix": "%"
      },
      {
        "key": "league_baseline_after_pct",
        "label": "League typical %",
        "numeric": true,
        "suffix": "%"
      },
      {
        "key": "lift_pct_points",
        "label": "Difference (points)",
        "numeric": true
      },
      {
        "key": "nfl_vets",
        "label": "NFL veterans on roster",
        "numeric": true
      },
      {
        "key": "veteran_pct",
        "label": "NFL veteran %",
        "numeric": true,
        "suffix": "%"
      }
    ],
    "rows": [
      {
        "team_season": "USFL 2023 STALLIONS",
        "league": "USFL",
        "roster_size": 51,
        "nfl_after": 7,
        "after_pct": 13.7,
        "nfl_vets": 12,
        "veteran_pct": 23.5,
        "league_baseline_after_pct": 3.8,
        "lift_pct_points": 9.9
      },
      {
        "team_season": "USFL 2023 PANTHERS",
        "league": "USFL",
        "roster_size": 49,
        "nfl_after": 5,
        "after_pct": 10.2,
        "nfl_vets": 11,
        "veteran_pct": 22.4,
        "league_baseline_after_pct": 3.8,
        "lift_pct_points": 6.4
      },
      {
        "team_season": "XFL 2023 BATTLEHAWKS",
        "league": "XFL",
        "roster_size": 50,
        "nfl_after": 5,
        "after_pct": 10.0,
        "nfl_vets": 13,
        "veteran_pct": 26.0,
        "league_baseline_after_pct": 5.7,
        "lift_pct_points": 4.3
      },
      {
        "team_season": "USFL 2022 BHAM",
        "league": "USFL",
        "roster_size": 69,
        "nfl_after": 5,
        "after_pct": 7.2,
        "nfl_vets": 13,
        "veteran_pct": 18.8,
        "league_baseline_after_pct": 3.8,
        "lift_pct_points": 3.5
      },
      {
        "team_season": "USFL 2022 HOU",
        "league": "USFL",
        "roster_size": 84,
        "nfl_after": 6,
        "after_pct": 7.1,
        "nfl_vets": 11,
        "veteran_pct": 13.1,
        "league_baseline_after_pct": 3.8,
        "lift_pct_points": 3.4
      },
      {
        "team_season": "XFL 2023 DEFENDERS",
        "league": "XFL",
        "roster_size": 48,
        "nfl_after": 4,
        "after_pct": 8.3,
        "nfl_vets": 15,
        "veteran_pct": 31.2,
        "league_baseline_after_pct": 5.7,
        "lift_pct_points": 2.6
      },
      {
        "team_season": "XFL 2023 RENEGADES",
        "league": "XFL",
        "roster_size": 49,
        "nfl_after": 4,
        "after_pct": 8.2,
        "nfl_vets": 12,
        "veteran_pct": 24.5,
        "league_baseline_after_pct": 5.7,
        "lift_pct_points": 2.4
      },
      {
        "team_season": "USFL 2022 PIT",
        "league": "USFL",
        "roster_size": 84,
        "nfl_after": 5,
        "after_pct": 6.0,
        "nfl_vets": 8,
        "veteran_pct": 9.5,
        "league_baseline_after_pct": 3.8,
        "lift_pct_points": 2.2
      },
      {
        "team_season": "UFL 2024 RENEGADES",
        "league": "UFL",
        "roster_size": 62,
        "nfl_after": 2,
        "after_pct": 3.2,
        "nfl_vets": 17,
        "veteran_pct": 27.4,
        "league_baseline_after_pct": 1.0,
        "lift_pct_points": 2.2
      },
      {
        "team_season": "CFL 2022 BC",
        "league": "CFL",
        "roster_size": 76,
        "nfl_after": 2,
        "after_pct": 2.6,
        "nfl_vets": 9,
        "veteran_pct": 11.8,
        "league_baseline_after_pct": 0.6,
        "lift_pct_points": 2.1
      },
      {
        "team_season": "UFL 2024 BATTLEHAWKS",
        "league": "UFL",
        "roster_size": 66,
        "nfl_after": 2,
        "after_pct": 3.0,
        "nfl_vets": 18,
        "veteran_pct": 27.3,
        "league_baseline_after_pct": 1.0,
        "lift_pct_points": 2.0
      },
      {
        "team_season": "CFL 2022 CGY",
        "league": "CFL",
        "roster_size": 84,
        "nfl_after": 2,
        "after_pct": 2.4,
        "nfl_vets": 7,
        "veteran_pct": 8.3,
        "league_baseline_after_pct": 0.6,
        "lift_pct_points": 1.8
      },
      {
        "team_season": "CFL 2022 TOR",
        "league": "CFL",
        "roster_size": 85,
        "nfl_after": 2,
        "after_pct": 2.4,
        "nfl_vets": 9,
        "veteran_pct": 10.6,
        "league_baseline_after_pct": 0.6,
        "lift_pct_points": 1.8
      },
      {
        "team_season": "CFL 2023 CGY",
        "league": "CFL",
        "roster_size": 97,
        "nfl_after": 2,
        "after_pct": 2.1,
        "nfl_vets": 12,
        "veteran_pct": 12.4,
        "league_baseline_after_pct": 0.6,
        "lift_pct_points": 1.5
      },
      {
        "team_season": "UFL 2024 STALLIONS",
        "league": "UFL",
        "roster_size": 56,
        "nfl_after": 1,
        "after_pct": 1.8,
        "nfl_vets": 22,
        "veteran_pct": 39.3,
        "league_baseline_after_pct": 1.0,
        "lift_pct_points": 0.8
      }
    ]
  },
  "history_row": {
    "player_records": 3393,
    "overall_nfl_veteran_pct": 9.9,
    "d10_pct": 24.5,
    "d1_pct": 2.6,
    "top_incubator": "USFL 2023 STALLIONS",
    "top_incubator_after_pct": 13.7
  }
}