Cross-League Player Tracking Validation
2026-03-09 • By Codex
This report validates whether player tracking works structurally across leagues.
- Generated:
2026-03-09T11:55:50-07:00
- Tracking basis: shared hub IDs +
player_transition_links for split-hub continuity.
- Promotion curves: source-season RAPM, source-season points-per-game, and source-season box-score counts/game percentile deciles vs next-season one-step-up promotion probability.
- Validation cohort rule: the latest source season is excluded whenever the next target season is not yet observable, preventing right-censoring from flattening the top deciles.
Structural Status
scripts/build_player_transition_links.py now derives cross-source transition pairs from league ladders (adjacent levels), not one-off pair constants.
- This enforces generic one-step promotion coverage: D3->D2, D2->D1, D1->NBA/WNBA.
- Euro continuity remains player-hub based; overlap checks below quantify current euroleague->ncaam/nba linkage.
Plot Read
- Pro transitions behave as expected: RAPM has a steep top-decile lift for
ncaam->nba and ncaaw->wnba.
- Lower-division transitions remain noisier in RAPM than D1->pro, but the biggest prior distortion was methodological: pooling raw ratings across seasons and including censored latest-source cohorts.
- Source-season PPG is materially cleaner for lower-division scouting, especially
ncaamd2->ncaam, so it should remain the primary talent-screening signal until D2/D3 RAPM coverage improves.
- A fuller box-score
counts/game metric behaves similarly to PPG and is a better interpretation of 'numbers per game' than points alone.
- Shaded bands on the plots are 95% Wilson confidence intervals, so the D3 curves can be read with the right amount of skepticism.
Validated Lower-Division Signals
Grouped out-of-fold AUC by source season year. This is the guardrail for current mover watchlists: if a lower-division pair does not validate above the minimum threshold, the report falls back to simple PPG ordering and marks it low-confidence.
| Pair |
PPG AUC |
Counts AUC |
RAPM AUC |
Blend AUC |
Recommended Signal |
Confidence |
| NCAAM D3 -> NCAAM D2 |
0.732 |
0.707 |
0.656 |
0.717 |
PPG |
Validated |
| NCAAM D2 -> NCAAM D1 |
0.753 |
0.755 |
0.676 |
0.746 |
Counts/Game |
Validated |
| NCAAW D3 -> NCAAW D2 |
0.318 |
0.345 |
0.368 |
0.402 |
PPG |
Low-confidence fallback |
| NCAAW D2 -> NCAAW D1 |
0.712 |
0.700 |
0.464 |
0.710 |
PPG |
Validated |
Continuity Coverage
| Pair |
Shared Hub Overlap |
Transition Links |
Total Continuity Paths |
| NCAAM D3 -> NCAAM D2 |
148 |
39 |
187 |
| NCAAM D2 -> NCAAM D1 |
540 |
258 |
798 |
| NCAAM D1 -> NBA |
316 |
755 |
1071 |
| NCAAW D3 -> NCAAW D2 |
615 |
32 |
647 |
| NCAAW D2 -> NCAAW D1 |
1254 |
105 |
1359 |
| NCAAW D1 -> WNBA |
149 |
200 |
349 |
| Euroleague -> NCAAM |
26 |
0 |
26 |
| Euroleague -> NBA |
329 |
0 |
329 |
Likely NCAA Tracking Gap
These rows compare current tracked adjacent-league transitions against safe boxscore-based exact-name pairs (one hub per side, two hubs total for the name across NCAA boxscores, valid chronology).
| Pair |
Likely Boxscore Pairs |
Already Tracked |
| NCAAM D3 -> NCAAM D2 |
26 |
26 |
| NCAAM D2 -> NCAAM D1 |
215 |
212 |
| NCAAW D3 -> NCAAW D2 |
22 |
21 |
| NCAAW D2 -> NCAAW D1 |
78 |
78 |
Promotion Probability vs RAPM

| Pair |
Cohort Size |
Promoted |
Promotion Rate |
| NCAAM D3 -> NCAAM D2 |
7309 |
38 |
0.52% |
| NCAAM D2 -> NCAAM D1 |
3848 |
164 |
4.26% |
| NCAAM D1 -> NBA |
53240 |
58 |
0.11% |
| NCAAW D3 -> NCAAW D2 |
21690 |
147 |
0.68% |
| NCAAW D2 -> NCAAW D1 |
12291 |
295 |
2.40% |
| NCAAW D1 -> WNBA |
5101 |
62 |
1.22% |
Promotion Probability vs Points Per Game

| Pair |
Cohort Size |
Promoted |
Promotion Rate |
| NCAAM D3 -> NCAAM D2 |
8194 |
38 |
0.46% |
| NCAAM D2 -> NCAAM D1 |
6147 |
172 |
2.80% |
| NCAAM D1 -> NBA |
50414 |
530 |
1.05% |
| NCAAW D3 -> NCAAW D2 |
12571 |
96 |
0.76% |
| NCAAW D2 -> NCAAW D1 |
8353 |
125 |
1.50% |
| NCAAW D1 -> WNBA |
6497 |
142 |
2.19% |
Promotion Probability vs Numbers Per Game
Counts/Game here means PTS + REB + AST + STL + BLK - TO - FGA, averaged per game.

| Pair |
Cohort Size |
Promoted |
Promotion Rate |
| NCAAM D3 -> NCAAM D2 |
8194 |
38 |
0.46% |
| NCAAM D2 -> NCAAM D1 |
6147 |
172 |
2.80% |
| NCAAM D1 -> NBA |
50414 |
530 |
1.05% |
| NCAAW D3 -> NCAAW D2 |
12571 |
96 |
0.76% |
| NCAAW D2 -> NCAAW D1 |
8353 |
125 |
1.50% |
| NCAAW D1 -> WNBA |
6497 |
142 |
2.19% |
Current D2/D3 Mover Watchlist
Latest available season only. Ranking uses the best historically validated lower-division signal for each pair; low-confidence pairs fall back to PPG. Team names now fall back to current NCAA boxscore naming when linkage coverage is incomplete.
NCAAM D3 -> NCAAM D2
| Rank |
Player |
Team |
Season |
Games |
PPG |
Counts/Game |
RAPM |
Selected Signal |
Up-League Prob |
RAPM Prob |
Site Link |
| 1 |
Joe Okla |
- |
2025-2026 |
10 |
18.50 |
19.60 |
0.40 |
PPG |
1.95% |
0.27% |
open |
| 2 |
Anthony Rose |
- |
2025-2026 |
11 |
18.55 |
14.73 |
0.31 |
PPG |
1.95% |
0.27% |
open |
| 3 |
Lou Bellamy |
- |
2025-2026 |
10 |
21.00 |
14.40 |
0.87 |
PPG |
1.95% |
0.55% |
open |
| 4 |
Lamar Lovelace |
- |
2025-2026 |
10 |
20.00 |
10.90 |
0.01 |
PPG |
1.95% |
0.55% |
open |
| 5 |
Jaylen Savage |
- |
2025-2026 |
10 |
17.30 |
9.10 |
0.98 |
PPG |
1.95% |
0.55% |
open |
| 6 |
Merritt Holly |
- |
2025-2026 |
10 |
14.80 |
16.20 |
0.04 |
PPG |
0.49% |
0.55% |
open |
| 7 |
Luke Insley |
- |
2025-2026 |
10 |
13.30 |
13.20 |
0.54 |
PPG |
0.49% |
0.68% |
open |
| 8 |
Tyler Cardello |
- |
2025-2026 |
10 |
15.70 |
9.20 |
-0.56 |
PPG |
0.49% |
0.41% |
open |
| 9 |
Tyson Clark |
- |
2025-2026 |
10 |
13.40 |
6.90 |
1.65 |
PPG |
0.49% |
0.55% |
open |
| 10 |
Darius Cunningham Jr |
- |
2025-2026 |
10 |
13.00 |
5.10 |
-3.14 |
PPG |
0.49% |
0.55% |
open |
NCAAM D2 -> NCAAM D1
| Rank |
Player |
Team |
Season |
Games |
PPG |
Counts/Game |
RAPM |
Selected Signal |
Up-League Prob |
RAPM Prob |
Site Link |
| 1 |
Alex Romack |
- |
2025-2026 |
11 |
13.82 |
15.55 |
1.22 |
Counts/Game |
11.04% |
4.66% |
open |
| 2 |
Tyus Parrish-Tillman |
- |
2025-2026 |
10 |
17.00 |
15.50 |
2.32 |
Counts/Game |
11.04% |
7.51% |
open |
| 3 |
Matthew Willenborg |
- |
2025-2026 |
10 |
16.80 |
15.10 |
2.75 |
Counts/Game |
11.04% |
9.30% |
open |
| 4 |
Josh Nwankwo |
- |
2025-2026 |
10 |
20.10 |
14.80 |
2.73 |
Counts/Game |
11.04% |
7.51% |
open |
| 5 |
Malcolm Jones |
- |
2025-2026 |
10 |
13.00 |
13.60 |
2.94 |
Counts/Game |
11.04% |
9.30% |
open |
| 6 |
Micah Bays |
Central State (OH) Marauders |
2025-2026 |
10 |
16.50 |
13.40 |
1.04 |
Counts/Game |
11.04% |
3.93% |
open |
| 7 |
Hasaan Herrington |
Alaska Anchorage |
2025-2026 |
12 |
12.83 |
12.92 |
1.89 |
Counts/Game |
11.04% |
4.95% |
open |
| 8 |
Bishop Tosi |
Alaska Anchorage |
2025-2026 |
12 |
12.33 |
12.92 |
1.66 |
Counts/Game |
11.04% |
4.95% |
open |
| 9 |
Chris Harris |
- |
2025-2026 |
18 |
14.00 |
12.61 |
-1.37 |
Counts/Game |
11.04% |
2.60% |
open |
| 10 |
Arhman Lewis |
- |
2025-2026 |
10 |
13.60 |
12.40 |
0.69 |
Counts/Game |
6.67% |
3.93% |
open |
NCAAW D3 -> NCAAW D2
| Rank |
Player |
Team |
Season |
Games |
PPG |
Counts/Game |
RAPM |
Selected Signal |
Up-League Prob |
RAPM Prob |
Site Link |
| 1 |
Abigail Rice |
- |
2025-2026 |
13 |
5.00 |
5.15 |
-0.71 |
PPG (low) |
1.43% |
0.92% |
open |
NCAAW D2 -> NCAAW D1
| Rank |
Player |
Team |
Season |
Games |
PPG |
Counts/Game |
RAPM |
Selected Signal |
Up-League Prob |
RAPM Prob |
Site Link |
| 1 |
Olivia Reed |
- |
2025-2026 |
10 |
18.70 |
18.00 |
3.21 |
PPG |
4.43% |
3.49% |
open |
| 2 |
Jordan Gillies |
- |
2025-2026 |
10 |
18.50 |
16.80 |
-0.92 |
PPG |
4.43% |
1.38% |
open |
| 3 |
Bergen Kinnebrew |
- |
2025-2026 |
12 |
22.33 |
16.42 |
-1.39 |
PPG |
4.43% |
1.38% |
open |
| 4 |
Allison Undlin |
- |
2025-2026 |
12 |
16.75 |
15.50 |
3.00 |
PPG |
4.43% |
3.49% |
open |
| 5 |
Lili Wilken |
- |
2025-2026 |
10 |
23.20 |
15.40 |
2.55 |
PPG |
4.43% |
4.31% |
open |
| 6 |
Mahaila Harrison |
- |
2025-2026 |
10 |
18.90 |
12.30 |
2.52 |
PPG |
4.43% |
4.31% |
open |
| 7 |
Audrey Swanson |
- |
2025-2026 |
10 |
16.70 |
12.10 |
1.20 |
PPG |
4.43% |
2.20% |
open |
| 8 |
Mason Rowland |
- |
2025-2026 |
10 |
17.00 |
12.00 |
5.58 |
PPG |
4.43% |
3.49% |
open |
| 9 |
Jacy Weisbrod |
- |
2025-2026 |
12 |
16.75 |
10.08 |
3.97 |
PPG |
4.43% |
3.49% |
open |
| 10 |
Natalie Bremer |
- |
2025-2026 |
10 |
18.40 |
9.10 |
5.05 |
PPG |
4.43% |
3.49% |
open |
Top 10 Notable Former NCAAM D2 Players (Current Data Footprint)
Ranking is by downstream visibility proxy: NBA games, NBA points, then D1 possessions/RAPM.
| Rank |
Player |
NBA Games |
NBA Points |
D1 Peak RAPM |
D2 Peak RAPM |
Site Link |
| 1 |
Taelon Peter |
49 |
291 |
1.47 |
1.30 |
open |
| 2 |
Ketron Shaw |
0 |
0 |
0.61 |
1.55 |
open |
| 3 |
Carson Johnson |
0 |
0 |
1.06 |
0.88 |
open |
| 4 |
Kyler D'Augustino |
0 |
0 |
0.66 |
2.23 |
open |
| 5 |
Kody Clouet |
0 |
0 |
0.37 |
1.37 |
open |
| 6 |
Dan Gherezgher |
0 |
0 |
0.73 |
0.70 |
open |
| 7 |
Brayden Maldonado |
0 |
0 |
0.89 |
0.17 |
open |
| 8 |
Jaylon Johnson |
0 |
0 |
0.88 |
-0.66 |
open |
| 9 |
Albert Vargas |
0 |
0 |
0.24 |
0.94 |
open |
| 10 |
Darrel Yepdo |
0 |
0 |
1.34 |
3.47 |
open |
Reproduce
python scripts/generate_cross_league_tracking_report.py