Contested Shots Splits

Not Self-Created Shots

Looking at catch and shoot/1-2 dribble pull-ups shooting stats based on varying degrees of ‘contestion’. Only statistics with 20 attempts from each split were included, few shots were marked as having poor contests so I chose not to include them

Useful supplements

  • Clips of different close outs
  • Clips demonstrating how overly aggressive closeouts can be negative (i.e. Steph Curry takes it the hoop off a pump fake)
## Vector of Shot Plays that require strong closeouts
shots <- c("1-2D Pull-Up", "Catch & Shoot")

results %>% 
    filter((off_team == "GSW") & (result_type %in% shots) & self_created == 0) %>% 
    mutate(made_shot = if_else(points > 1, 1, 0)) %>% 
    group_by(Player = result_off, result_contest) %>% 
    summarise(fg_pct = mean(made_shot), shots = n()) %>% 
    filter(shots >= 20) %>% 
    select(-shots) %>% 
    pivot_wider(names_from = result_contest, values_from = fg_pct) %>% 
    drop_na(Open, Plus) %>% 
    select(Open, Average, Plus) %>% 
    arrange(-Open)
## # A tibble: 5 × 4
## # Groups:   Player [5]
##   Player           Open Average  Plus
##   <chr>           <dbl>   <dbl> <dbl>
## 1 Jordan Poole    0.491   0.357 0.304
## 2 Klay Thompson   0.475   0.446 0.5  
## 3 Stephen Curry   0.432   0.384 0.6  
## 4 Andrew Wiggins  0.405   0.413 0.333
## 5 Otto Porter Jr. 0.378   0.505 0.326

Self-Created shots between midrange and paint

The idea here was to examine how well these players shoot the ball when contested inside the 3-point arc. Which players’ shots should we contest, at the expense of giving up an easy look near the rim.

Useful supplements

  • Clips of players chasing the block, at the expense of an easy look near the hoop (Think prime Hassan Whiteside before people realized that was a terrible way of playing defense)
## Shots where contests near the rim may be important, at the expense of creating an opportunity
shots <- c("1-2D Pull-Up", "Floater", "Leaner", "Hook", "PU Fade", "3+D Pull-Up")

## Basically how hard should we contest players in the midrange
results %>% 
    filter((off_team == "GSW") & (result_type %in% shots) & self_created == 1 & 
             (grepl("Midrange", result_zone) | grepl("Paint", result_zone) | grepl("Short", result_zone))) %>% 
    mutate(made_shot = if_else(points > 1, 1, 0)) %>% 
    group_by(Player = result_off, result_contest) %>% 
    summarise(fg_pct = mean(made_shot), shots = n()) %>% 
    filter(shots > 6) %>% 
    select(-shots) %>% 
    pivot_wider(names_from = result_contest, values_from = fg_pct) %>% 
    drop_na(Open) %>% 
    select(Open, Poor, Average, Plus) %>% 
    arrange(-Open)
## # A tibble: 4 × 5
## # Groups:   Player [4]
##   Player          Open   Poor Average  Plus
##   <chr>          <dbl>  <dbl>   <dbl> <dbl>
## 1 Klay Thompson  0.909 NA       0.581 0.375
## 2 Jordan Poole   0.636  0.4     0.368 0.370
## 3 Stephen Curry  0.5    0.429   0.486 0.375
## 4 Andrew Wiggins 0.412  0.364   0.403 0.338

GSW Initiation

General Overview of GSW Initiation Duties

I don’t expect this to be insightful, but this is just a general view of who creates and how well in this offense

## Who's creating the most points when initiating
left_join(pbp, results, by = "result_id") %>% 
  arrange(poss_id.x) %>% 
  filter((off_team.x == "GSW") & (play_type == "Initiation") & (player_type == "Ball-Handler")) %>% 
  group_by(player_name) %>%
  mutate(points = if_else(between(points, 0, 4), points, "NA")) %>% 
  filter(!is.na(points) | points != "NA") %>% 
  summarise(Avg_Points = mean(as.numeric(points)), Initiations = n()) %>% 
  filter(Initiations > 30) %>% 
  arrange(-Initiations)
## # A tibble: 4 × 3
##   player_name    Avg_Points Initiations
##   <chr>               <dbl>       <int>
## 1 Stephen Curry       0.815         168
## 2 Jordan Poole        0.992         130
## 3 Draymond Green      0.409          44
## 4 Andrew Wiggins      0.706          34

Where are the primary initiators initiating from? To what effect?

I think here we see a little insight. Steph better from shallow 3 point area, Poole doesn’t matter. Speculation is Poole is more athletic, gets a step and makes you pay. Steph thrives in a “telephone booth”, one misstep and he can pull trigger. Easier to pass and shoot from closer to the basket.

Useful supplements

  • Any film support of this theory (foremost)

  • Info on o-reb conversion rate and ability to predict team success against warriors

    -> If o-reb is equally big factor in success, then this strategy may be hard to implement

## Highlighting players that initiate
highlighted <- c("Stephen Curry", "Jordan Poole", "Draymond Green")
  
## Who is most effective creating from where?
left_join(pbp, results, by = "result_id") %>% 
  arrange(poss_id.x) %>% 
  filter((player_name %in% highlighted) & (play_type == "Initiation") & (player_type == "Ball-Handler")) %>% 
  group_by(player_name, play_zone) %>%
  mutate(points = if_else(between(points, 0, 4), points, "NA")) %>% 
  filter(!is.na(points) | points != "NA") %>% 
  summarise(Avg_Points = mean(as.numeric(points)), Initiations = n()) %>% 
  filter(Initiations > 10) 
## # A tibble: 5 × 4
## # Groups:   player_name [3]
##   player_name    play_zone       Avg_Points Initiations
##   <chr>          <chr>                <dbl>       <int>
## 1 Draymond Green Deep Backcourt       0.5            30
## 2 Jordan Poole   Deep Backcourt       1.03           69
## 3 Jordan Poole   Short Backcourt      1.06           47
## 4 Stephen Curry  Deep Backcourt       0.660         103
## 5 Stephen Curry  Short Backcourt      1.09           56