Skip to content
Model development · Audit update

JAYLEN model audit

Work toward a credible measure of NBA player impact.

Player rankings withdrawn

The previous single-season baseline was published before individual-player credit had passed validation. Verifying the calculations was insufficient to establish credible player rankings. That table has been removed.

The audit remains unfinished. Rankings will return only after the player-impact model meets its release requirements.

2026–27 win projections

The JAYLEN audit

What has improved, what the evidence supports, and what remains open.

The audit remains unfinished. Data and numerical checks have passed, but reliable individual-player credit has not been established. The earlier rankings were published prematurely and have been withdrawn.

Correct scoring and box scores

Found and repaired isolated scoring-accounting errors, checked free throws against source events, and corrected supported box-score field errors.

34,419 stored stretches of play failed a scoring-accounting check. The isolated repair reduces that count to zero; 20,762 box-score fields also have evidence-backed corrections.

A wrong score or mislabeled rebound, shot or turnover changes who receives credit.

Where it stands: The isolated repairs pass their checks. They do not mean every scoring, free-throw or lineup issue is resolved or that every repair is in the published ratings.

More usable basketball

Built a possession-level dataset that keeps verified parts of incomplete games, checked player identities and included the games Claude recovered.

The adopted research dataset contains 8,491 games: 6,640 complete and 1,851 with certified partial possessions, totaling 1,672,795 possessions. It includes 93 recovered complete games.

More genuine playing time gives the model more evidence without inventing missing possessions.

Where it stands: Used in the research comparisons. Each incomplete game contributes only the possessions that pass verification.

Fairer tests

Separated scoring tests that use the lineups who actually played from forecasts made with information available before the game. Fixed the comparison games and checked for test-game information leaking into training.

The lineup-conditioned scoring comparison uses the same 5,734 games and 1,131,048 possessions. It is not a complete pregame forecast, because the actual lineups are supplied.

The model should improve on information it was allowed to know, rather than from accidentally seeing the answer.

Where it stands: The comparison checks pass. Because these historical games have been used during development, they are not a completely new final test.

A useful history baseline

Carried the fixed three-year-history method onto the expanded, audited possession data and independently reproduced its estimates.

The expanded three-year-history method reduces possession prediction error by about 0.01235% versus the earlier history model. The planned comparison supports that small gain.

Past seasons add information and help stabilize noisy lineup estimates. The measured improvement is modest.

Where it stands: The calculations and scoring comparison pass. This does not yet prove better individual player rankings.

Better player inputs

Verified the transformation of all 361,973 saved player-game box-score records. Built explicit handling for missing stats, measured zeros, unusable minutes and new players. Independently tested feature calculations on constructed examples; their real-data model integration is still pending.

The saved player-profile extraction also passes an independent reconstruction: 1,611 profiles, with valid written birth dates for 1,609 and two missing.

This makes a box-score prior possible without silently dropping players or treating unknown values as measured zeros.

Where it stands: The data transformations and individual components pass. The completed box-score prior still needs its actual model comparison before it can change the published ratings.

Hustle data quality

Downloaded and checked public hustle inputs, then compared their reported games with regular participation.

In the saved 2022–23 tables, 311 of 535 shared players have fewer reported hustle games, totaling 1,252 fewer player-games; four regular-participation players are absent.

A deflection or box-out rate can mislead if its counts and playing-time denominator cover different games.

Where it stands: The mismatch is confirmed. Its cause and correct playing-time denominator remain unresolved; hustle weights have not been selected for these rankings.

More efficient and inspectable calculations

Reused unchanged lineup calculations instead of rebuilding them for each comparison. Limited memory use and saved outputs another calculation can reproduce independently.

The complete expanded-history benchmark and its independent reconstruction finished in about 141 and 132 seconds respectively.

Faster, reproducible comparisons make it easier to test ideas separately and find errors.

Where it stands: Specific implementations verified; a universal speed improvement is not claimed.

Honest uncertainty and forecasting

Tested whether the model assigns credit correctly and whether its uncertainty ranges cover known simulated ability; kept roster, minutes and scoring-volume forecasts separate.

In some difficult simulations, nominal 95% ranges contain the true player ability only about 58–69% of the time. A separate pregame test improves average game-margin error from 13.6135 to 13.6057 points, but the comparison cannot rule out no improvement.

A small scoring gain does not prove the ranking is correct, the error bars are reliable or the model can forecast before lineups are known.

Where it stands: Not fixed to our satisfaction. Reliable player uncertainty and superiority over EPM, DARKO or LEBRON have not been established.

Audit update: 2026-10-12.