
Built in R using dplyr, ggplot2, ggfx, ragg, and gifski.
Data from NBA, compiled for ease of use by Dominic Samangy. Available at https://github.com/DomSamangy/NBA_Shots_04_25
Based on 4,443,714 NBA play-by-play shot attempts, each frame shows one season folded onto a single half court and binned into 1×1-foot tiles. Color intensity represents the log-scaled number of shots from each spot.
Across two decades, the mid-range slowly evaporates, leaving only two islands of efficiency: the paint and the three-point line.
Posted by TreeFruitSpecialist
22 comments
I don’t know much about basketball, why is this?
This is visually appealing. The three pointer rules all now.
Damn. I’ve seen this for 20-30 tiles and that felt shocking. This is utterly insane even though I knew it would look like this.
Playoff Basketball is almost unwatchable. Regular season basketball is unwatchable. It’s either shoot the 3 or travel and dunk or layup. Seriously. There is nothing else anymore.
There’s your proof: The NBA is smothering the game of basketball. Make the court bigger and raise the rim already.
Great work. Do you use R for work? I’ve been curious about the language but I’d have no reason to ever use it outside of making stuff like this.
A lot of you don’t know about Devin Booker
SGA, last year’s MVP, was quite adept at the midrange jumper.
Now this is truly beautiful data! Animated graph that actually needs to be animated, not animated just to waste time. Data that tells a story, and a nice look with the lines overlaid.
this is awesome. Love the choice of colors and the pixeled aesthetic for the heatmap
The death of the mid-range jumper is overstated imo.
Star players still take those same shots. SGA just won an MVP with a dominant midrange game ffs. Tons of big name players are operating in that space all
Yeah the analytics have had everyone else space themselves out, but I’d much much rather watch a role player take a catch-and-shoot 3 than some of those awful shots you’d see in the 90s.
Seriously, go back and watch some 90s hoops and pay attention to how often a random wing player would get caught out in the middle of nowhere and just chuck up an awful 18ft shot that they made like 10% of the time. Those guys never should have been shooting middies to begin with.
The more interesting thing is that the trend of eliminating the mid range started well before 2015. Steph and the warriors deserve their props but yall sleep on dirk for being the god father of the stretch 4. Also seems kind of weird there wasn’t an uptick from last season since there are quite a few prominent players that live in midrange, including SGA.
So would it make any sense for the love of the beautiful game now to get rid of the 3 line?
If you like watching midrange masterclasses, watch SGA hoop. Don’t drink the kool aid
This is the purpose of this sub. Beautiful and meaningful data.
I’d like to see this for the 2024 WNBA to see where Caitlin’s logo shots occur.
It’s like the 50+ yard field goals
We would like to thank Steph Curry for his contribution.
I know people will say LeBron is the best of this era (which is true in a lot of ways), but no one has had a more profound effect on the game than Steph Curry in a very long time.
Matt Parker did a whole episode about the changes in basketball strategy. And the maths!!
https://youtu.be/yh5c3duQQ1w?si=5hIuAOzoL2Xsyabp
Extremely unpopular opinion: if you want to incentivize midrange shots, make middies 4 points. It changes the game from being extended to almost half court to having to score and defend the 15 foot shot over the 3
Looks like an optimizer algorythm. Reward versus energy and successrate.
* Just 1-2 steps back outisde the line you get 3 pts (50% more reward) for a little more energy and a little less accuracy (more risk) rate.
* 2 pts under the net for “just” jumping upwards with a higher hit rate.
BTW, thats an evolutionary concept.
Yeah cause the midrange jumper is a shitty shot
Comments are closed.