top of page
  • תמונת הסופר/תyuvaloz55

Go from Defense to Offense

עודכן: 7 ביולי 2023

Game 5 of the 2021 NBA finals was a heavily anticipated one. Milwaukee came in with the momentum after winning 2 games in Wisconsin that evened the series at 2-2, but game 5 was at Phoenix, and the Suns came out on fire. They led by 16 points in the 1st quarter, but the Bucks rode a 43-points-2nd-quarter all the way back. It became a tight game.

In the 3rd quarter Khris Middleton gave the Bucks a 5 point lead (80-75), their largest in the game up to that point. And then came this play that has been living rent free in my head ever since.

Jrue Holiday kidnapped the ball from Devin Booker and without much hesitation fired a 3 in transition. Swish. 83-75. The Bucks had all of the momentum. A collective moan was heard across Arizona.

The Suns were still able to claw their way back and make it a one possession game with 20 seconds left, but then Jrue Holiday snatched the ball again from Booker's hands and launched the most gutsy and ballsy alley-oop of all-time.

These two plays were transcendent defensive plays that directly generated 5 points on the other end. The Bucks won this game by 4, so we can’t underestimate the value of these plays. These weren’t just ordinary steals. That alley-oop wasn’t just another assist. These were 2 of the most significant plays in the Bucks championship run, that ended a 50-year draught.

The question you must be asking yourselves right now is why am I evoking memories from these specific plays?

Well, it’s because while we all understand their immense value when we watch them, statistically they are kind of transparent. For the 1st play Jrue was rewarded with a steal and a 3 pointer, but there is no connection between the two. For the 2nd play he was attributed with a steal and an assist, but again, nothing connects between them. If you only watched the box score you wouldn’t have known that Jrue Holiday had 2 epic defensive plays that changed the course of the game, and eventually, the league.

And it bothered me. It bothered me that these magnificent steals are stuck in the same statistical category as this lame steal by Tyler Herro.

Although Holiday’s steal created points on offense while Herro’s steal (to the extent you can call it that) created no meaningful advantage to the offense, statistically they are the same thing. It bothered me that we don’t inject more context into the defensive plays we are monitoring.

Generally, the way we measure stats is by offensive stats (points, assists, offensive rebounds) and defensive stats (steals, blocks, defensive rebounds) and the two are not necessarily connected.

But the game does not care about the dichotomic way we look at our metrics. In basketball, similarly to the hideous Netflix show my wife loves (Manifest), It’s all connected. Like in every relationship, the defense impacts the offense, and vice versa. If a certain team has a potent offense it will trickle down to their defense as they will face less fast breaks because their opponents keep getting the ball from under the basket after every made shot.

This logic works both ways, off course. A weak defense that doesn’t force any turnovers or allows high percentages around the rim will diminish the team fastbreak opportunities, and as a result will damage their offensive rating.

So for me Jrue Holiday’s brilliant defensive plays in game 5 of the 2021 NBA finals were a symptom for a greater problem in the way we measure defensive plays. I’m not saying we shouldn’t track steals or blocks, but we should understand their offensive impact and assign them the proper value.

These unimportant thoughts have came and went from my disorganized mind for a very long time, but I didn’t have much to do with them. I started thinking about how I can translate these thoughts into logic, into a new stat that will quantify what has been bothering me and will make it accessible and transparent.

After a while, the logic was clear to me. I need to track all of the steals and blocks in each game and check if these led to a basket on the other end within 7 seconds.

Why steals and blocks? Because blocks can also lead to direct points on offense so why discriminate? It’s true that it happens at a lower frequency since a block doesn’t necessarily translate into a change of possession, but there are still some cases like that and I wanted to address them.

Why 7 seconds? Because I want to measure the direct impact of the defensive play. Barring this condition, if Miami would have shot 20 seconds into the shot clock after the aforementioned Herro “steal” it would have had the same impact as the Holiday plays. Therefore I wanted to keep it within the transition realm. 7 seconds or less seemed like a good rule of thumb. If you have any reservations about it you can take it with Steve Nash.

Creating the logic was only the first step. The next step was implementing it and I didn’t have a clue how to do it. I definitely didn’t have the time to do it, but a few months ago I quit my day job as a data analyst after I was burnt out and after some relaxation time the nagging thoughts about the Holiday steals invaded my mind again. I figured it was time to act.

I started a conversation with my good friend, ChatGPT, and although I don’t have much of an experience with Python scripts, within 2 days I was able to write a code that implements my logic on all of the games from the 2022-23 regular season. I am now able to check how many steals/blocks (AKA stocks) led to points on the other end within 7 seconds or less. I called this stat Value Stocks.

Additionally, I calculated how many points these defensive plays generated. I’m not only interested in the number of OG Anunoby steals that led to a bucket. I also want to know how many points were created by these steals. I called this stat Points off Stocks.

(My code is ugly AF and I made an insignificant amount of software engineering fouls writing it, but it works and it has over 99% accuracy. You are welcome to see it here and if anyone has an idea how to improve it or optimize it, you are more than welcome).

Eventually I created a table that contains all of the players that played in the 2022-23 regular season, with their amount of games, amount of stocks, amount of Value Stocks and their Points off Stocks. I finally had a database that provides more offensive context on the defensive plays the league tracks. You can check it out in this link.

Why is this even important?

Well, it isn’t. The ice in the arctic is still melting and the harmful judicial reform in Israel is still ongoing. In contrast to these existential issues no one should care about how many Value Stocks Draymond Green accumulated this past season. But if you came all the way here I assume NBA is your favorite form of escapism, and as an advanced NBA consumer this stat helps you understand what is the offensive value of your favorite team or player defensive plays. It lifts the statistical “iron curtain” between the defense and the offense and helps us understand which players are best at turning defense into offense.

So who is the best?

Before I give away the findings, I’ll go ahead and say that this stat is tilted towards guards. Since a steal has more of a chance to become a Value stock than a block this stat is biased towards guards that do more of their work in the perimeter and discriminates big-man that park in the paint.

For example, Brook Lopez was ranked 3rd in the league in total stocks this past season with 230 (193 blocks and 37 steals), but in terms of value stocks his numbers are far less impressive. Only 28 of Lopez’s stocks turned into a basket on the other end within 7 seconds, just 12%. This is the 2nd worst figure out of all of the players that accumulated at least 50 stocks (the worst one? Deandre Ayton with 10%).

On the other hand, the Value Stocks leader is Shai Gilgeous Alexander with 74 steals or blocks that turned into rapid baskets for OKC. In total, 42% of SGA stocks became Value Stocks.

There’s no doubt that this indicates this stat is biased, however I don’t have any issues with it considering that fact it is merely affirmative action. After decades where the defensive stats were tilted towards big-man (take a look at the DPOY winners in the past 30 years and let me know how many guards you’ll see there) we finally have a stat that tips the scale a bit.

I’ll touch later on other inherent flaws of this stat, but for these of you who want to dig in to the numbers, here are the top 30 players in the league in terms of Value Stocks, as well as a chart that shows the players split between value stock and value stock rate (number of value stocks / number of stocks). You can check out the raw data here.

If you want to look at it from a team perspective, here is the analysis. As mentioned, you can play with the data yourselves in this link.

What can we learn from this stat?

Toronto generated the most Value Stocks in the past season with 412 (a byproduct of their aggressive scheme) while Dallas was last with just 193. Obviously the ability to generate steals or blocks has a massive impact, but there are other factors to consider as well. Dallas played at a snail pace last year (28th in pace, according to NBA.COM) and they almost refused to run (dead last in fastbreak frequency, according to cleaning the glass) so even when they generated defensive plays it led to a fast basket only in 23% of the times.

Eventually, the Mavs generated less than 5 Points off Stocks per game, less than 50% from what the Raptors generated. This stat teaches us not only how many defensive plays are made, but how these are translated into offensive advantage. The Mavs have much to improve in both.

This stat is obviously not a guarantee for success. Despite the fact the Raptors led the league in Value Stocks they were unable to make it out of the play-in. But no stat tells the whole story by itself. We need to use many metrics from different kinds to describe the reality as accurately as we can, and even then there will be stuff that will allude the numbers.

But nonetheless, we must try. We must try to use numbers in order to perfect the image as much as we can, and fill in the gaps with our knowledge and experience from all of our combined watch hours laying half-asleep at 4am hoping to watch history unfold.

So what’s still missing in this stat? What are the limits?

As of today it treats steals and blocks as 1 combined stat, although during the research I realized we should separate it as the variance between a steal and a block is too big. In addition, it doesn’t take into account the free throws in and-1 situations, which slightly lowers the Points off Stocks metric.

Another issue that arises from this stat is that it is retroactive. A steal or a block will be classified as value stock only if a basket was made. If the steal created a great advantage for the offense but the shot was missed it will not be counted. For example, if Bruce Brown would have missed the tip-in below, this would not have counted as a value stock for KCP.

Measuring assists faces a similar problem. The assist is counted only if the shot goes in, regardless of how spectacular the pass was. The elegant solution in that case is to look at potential assist, and this might be the solution for the value stock down the road.

Regardless of these fixes, I would love to get your feedback and hear your thoughts on this stat. Did it unearth a new piece of knowledge for you? Is it missing something? What other stats can we extract that can help us understand the game better?

My name is Yuval Oz, I'm a senior data analyst in my profession and a psycho about the NBA on the rest of the time. I've had this Hebrew blog about the NBA for the past 10 years and I also host a Hebrew podcast about this crazy league. This is my first time writing content in English, hope you liked it. Feel free to reach out on Twitter or Linkedin or by email (

79 צפיות

פוסטים אחרונים

הצג הכול


bottom of page