Assessing Three-Point Shooting in the NBA

Introduction

Audience: This analysis is intended for NBA roster decision makers such as coaches, analysts, general manager and president of basketball operations.

Context: Around the 2015-2016 season, the National Basketball Association (NBA) began adapting to a new style of basketball started by the Golden State Warriors. Their system emphasized shooting more three-point shots efficiently. A few years later, the three-point shot became so predominant that traditional roles such as low-post centers started becoming extinct because in order to succeed, almost everyone must be capable of shooting three-pointers. See the line graph below showing how the volume of three-point shot attempts has increased from the 2018-19 season to the 2024-25 season (not including pandemic affected seasons). There is a very clear upward trend, meaning offenses are taking more of their shot attempts behind the three-point line. This drastic change impacts roster construction and coaching strategy. So when it comes to identifying strong three-point shooters to maximize offensive efficiency, coaches and front office executives need to understand what makes a player an effective three-point shooter.

ggplot(
  df |>
    mutate(season_date = as.Date(paste0(substr(season, 1, 4), "-10-01"))) |>
    group_by(season_date) |>
    summarise(mean_fga_3p = mean(fga_3p, na.rm = TRUE), .groups = "drop"),
  aes(x = season_date, y = mean_fga_3p)
) +
  geom_line() +
  geom_point() +
  labs(
    title = "Average 3-Point Attempt Rate Over Time",
    x = "Season",
    y = "Average 3PT FGA"
  ) +
  theme_classic()

Main Objective: The goal of this analysis is to understand which player characteristics are most strongly associated with higher three-point shooting efficiency so front-office decision makers can better evaluate and acquire effective three-point shooters.

ggplot(df, aes(x = fg_3p)) +
  geom_histogram(bins = 30, fill = "gray", color = "black", alpha = 0.7) +
  labs(
    title = "Distribution of 3-Point Percentage",
    x = "3-Point Percentage",
    y = "Count"
  ) +
  theme_classic()
Warning: Removed 58 rows containing non-finite outside the scale range
(`stat_bin()`).

The distribution of three-point percentage is centered roughly around 30%-40% with most players falling in this range. This suggests that average to above-average three-point shooting in the NBA tends to cluster within this range while poor and elite shooters are less common. For NBA decision-makers, this provides league context helping distinguish players who are within the normal shooting range and those who stand out as strong perimeter threats. This is important to understand when evaluating whether a player’s shooting ability is replaceable or valuable to acquire.

Identifying Variables that Potentially Impact Three-Point Shooting

As complicated as NBA offenses are nowadays with heavy emphasis on three-point shooting, the best way to narrow down which factors are important in determining three-point shooters are these three: corner three-point shooting accuracy, the volume of attempts from three-point range, and the player’s age. Corner three-point shots are considered the most efficient three-point shot along the three-point arc (even without the backboard to provide aim context) because it is the shortest distance from the player to the basket. Even though corner 3pt% and overall 3pt% are mechanically related, analyzing them together is still valuable since the relationship is not one-to-one in theory. Some players shoot well from the corners, but are less effective from other spots or off-the-dribble threes. So strong corner shooting does not automatically imply equally strong three-point shooting overall.

As shown in the previous line graph, a drastic increase in three-point shot attempts over the last few seasons, do players who take more three-point attempts improve three-point shooting overall? With age, does having more experience playing the NBA mean players are better three-point shooters since they have had time to adapt to the new play style or are younger player who are aware of this new trend who most likely practiced three-point shooting before entering the league are better three-point shooters?

Creating a Regression Model to Assess What Impacts Three-Point Shooting

Assumptions: Before creating the regression model, players with fewer than 300 minutes played were removed to avoid unstable shooting percentages driven by small samples. Players traded during the season were also excluded so that no player would be counted more than once. These decisions improve consistency in the data, though it may leave out certain role players or unusual player-seasons.

This model also assumes that overall three-point percentage is reasonably linearly related to corner three-point percentage, three-point volume, and age and that each player-season can be treated as an independent observation.

# Creating the linear model 

lm_model <- lm(fg_3p ~ x3p_percent_cor_3 + fga_3p + age, data = df)

summary(lm_model)

Call:
lm(formula = fg_3p ~ x3p_percent_cor_3 + fga_3p + age, data = df)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.24556 -0.02667  0.00184  0.03010  0.49606 

Coefficients:
                   Estimate Std. Error t value Pr(>|t|)    
(Intercept)       0.1538758  0.0081973  18.772   <2e-16 ***
x3p_percent_cor_3 0.3300931  0.0097781  33.758   <2e-16 ***
fga_3p            0.1099528  0.0069613  15.795   <2e-16 ***
age               0.0007172  0.0002937   2.442   0.0147 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.05669 on 2094 degrees of freedom
  (127 observations deleted due to missingness)
Multiple R-squared:  0.4821,    Adjusted R-squared:  0.4813 
F-statistic: 649.7 on 3 and 2094 DF,  p-value: < 2.2e-16

Overall, the model explains a moderate proportion of the variation in three-point percentage (R^2 approximately 0.48), indicating a reasonably strong association between these variables and three-point shooting.

Corner 3PT% (x3p_percent_cor_3): The largest coefficient (0.330) is highly statistically significant (p < 2e-16), indicating strong evidence that corner three-point percentage is positively associated with overall three-point percentage. This suggests that players who are efficient from the corner are also efficient from three overall and that this relationship is unlikely to be due to random chance.

3PT Volume (fga_3p): The second largest coefficient (0.110) is highly statistically significant (p < 2e-16), indicating strong evidence that players who take a higher volume of three-point shots are associated with higher three-point percentages and this relationship is also unlikely to be due to random chance.

Age (age): The smallest coefficient (0.0007) is statistically significant at the 5% level (p = 0.0147), showing moderate evidence that age is positively associated with three-point percentage. Even though this variable is statistically significant, the effect size is small, meaning age/experience plays a less significant role compared to other variables.

# Residual vs Fitted
plot(lm_model, which = 1)

The residuals are mostly centered around zero, suggesting an overall good fit. However, there is a slight curved pattern (mild nonlinearity) and a few outliers at higher fitted values. These don’t seem to be severe, so the model is reasonably reliable.

Conclusion and Recommendations

Conclusion: Overall, three-point shooting efficiency is most strongly associated with corner three-point shooting efficiency and volume of three-point shooting (shooting role) with age/experience playing a smaller supporting role.

Recommendation: From a roster construction perspective, general managers should prioritize signing and trading players that are strong corner three-point shooters and take a high volume of threes overall to maximize offensive success in today’s NBA. It is also slightly more helpful to sign experienced players, but there is still value in investing in young players since nowadays they too can shoot well from the three. From a coach’s perspective, whether it is utilizing their star player or the supporting cast, to ensure efficient three-point shooting from their team, prioritize creating corner threes and high-quality three-point opportunities when possible.