# Computing in the Stream: Schedule Compactification

When we learn about computational mathematics, software engineering, or data science in general, one of the most important questions we have to answer is how many operations are required. The answer isn’t to show the prowess of our algorithm, but rather identify how quickly the algorithm can perform. We need to know if the answer…

# Making Blocks Count

When we measure the defensive impact of a player, typically the first arguments we make are the number of blocks and steals that player has obtained. We celebrate players like Dikembe Mutombo and Maurice Cheeks for their prowess in obtaining blocks (2nd all time) and steals (5th all time), respectively. In the latter case, a…

# Minnesota Timberwolves Offense: Stability, Screens, and Mid-range Game

As of the morning of November 19th, 2017, the Minnesota Timberwolves have found themselves at 10-5, atop the Northwest Division and third on the Western Conference behind the Golden State Warriors (12-4) and the Houston Rockets (13-4). In a recent match-up, the Timberwolves dispatched the San Antonio Spurs 98 – 86 in Minnesota. With the…

# Statistics of Colley’s Ranking Methodology

In 2002, Wes Colley (Princeton) developed a methodology that became a part of College Football BCS rankings lore: The Colley Method. In his original paper, Colley claims that his method is “bias free” for estimating the ranking of a team given a particular schedule. The resulting values for each team is identified as a ranking…

# Voronoi Tesselation and Rebounding Position: Defining Distance by Seconds

How likely is a player able to rebound a basketball? If you ask Second Spectrum, you will get a function that considers positioning, hustle, and conversion. The argument makes sense: First, a player needs to be in a position to have a chance at obtaining a rebound. Second, the player needs to be able to…

# Distributional Analysis of Free Throws and the Denver Nuggets

In possession models and analytics such as RAPM, the ability to count free throws is crucial. Any miscalculation in computing free throws can result in an unintended dire consequence. In the case of a possession, a team’s possession may be calculated with bias and therefore comparing two teams using per possession stats becomes a flawed…

# Evaluating Assists with Python: Community Detection and the Brooklyn Nets

A common question about identifying player tendencies on offense is to ask “how likely is this player to receive the ball during a possession?” This methodology can be aided by the quantity touches. However, a player can touch the ball with what I like to term as an empty touch. These are touches that have…

# Deep Dive with Python: Offensive Ratings

The calculation for Offensive Rating, another fruitful Dean Oliver metric, is simple: compute the number of points produced when a player is in the game per 100 possessions that the player is in the game. The computation is performed at a “per possession” rate and scaled out to 100. The challenge lies at being restricted…

# How NBA Draft Lottery Probabilities Are Constructed

On September 28th, the NBA Board of Governors approved changes to the NBA draft lottery system. These changes were construed in an attempt to help avoid tanking in the league in an effort to maximize a respective team’s probability of obtaining a high draft pick. In part, this is not a bad effort as we…

# Spatio-Temporal Nonparametric Distributional Analysis of NBA Defenses: Introduction and Teaser

Back in 2012, on the heels of my PhD in nonparametric Bayesian density estimation, I developed a methodology that constructs a nonparametric Bayesian density and teases out a nice spatio-temporal decomposition of movement on a space of interest. Pointing this at NBA SportVu data, the decomposition kindly identified player tendency in specific types of offenses…