r/NBAanalytics

Looking for fantasy basketball managers to test an analytics beta
▲ 2 r/NBAanalytics+1 crossposts

Looking for fantasy basketball managers to test an analytics beta

Hi, I’m Allen, one of the creators of DeepVision Fantasy. We’ve built a browser-based platform for fantasy basketball decisions, with category analysis, simulations, and roster optimization for drafts, trades, waivers, and matchups.

We’re opening the beta and would love feedback from people who play head-to-head category leagues. It’s free to explore without connecting a league. Live league tools currently support Yahoo head-to-head category leagues.

Fictional 2025-26 demo league - Week 15 matchup simulator

The screenshot is from a fictional 2025-26 demo league in our Week 15 matchup simulator, not a real league. But you can connect to your own league and run similar analysis for any matchup throughout the season.

https://deepvisionfantasy.com

I’d especially like to know: Was it clear what to try first? Did an analysis help you think through a real decision? Where did you get stuck or stop trusting the result? I’ll be here to answer questions and hear the criticism.

reddit.com
u/DeepVision_Fantasy — 9 days ago
▲ 43 r/NBAanalytics+1 crossposts

Generating Surplus: Value Over Salary Expectation (VOSE)

I went into this wanting to examine the effect of large veteran contracts on team building. As I got into it, I realized things were complicated. So I’m starting simple, trying to understand what is good value, where it comes from, and how it contributes to winning.

How Much a VORP Cost?

Here’s our recipe for calculating the cost of a point of VORP:

  • Cost of VORP = League total salary / (League total regular season + playoff VORP)

Although it would have been easier to use the league salary cap as our numerator, a more honest accounting needs to include the extra 20% teams generally spend on average. Likewise, playoff production is real production, part of what teams pay for, so playoff VORP was included on par with regular season VORP. This adds roughly 12% to the VORP total.

For last year, the COST of VORP was $5.6b / (298.4 + 36.7) = $16.75m. To make this comparable across seasons, we can measure it as a percentage of the cap, rather than in dollars: $16.75m / $154.6m = 10.8%. Looking at the past 20 seasons, the cost fluctuates around 11% as the salary cap triples:

Season Salary cap Total salary Total VORP Salary per VORP % of cap
2006-07 $53.1m $1.9b 332.0 $5.8m 11.0%
2007-08 $55.6m $2.1b 339.9 $6.1m 10.9%
2008-09 $58.7m $2.2b 334.9 $6.4m 11.0%
2009-10 $57.7m $2.1b 333.4 $6.4m 11.0%
2010-11 $58.0m $2.0b 333.1 $6.1m 10.5%
2011-12* $58.0m $2.0b 277.0 $7.2m 12.4%
2012-13 $58.0m $2.1b 337.0 $6.3m 10.8%
2013-14 $58.7m $2.0b 338.1 $6.0m 10.3%
2014-15 $63.1m $2.2b 334.4 $6.5m 10.4%
2015-16 $70.0m $2.4b 333.7 $7.0m 10.1%
2016-17 $94.1m $3.0b 331.3 $8.9m 9.5%
2017-18 $99.1m $3.3b 331.9 $10.0m 10.1%
2018-19 $101.9m $3.6b 333.8 $10.9m 10.7%
2019-20* $109.1m $3.8b 290.2 $13.0m 11.9%
2020-21* $109.1m $3.8b 299.5 $12.8m 11.7%
2021-22 $112.4m $4.1b 339.2 $12.0m 10.7%
2022-23 $123.7m $4.5b 330.7 $13.6m 11.0%
2023-24 $136.0m $4.9b 334.9 $14.6m 10.7%
2024-25 $140.6m $5.2b 338.0 $15.3m 10.9%
2025-26 $154.6m $5.6b 335.1 $16.8m 10.8%
Avg 10.8%

(* shortened seasons)

This gives us this rule of thumb:

>1 point of VORP costs 11% of the salary cap

If we want to be lazy about it and exclude playoff VORP, it becomes 10%, an even rounder number. So:

>In 2025-26 a fair value contract returned a point of VORP per $16.75m

Searching for Surplus Value

The problem with fair value contracts is that a team made up of them will be average. Here’s team VORP totals for the past season:

Rank Team Regular season VORP Playoff VORP Total VORP
1 OKC 22.0 4.4 26.4
2 SAS 19.4 6.8 26.2
3 NYK 17.6 6.2 23.8
4 DET 18.7 3.3 22.0
5 BOS 18.9 1.6 20.5
6 CLE 14.0 3.7 17.7
7 HOU 15.7 0.8 16.5
8 DEN 15.5 1.0 16.5
9 CHO 15.5 — 15.5
10 MIN 13.3 2.1 15.4
11 TOR 12.8 1.3 14.1
12 LAL 12.1 1.1 13.2
13 MIA 12.9 — 12.9
14 ATL 12.3 0.4 12.7
15 ORL 11.1 1.4 12.5
16 PHO 11.6 0.5 12.1
17 LAC 11.3 — 11.3
18 POR 10.0 0.8 10.8
19 PHI 9.4 1.3 10.7
20 GSW 9.8 — 9.8
21 NOP 4.9 — 4.9
22 DAL 4.5 — 4.5
23 CHI 4.2 — 4.2
24 MEM 3.4 — 3.4
25 MIL 2.2 — 2.2
26 IND 1.2 — 1.2
27 UTA 0.5 — 0.5
28 SAC -0.9 — -0.9
29 BRK -1.9 — -1.9
30 WAS -3.6 — -3.6
Total 298.4 36.7 335.1
Avg 9.9 1.2 11.2

Spending your salary cap on fair value contracts gets you to 9 VORP. Spending another 20% on top might push that to 11 VORP, maybe enough to earn a play-in berth. To do better than that and make some noise in the playoffs, you need contracts that generate surplus. Eventual champion Knicks, runner up Spurs, conference finalist OKC, and the upstart Pistons all accumulated double that 11 VORP mark.

Value Over Salary Expectation (VOSE)

Generating surplus team VORP means having a team of players generating surplus value on their individual salaries. We can call this “Value Over Salary Expectation”, or VOSE:

  • Total VORP = Regular Season VORP + Playoff VORP
  • Expected VORP = Salary / Cost of VORP
  • VOSE = Total VORP - Expected VORP

Let’s look at the player’s who generated the most production over expected for their salaries (cut-off 2.5 VOSE):

Player Age Cap % VORP Expected VOSE
Wemby 22 8.6% 8.0 0.80 +7.20
Shai Gilgeous-Alexander 27 24.8% 9.0 2.29 +6.71
Nikola Jokić 30 35.7% 9.8 3.30 +6.50
Luka Dončić 26 29.7% 6.6 2.75 +3.85
Tyrese Maxey 25 24.5% 5.4 2.27 +3.13
Amen Thompson 23 6.3% 3.7 0.58 +3.12
Jalen Duren 22 4.2% 3.5 0.39 +3.11
Julian Champagnie 24 1.9% 3.1 0.18 +2.92
Chet Holmgren 23 8.9% 3.7 0.82 +2.88
Deni Avdija 25 9.3% 3.7 0.86 +2.84
Ausar Thompson 23 5.7% 3.2 0.52 +2.68
Cade Cunningham 24 30.0% 5.4 2.77 +2.63
Scottie Barnes 24 25.0% 4.9 2.31 +2.59
Payton Pritchard 28 4.7% 3.0 0.43 +2.57
Collin Gillespie 26 1.5% 2.7 0.14 +2.56
Kon Knueppel 20 6.5% 3.1 0.60 +2.50

The massive generators of surplus are Wemby, a possible GOAT candidate on his rookie contract, and Shai and Jokic, two MVPs still in their primes. After a bit of a gap, prime Luka on a 30% contract is next on the list. These are arguably the best 4 players in the game, 2 of whom have won CHIPS ("Who Deserved the CHIP" parts 1, 2, 3, 4), and two who could.

The rest of the list is comprised of young stars on max contracts (Maxey, Cunningham, Barnes), high performers on rookie contracts (both Thompson twins, Duren, Chet, Knueppel), and young players outplaying cheap contracts (Champagnie, Avdija, Pritchard, Gillespie).

The flip side of this is players who produced the least compared to what would be expected for their contracts:

Player Age GP Cap % Total VORP Expected VOSE
Khris Middleton 34 63 21.5% -0.9 1.99 -2.89
Tyrese Haliburton — 0 29.5% 0.0 2.72 -2.72
Zach LaVine 30 39 30.7% 0.2 2.84 -2.64
Anthony Davis 32 20 35.0% 0.7 3.23 -2.53
Jordan Poole 26 39 20.6% -0.4 1.90 -2.30
Trae Young 27 15 30.0% 0.5 2.77 -2.27
Ja Morant 26 20 25.5% 0.1 2.35 -2.25
Damian Lillard — 0 23.7% 0.0 2.19 -2.19
Kyrie Irving — 0 23.6% 0.0 2.18 -2.18
Domantas Sabonis 29 19 27.4% 0.4 2.53 -2.13
De'Andre Hunter 28 45 15.1% -0.6 1.39 -1.99
Patrick Williams 24 72 11.6% -0.9 1.07 -1.97
Bub Carrington 20 82 3.0% -1.6 0.28 -1.88
Cody Williams 21 67 3.7% -1.5 0.34 -1.84
Jalen Green 23 32 21.7% 0.2 2.00 -1.80
Darius Garland 26 45 25.5% 0.6 2.35 -1.75
Ace Bailey 19 72 5.9% -1.2 0.54 -1.74
Jayson Tatum 27 16 35.0% 1.5 3.23 -1.73
Nolan Traoré 19 56 2.5% -1.5 0.23 -1.73
Rob Dillingham 21 65 4.3% -1.3 0.39 -1.69

The worst 10 are players with salaries over 20% of the cap who missed games. Of these, we have players not playing much (LaVine and Poole), playing even less than that (AD, Trae, Morant, Sabonis), and not playing at all (Haliburton, Lillard, Kyrie). Only Middleton played a reasonable number of games, but as was the case with many of these players, it was within a ridiculous unserious tanking context.

Further down the list we see a combination of young players on tanking teams (Carrington, Cody Williams, Ace Bailey, Traoré, Dillingham), busts on medium money (DeAndre Hunter, Patrick Williams), good players missing games (Tatum, Garland), and Jalen Green, a young player who missed games and hasn’t yet lived up to his 20%+ contract.

The New York Knickerbockers

Absent from the above list of top VOSE players is any New York Knick. How did they do it?

# Player Age Cap % Total VORP Expected VOSE
1 Jalen Brunson 29 22.6% 4.5 2.09 +2.41
2 Mikal Bridges 29 16.1% 3.9 1.49 +2.41
3 Josh Hart 30 12.6% 3.2 1.16 +2.04
4 OG Anunoby 28 25.6% 4.0 2.36 +1.64
5 Karl-Anthony Towns 30 34.4% 4.8 3.17 +1.63
6 Mitchell Robinson 27 8.4% 1.8 0.77 +1.03

The answer appears to be: 1) By overspending the cap by 34% ($207m payroll), 2) Peaking in the playoffs, and 3) By having 6 prime-age players with VOSE over 1. All of the Knicks in the playoff rotation returned some surplus, with even Shamet and McBride together contributed another point of VOSE. In a league of teams trying to hit grand slams, the Knicks won it all hitting singles and doubles.

reddit.com
u/jazz-nuggets — 14 days ago