Net Value asks whether a player was worth his contract. It compares what he produced on the court with what his salary should have bought at that season’s going rate. Zero means he was paid about right. Positive means his team got more than it paid for, and negative means it got less.
Both sides are counted in Net Value Points (NVPs). One NVP is worth about two and a half wins to a team, so a Net Value of +5 NVPs means a player returned roughly twelve more wins than his contract paid for. An NVP is a unit of value, not a point scored: a rim protector earns them as readily as a scorer.
Net Value=Value Produced−Value Bought
Value Produced
What he did: his share of the points his team scored and prevented above league average, counted up from what a freely available replacement player would give.
Value Bought
What his salary should have bought: his pay divided by what an NVP cost that season, reduced a little if he missed time.
Net Value=Value Produced−Value Bought
Where
Value Produced
The player’s share of the points his team’s offense and defense generated above league average that season, counted up from a replacement-level floor, in NVPs. A season below the floor counts as zero. How it’s built.
Salary
What the teams he played for paid him that season. Money still owed by a team that waived him is charged to that team, not to him. A player traded mid-season is scored on his whole season; his teams then split it, each credited with what he produced there and charged for what it paid over the time it had him.
Minutes Played
His total minutes on the floor that season.
Team Minutes
Every minute his team played that season: 48 a game, plus 5 for each overtime. For a season in progress, the minutes played so far.
Number of Players
Every player paid a salary that season.
League Production=Σ Value Produced
Every player's Value Produced that season, added up.
League Payroll=Σ Salary
Every player's Salary that season, added up.
Price per NVP=League PayrollLeague Production
The going rate: what one NVP cost that season.
Full-Season Minutes=Team Minutes×3048
A starter's share of his team's season: 30 of every 48 minutes it played.
Availability=min(1, Minutes PlayedFull-Season Minutes)
The share of a full season he was on the floor for, never more than 1.
Charged Share=0.5+0.5×Availability
Half of a contract is charged no matter what; the other half scales with Availability.
Base Bought=SalaryPrice per NVP×Charged Share
The NVPs his salary buys at the going rate, for the part of the season he is charged for.
Season Adjustment=League Production−Σ Base BoughtNumber of Players
Because Charged Share never exceeds 1, the Base Bought figures add up to a little less than League Production. This splits the gap evenly across every player that season, so the league averages exactly zero. Everyone gets the same amount, so it changes nobody's rank.
Value Bought=Base Bought+Season Adjustment
What his contract paid for at that season's going rate.
All together
Net Value=Value Produced−(SalaryPrice per NVP×Charged Share+Season Adjustment)
The best Net Value in the league that season. One NVP cost $15,766,686 in 2025-2026, so his $13,376,880 salary bought 0.88 NVPs. He produced 5.55.
5.55 NVPs Value Produced − 0.88 NVPs Value Bought = +4.68 NVPs Net Value
That is about 12 wins his team got without paying for them.
The best Net Value in the league that season, one line of the formula at a time.
His share of the points his team’s offense and defense generated above league average, counted up from replacement level. How it’s built is covered below.
5.55 NVPs Value Produced
Adding up the Value Produced of all 514 players paid in 2025-2026 gives 346.0 NVPs, about 11.5 per team.
Σ Value Produced over 514 players = 346.0 NVPs League Production
League Payroll is every salary paid in 2025-2026. Between them, those salaries bought all of League Production, so dividing one by the other gives what a single NVP cost that season. Setting the price inside each season is what makes eras comparable: an NVP cost far more in 2026 than in 1994, and this absorbs that without any inflation adjustment.
$5,455,462,580 League Payroll / 346.0 NVPs League Production = $15,766,686 per NVP
Missing games already lowers Value Produced, so charging his whole salary as well would punish an injury twice. Charging nothing for time missed goes too far the other way: a player who never took the floor would cost nothing at all. So half the contract is always charged, and the other half scales with how much of a full season he played. Playing more than a full season doesn’t raise the charge; the extra minutes show up in Value Produced instead.
3,946 Team Minutes × 30 / 48 = 2,466 Full-Season Minutes
1,866 Minutes Played / 2,466 Full-Season Minutes = 0.76 Availability
0.5 + 0.5 × 0.76 Availability = 0.88 Charged Share
Victor Wembanyama was the #134 highest-paid player in the league at $13,376,880. At the going rate that buys 0.85 NVPs over a full season, and his Charged Share brings it to 0.74.
$13,376,880 Salary / $15,766,686 per NVP = 0.85 NVPs for a full season
0.85 NVPs × 0.88 Charged Share = 0.74 NVPs Base Bought
Charged Share never exceeds 1, so the league's Base Bought adds up to a little less than League Production, which would leave the average player looking slightly positive. The gap is split evenly: every player in 2025-2026 gets the same 0.13 NVPs added. It changes nobody's rank, and it makes zero mean "paid the going rate".
0.74 NVPs Base Bought + 0.13 NVPs Season Adjustment = 0.88 NVPs Value Bought
He produced 5.55 NVPs, the same figure his player page shows, and his contract paid for 0.88 of them. That leaves 4.68 NVPs nobody paid for: about 12 wins, and #1 in the league.
5.55 NVPs Value Produced − 0.88 NVPs Value Bought = +4.68 Net Value
Value Produced starts from what each team actually did: the points it scored and allowed compared with league average, taken from its game logs. That total is split between the team’s players, offense by box-score credit and defense by minutes and defensive quality. Checked against real results, every NVP a team produces is worth about 2.51 wins, and team totals track actual wins very closely.
It is built here from nba.com’s own data, and it works the opposite way round from a box-score metric. A box-score metric estimates each player from his own stats and hopes they add up to the team. This starts from what each team actually did, its offensive and defensive points above league average taken from the possessions and points in its game logs, and divides that between its players. The team total is always right; the model’s whole job is the split.
It is counted up from replacement level rather than from zero. A replacement player is one any team can sign for the minimum at any time: a veteran on a minimum deal, a two-way contract, a G League call-up. That level sits two points per 100 possessions below an average player, so a whole roster of them still wins about 16 games. Only what a player adds above that floor counts, and a season below it counts as zero.
5 replacement players × −2 points per 100 possessions = −10 points per 100 possessions ≈ 16 wins
Offense is split by box-score credit, which the box score is good at: shooting efficiency above league average on the player’s own volume, weighted down by how much of it teammates created for him, plus playmaking, turnovers, offensive rebounds, and the plain value of taking a shot on. Defense is split by minutes, tilted by a defensive-quality model fitted to thirty-six seasons of All-Defensive voting, and from 2013-14 on, by tracking data on shots defended and how badly the shooters did. Rebounds on both ends are judged mostly against the player’s own position, so a center isn’t paid for the ones standing under the rim hands him.
Every equation behind it, line by line, is written out separately.
Value Produced isn't measured in wins, which is why League Production lands on a figure like 346.0 NVPs rather than the 1,230 games in a season. To find what an NVP is worth, every team's total was fitted against the games it actually won, across 935 full 82-game team-seasons:
Team Wins=15.8 wins+2.51 wins per NVP×Team Production
Team Production
Every Value Produced by the team's players that season, added up, in NVPs. Here a season below replacement counts at its real, negative value rather than zero.
15.8 wins
What a team producing zero NVPs, a roster of replacement players, is predicted to win.
2.51 wins per NVP
How many extra wins each NVP a team produces is worth.
r = 0.97
How closely predicted wins track actual wins across the 935 team-seasons. 1 would be a perfect match and 0 no relationship at all.
So one NVP is worth about two and a half wins, and a roster producing nothing lands on the 16 wins a roster of replacement players is worth. The fit is also the best reason to trust the number: something that tracks real results this closely is measuring something real, whatever its flaws.
“Production per dollar” sounds like the natural way to measure value, but it breaks immediately: a small number divided by a tiny number is enormous, so the leaderboard fills with minimum-contract bench players and every star sinks. Subtraction asks the question people actually mean: how much more was he worth than he cost?
| Player | Value Produced | Salary | Divided | Subtracted (Net Value) |
|---|---|---|---|---|
| A star on a max deal | 9.0 NVPs | $50,000,000 | 0.18 NVPs per $1M | +5.8 NVPs |
| A 12th man on the minimum | 0.4 NVPs | $1,200,000 | 0.33 NVPs per $1M | +0.3 NVPs |
Divided, the 12th man wins by almost double. Subtracted, the star is worth nearly twenty times more, which is the answer anyone building a roster would recognize.
Net Value is counted in NVPs, not dollars, so it doesn’t inflate with the cap. Across the whole database it runs from about −5 to +9 NVPs, and every season averages zero. The tables color each figure by the band it falls in, as shown on the left of each box below. Each box also gives the share of all 17,439 player-seasons on record that land in it, where one player-season is one player’s year: Nikola Jokić’s 2025-2026, for instance.
All-time seasons bought cheaply. Some are rookie deals, the rest are long contracts signed before the cap and the player’s price caught up with him. The ten of them averaged 19% of the cap.
Contracts that didn’t return what they cost. Six of these ten players were available all season, so this is mostly money running well ahead of production rather than time lost to injury. Michael Jordan should be on this list but has been omitted. Why?
Compares pay across eras, since the cap has grown many times over.
Rank by salary among every player in the league that season. #1 is the highest paid in the NBA.
His share of the points his team's offense and defense generated above league average, counted up from replacement level.
What his salary bought at that season's going rate, scaled by his Charged Share.
Given how much of the season he was available. 0 means he was paid the going rate; it runs about -7 to +9, and one NVP is worth about 2.5 team wins.
Compares pay across eras, since the cap has grown many times over.
Rank by salary among every player in the league that season. #1 is the highest paid in the NBA.
His share of the points his team's offense and defense generated above league average, counted up from replacement level.
What his salary bought at that season's going rate, scaled by his Charged Share.
Given how much of the season he was available. 0 means he was paid the going rate; it runs about -7 to +9, and one NVP is worth about 2.5 team wins.
Compares pay across eras, since the cap has grown many times over.
Rank by salary among every player in the league that season. #1 is the highest paid in the NBA.
His share of the points his team's offense and defense generated above league average, counted up from replacement level.
What his salary bought at that season's going rate, scaled by his Charged Share.
Given how much of the season he was available. 0 means he was paid the going rate; it runs about -7 to +9, and one NVP is worth about 2.5 team wins.
Michael Jordan was paid more than the entire league salary cap in 1996-1997 and 1997-1998. A quirk of the collective bargaining agreement let Chicago re-sign their own free agent for any amount, and nobody else in NBA history has been paid above the cap. The next highest share anyone has taken is 81%.
| Season | Salary | Share of cap | Value Produced | Value Bought | Net Value |
|---|---|---|---|---|---|
| 1996-1997 | $30,140,000 | 123.7% | 8.3 NVPs | 12.8 NVPs | −4.51 NVPs |
| 1997-1998 | $33,140,000 | 123.2% | 7.4 NVPs | 11.9 NVPs | −4.57 NVPs |
The arithmetic is right and the conclusion is still wrong. To break even on a contract that size he would have had to produce more than any player ever has in a season, so the bar was unreachable before he played a game, and he was the best player alive both years, winning the title each time. It is a fact about a contract no team can sign today, not a judgment on the player, so listing it beside genuine overpays would mislead.