NBA Court Realty

Dan Cervone
September 26, 2015

NESSIS 2015

Work in collaboration with: Luke Bornn, Alex D'Amour, Alex Franks, Kirk Goldsberry, Andrew Miller

Real estate map

frank_1

Basketball is a spatial sport

curry

NBA Optical Tracking Data

Installed in 2013, tracks:

  • \( (x,y) \) locations of all 10 players
  • \( (x,y,z) \) locations of ball
  • 25 observations per second

About 1 billion space-time points per season

data_gif

Research goals

  • Infer value of court space
    • Player movement constitutes property transaction
    • Property transactions imply property value (price)
    • Property values respect features of basketball court
  • Quantify player/team spatial strategy
    • How do inferred property values vary by player/team
    • How do players/teams create on- and off-ball space



massey

Defining property

Think of locations as stocks, players as shareholders:

  • Players most invested in the locations they occupy
  • Less invested in nearby areas
  • No investment in places where another player is closer

no_voronoi

Defining property

Think of locations as stocks, players as shareholders:

  • Players most invested in the locations they occupy
  • Less invested in nearby areas
  • No investment in places where another player is closer

voronoi

Defining property

Specifically: divide the court into \( m \) equally sized cells

  • \[ w^i_j(t) = \text{dist}(\text{player } i, \text{cell } j) \] at time \( t \)

\[ x^i_j(t) = \begin{cases} \frac{1}{1 + w^i_j(t)} & i = \text{argmin}_h w^h_j(t) \\ 0 & \text{otherwise} \end{cases} \]

  • \( \beta \in \mathbb{R}^m \), where \( \beta_i \) is price/value of region \( i \)
  • \( X^i(t) \) row vector, entry \( j \) is \( x^i_j(t) \).
  • \( X^i(t) \beta \) is the total property value of player \( i \) at time \( t \)

Inferring property value

Portfolio value differential: \[ V_t \beta = \left(\sum_{i: \text{ offense}} X^i(t) - \sum_{i: \text{ defense}} X^i(t)\right)\beta \]

Market capitalization: \[ M_t \beta = \left(\sum_{i: \text{ offense}} X^i(t) + \sum_{i: \text{ defense}} X^i(t)\right)\beta \]

  • \( \beta_i > 0 \) for all \( i \), with \( \sum_i \beta_i = c \)
  • \( \beta \) spatially smooth
  • \( V_t \beta \) should behave like a random walk
  • \( M_t \beta \) should be as high as possible

Inferring property value

Minimize \[ \sum_t \frac{1}{2}\beta'(V_t - V_{t - 1})'(V_t - V_{t-1})\beta + \lambda_1 \frac{1}{M_t} \beta + \lambda_2\beta'\Omega_{\kappa}\beta \]

subject to:

  • \( \sum_{i} \beta_i = c \)
  • \( \beta_i > 0 \)
  • \( \Omega_{\kappa} = \exp(- \kappa(\text{ distance matrix})) \)

Free parameters: \( \lambda_1, \lambda_2, \kappa \).

Parameter tuning



\[ \begin{array}{c} \lambda_2 \\ \downarrow \end{array} \]

lambdas

                      \( \lambda_1 \rightarrow \)

Parameter tuning

Choose \( \lambda_1, \lambda_2, \ell \) that best classify possession outcomes based on portfolio value differential.

beta

Computational considerations

  • We use \( 2 \times 2 \) boxes for court regions
  • Approximately 34 million portfolio snapshots
  • Only need inner products
  • Solving for \( \beta \) is quadratic programming problem

Results

data_gif

Progression of players' property portfolios

Differences in team pricing

NBA beta_again

Golden State beta_GS

Team property value allocation

onoff

Conclusions

Player' movement reveals spatial valuation

  • New quantifications for team movement and positioning
  • Valuations differ by team
  • Allocations differ by team (e.g. on/off ball)

Next steps

  • Validating court space valuation
  • Player heterogeneity
  • Improve property definition

Thank you