Notes: Used last two playoffs due to difference in bubble. Jazz strongly influnce data due to 4 of 35 top pull up shooters.

Number of top 35 pull-up shooters by the round their team was eliminated in:

Comparison of ’22 & ’21 playoff usage leaders and ’12 & ’11 playoff usage leaders:

library(tidyverse)
library(jsonlite)
library(janitor)
library(dplyr)
library(reactable)
library(reactablefmtr)
pbp_url <- "https://api.pbpstats.com/get-totals/nba?Season=2021-22,2020-21&SeasonType=Regular%2BSeason&Type=Player"

pbp_player_22_21 <- read_json(pbp_url)

player_22_21 <- pbp_player_22_21[["multi_row_table_data"]] %>%
  bind_rows() %>%
  clean_names()
pull_up <- player_22_21 %>%
  select(name,
         team_abbreviation,
         minutes,
         arc3pct_assisted,
         arc3accuracy,
         arc3fga,
         usage) %>%
  filter(arc3pct_assisted < .60,
         arc3accuracy > .30,
         minutes > 2500,
         arc3fga > 750)
pl_win <- c( 15, 2, 11, 12, 16, 1, 2, 8, 8, 4, 2, 2)

cbind(pull_up, pl_win) %>% select(
  name,
  team_abbreviation,
  arc3pct_assisted,
  arc3accuracy,
  pl_win
) %>%
  mutate_at(vars(arc3pct_assisted,arc3accuracy), funs(round(.,4))) %>%
  mutate(
    Name = name,
    Team = team_abbreviation,
    'Arc 3pt%' = arc3accuracy,
    '% of Arc 3s Assisted' = arc3pct_assisted,
    'Playoff wins' = pl_win
  ) %>%
  select(
    Name,
    Team,
    'Arc 3pt%',
    '% of Arc 3s Assisted',
    'Playoff wins'
  ) %>%
  reactable( theme = espn(),
             pagination = FALSE) %>%
  add_title( "Playoff wins for top 12 regular season pull-up shooters") %>%
  add_subtitle("'22 & '21 seasons")

Playoff wins for top 12 regular season pull-up shooters

'22 & '21 seasons

pull_up_big <- player_22_21 %>%
  select(name,
         team_abbreviation,
         minutes,
         arc3pct_assisted,
         arc3accuracy,
         arc3fga) %>%
  filter(arc3pct_assisted < .70,
         arc3accuracy > .30,
         minutes > 2500,
         arc3fga > 450)
pbp_url_pl <- "https://api.pbpstats.com/get-totals/nba?Season=2021-22,2020-21&SeasonType=Playoffs&Type=Player"

pbp_player_pl_22_21 <- read_json(pbp_url_pl)

player_pl_22_21 <- pbp_player_pl_22_21[["multi_row_table_data"]] %>%
  bind_rows() %>%
  clean_names()
pull_up_pl <- player_pl_22_21 %>%
  select(name,
         team_abbreviation,
         minutes,
         arc3pct_assisted,
         arc3accuracy,
         arc3fga,
         usage) %>%
  mutate( playoff_minutes = minutes,
          playoff_arc3pct_assisted = arc3pct_assisted,
          playoff_usage = usage)

right_join(pull_up, pull_up_pl, by = 'name') %>%
  na.omit() %>%
  select(name,
         team_abbreviation.x,
         arc3pct_assisted.x,
         playoff_arc3pct_assisted,
         usage.x,
         playoff_usage) %>%
  mutate( arc3pct_assisted_diff = arc3pct_assisted.x - playoff_arc3pct_assisted,
          usage_diff = playoff_usage - usage.x,
          team = team_abbreviation.x) %>%
  select(name,
         team,
         arc3pct_assisted_diff,
         usage_diff) %>%
  mutate_at(vars(arc3pct_assisted_diff,usage_diff), funs(round(.,4))) %>%
  reactable( theme = espn(),
             pagination = FALSE) %>%
  add_title( "Difference between regular season and playoff stats") %>%
  add_subtitle("'22 & '21 seasons")

Difference between regular season and playoff stats

'22 & '21 seasons

Top Playoff usage players in ’22 & ’21 compared to ’12 & ’11

pbp_url_usage_22 <- "https://api.pbpstats.com/get-totals/nba?Season=2021-22,2020-21&SeasonType=Playoffs&Type=Player"

pbp_usage_22 <- read_json(pbp_url_usage_22)

usage_22 <- pbp_usage_22[["multi_row_table_data"]] %>%
  bind_rows() %>%
  clean_names()

usage_22 %>%
   filter( minutes > 150,
          usage > 31.21) %>%
  select(name,
         team_abbreviation,
         usage,
         arc3pct_assisted,
         arc3accuracy,
         arc3fga) %>%
  mutate_at(vars(arc3pct_assisted,usage,arc3accuracy), funs(round(.,4))) %>%
   mutate( '% of Arc 3s Assisted' = arc3pct_assisted,
          'Arc 3pt%' = arc3accuracy,
          'Arc 3 fga' = arc3fga,
          team = team_abbreviation) %>%
  select(name,
         team,
         usage,
         '% of Arc 3s Assisted',
         'Arc 3pt%',
         'Arc 3 fga') %>%
  reactable( theme = espn()) %>%
  add_title("Top 10 playoff usage players") %>%
  add_subtitle("'22 & '21 playoffs")

Top 10 playoff usage players

'22 & '21 playoffs

pbp_url_usage_12 <- "https://api.pbpstats.com/get-totals/nba?Season=2011-12,2010-11&SeasonType=Playoffs&Type=Player"

pbp_usage_12 <- read_json(pbp_url_usage_12)

usage_12 <- pbp_usage_12[["multi_row_table_data"]] %>%
  bind_rows() %>%
  clean_names()

usage_12 %>%
   filter( minutes > 150,
          usage > 28.6) %>%
  select(name,
         team_abbreviation,
         usage,
         arc3pct_assisted,
         arc3accuracy,
         arc3fga) %>%
  mutate_at(vars(arc3pct_assisted,usage,arc3accuracy), funs(round(.,4))) %>%
  mutate( '% of Arc 3s Assisted' = arc3pct_assisted,
          'Arc 3pt%' = arc3accuracy,
          'Arc 3 fga' = arc3fga,
          team = team_abbreviation) %>%
  select(name,
         team,
         usage,
         '% of Arc 3s Assisted',
         'Arc 3pt%',
         'Arc 3 fga') %>%
  reactable( theme = espn()) %>%
  add_title("Top 10 playoff usage players") %>%
  add_subtitle("'12 & '11 seasons")

Top 10 playoff usage players

'12 & '11 seasons