Final Project

Author

Adam Kovar

The NBA Since the Introduction of the Three Point Shot

Introducing the Audience

This presentation will be tailored to NBA personnel, particularly on the performance side (e.g. coaches). Oftentimes we hear adages like “history repeats itself” or “it is a cyclical league” with trends of old coming back into form. However, the introduction of the three point shot fundamentally changed the game of basketball and this analysis, and subsequent presentation, will be directed to illustrate to the audience just what how monumental the impact of the three point shot can be.

Background Information

The National Basketball Association made its debut in 1949 with 17 teams fighting for glory. In a season that culminated in the Minneapolis Lakers bringing home the first championship in league history, the NBA was officially born. However, just 30 years later, the league would change forever with the introduction of an entirely new way to score points - the three point shot. A line, or rather an arc, extended between 22 and 23.75 feet from the basket (ranges depend on location on the court), was added in the 1979-1980 season wherein a shot “behind the arc” would count for three points instead of the traditional two. As players and teams have adapted to the introduction of the shot over the last 50 odd years, the game of basketball has undoubtedly changed, and we are going to investigate just how it has changed, today.

Objective: Showcase the Changes in the NBA Due to Three Point Shooting

Initial Exploratory Data Analysis

Overview of the Columns Present Within the Data

 [1] "season_id"              "season_type"            "season"                
 [4] "game_id"                "game_date"              "team_id_home"          
 [7] "team_abbreviation_home" "team_name_home"         "team_id_away"          
[10] "team_abbreviation_away" "team_name_away"         "wl_home"               
[13] "wl_away"                "team_wins_losses_home"  "team_wins_losses_away" 
[16] "fgm_home"               "fga_home"               "fg3m_home"             
[19] "fg3a_home"              "ftm_home"               "fta_home"              
[22] "oreb_home"              "dreb_home"              "reb_home"              
[25] "ast_home"               "blk_home"               "stl_home"              
[28] "tov_home"               "pts_home"               "pts_qtr1_home"         
[31] "pts_qtr2_home"          "pts_qtr3_home"          "pts_qtr4_home"         
[34] "pts_ot1_home"           "pts_ot2_home"           "pts_ot3_home"          
[37] "pts_ot4_home"           "pts_ot5_home"           "fgm_away"              
[40] "fga_away"               "fg3m_away"              "fg3a_away"             
[43] "ftm_away"               "fta_away"               "oreb_away"             
[46] "dreb_away"              "reb_away"               "ast_away"              
[49] "blk_away"               "stl_away"               "tov_away"              
[52] "pts_away"               "pts_qtr1_away"          "pts_qtr2_away"         
[55] "pts_qtr3_away"          "pts_qtr4_away"          "pts_ot1_away"          
[58] "pts_ot2_away"           "pts_ot3_away"           "pts_ot4_away"          
[61] "pts_ot5_away"           "attendance"             "pts_paint_home"        
[64] "pts_paint_away"         "pts_2nd_chance_home"    "pts_2nd_chance_away"   
[67] "pts_fb_home"            "pts_fb_away"            "team_turnovers_home"   
[70] "team_turnovers_away"    "pts_off_to_home"        "pts_off_to_away"       
[73] "lead_changes"           "times_tied"             "largest_lead_home"     
[76] "largest_lead_away"      "fg_pct_home"            "fg_pct_away"           

The data, whose columns are displayed above, is consisted of game by game results. The individual values, metrics, and statistics, are divided up and measured for both the home and away team, with a few select columns representing overall game summary like the season, attendance, and a unique game identifier.

Investigating Data Spread

[1] "Min Game Date: 1980-05-04"
[1] "Max Game Date: 2023-06-12"

The data begins tracking game data in the 1979-1980 season, specifically with a game in early April of the season. The most recent game in the data appears to be the last NBA Finals game of the 2022-2023 season.

Evaluating Overall Point Growth

The three point line added an entire new way to get points in the league. However, like many new things, we have to investigate if there was any change at all in the way the league scored points, since the introduction of the line.

We can see that there is overall growth in points scored, aside from a few dips in certain years. Let’s see if we can provide a bit more context as to what is going on in those specific years.

  • 1998:

    • There was an NBA lockout limiting the number of games played. Therefore, the limited volume in games, also limits the total number of potential points that can be scored as well.
  • 2012:

    • There was an NBA lockout limiting the number of games played. Therefore, the limited volume in games, also limits the total number of potential points that can be scored as well.
  • 2019-2020:

    • The COVID-19 pandemic forced the NBA into a bubble, also decreasing the number of games played during these seasons. The limited games, also caps the total point potential similar to the lockout years.

Evaluating Three Point Attempt Growth

The trend in three point attempts does appear to match the trend in points scored, almost identically. With similar downturns in years with fewer games, there is an otherwise extremely consistent rise in the number of three point attempts taken year over year.

How are Teams Utilizing the Three Point Shot?

Looking at the Divisions

Universal Increase: There’s a very clear and consistent upward trend in the percentage of 3-point attempts across almost all teams and divisions, particularly noticeable from the mid-2000s onwards. This highlights a league-wide shift towards more outside shooting.

Varying Adoption Rates: While the trend is universal, individual teams and even divisions show different paces of adoption. Some teams were early adopters of a high 3-point attempt rate, while others have been more gradual. Some stick out with crazy variance within their adoption as well - like the Houston Rockets who went from leading the league at one point to going back to middle of the pack. While the Memphis Grizzlies, divisional rivals of the Rockets, went from one of the fewest three point attempts in a season to meeting the Rockets in the middle just 10 years later.

No Division Dominance: There isn’t one single division that stands out as consistently having a significantly higher or lower 3-point attempt rate than others across all seasons; the overall trend applies broadly. However, we can observe which teams within each division are leading or lagging in this trend. Interestingly, teams that have embraced the three point shot recently (the Golden State Warriors under Stever Kerr and the Milwaukee Bucks) have had real life success alongside their adoption of the increased volume of the shot with both teams finding themselves with Championships in the last 10 years.

Assumptions Made Based Off Exploratory Data Analysis

  1. Data Assumptions:
    • All basketball terminologies are referred to by their appropriate, or colloquially referenced, abbreviation within the data (e.g., rebounds are “reb” and assists are “ast”).

    • The data is organized game by game, with each statistic or metric measured individually for both the home and away team.

      • Any subsequent analyses will need to take this into account, or acknowledge this.
    • The data spans between the 1979-1980, and the 2022-2023 NBA seasons. All games present are regular season or postseason games due to earlier filtering of the data set.

  2. Both points and three point attempts within NBA games have increased over time.
    • There is a possibility for a correlation between these two variables. We will have to conduct further analysis to test this hypothesis.
  3. There is variation among coaching strategies for three point shot usage, and certain implementations can lead to success (e.g., the Warriors and Bucks).

Analysis

Investigating the Relationship Between 3 Point Attempts and Points

We established that there was a possibility that this relationship existed, but now we actually run the required test.

`geom_smooth()` using formula = 'y ~ x'

The low correlation variable indicates that there are other factors that contribute to the growth in scoring over the course of the data set. However, the fact that the correlation is not zero is also indicative that there is a relationship here, which is practical considering the introduction of an entire new way to score points, and more than ever previously possible, should have an effect on the total points being scored in a game.

Analyzing the Factors that Contribute to Wins

We want to investigate what contributes to a team’s ability to win games. In order to do this, I will focus on the “wl_home” variable, which is a binary “w” or “l” depending on whether the home team won or lost the game in question. Isolating for just the home team allows us to focus our analysis, but also takes into consideration a key assumption we made earlier.

Identifying Contributing Variables

Potential explanatory variables include a the home teams’ field goal percentage (how efficient the home team is shooting), their rebounding totals, their turnover totals, and assist totals. I selected these because each are important statistics that contribute to a team’s success on the court, but also are isolated enough where we should be able to limit collinearity.

Creating the Model

Call:
glm(formula = home_win ~ fg_pct_home + reb_home + tov_home + 
    ast_home, family = binomial, data = NBA_Data)

Coefficients:
              Estimate Std. Error z value Pr(>|z|)    
(Intercept) -17.537384   0.188641 -92.967  < 2e-16 ***
fg_pct_home  28.065302   0.335903  83.552  < 2e-16 ***
reb_home      0.164231   0.002208  74.375  < 2e-16 ***
tov_home     -0.121661   0.003099 -39.260  < 2e-16 ***
ast_home     -0.011306   0.002798  -4.041 5.32e-05 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 60863  on 45360  degrees of freedom
Residual deviance: 43173  on 45356  degrees of freedom
AIC: 43183

Number of Fisher Scoring iterations: 5
Model Explanation

The model estimates the log‑odds of a home win using four performance variables. Each coefficient represents the change in log‑odds of winning for a one‑unit increase in the predictor, holding the others constant.

Interpreting the Coefficients
Shooting percentage (fg_pct_home)

This is the dominant predictor in the model. A coefficient of 28.17 means that even small changes in shooting percentage have a large effect on win probability. Because FG% is on a 0–1 scale, a one‑percentage‑point increase (0.01) changes the log‑odds by about 0.28, which corresponds to roughly a 32% increase in the odds of winning. This aligns with basketball intuition: shooting efficiency is one of the strongest determinants of game outcomes.

Rebounds (reb_home)

The coefficient of 0.166 indicates that each additional rebound increases the log‑odds of winning. Converting to an odds ratio, a single rebound raises the odds of winning by about 18%. Rebounding extends possessions and limits opponent opportunities, so this effect is consistent with game dynamics.

Turnovers (tov_home)

The negative coefficient (–0.123) shows that turnovers reduce win probability. Each turnover decreases the odds of winning by about 11–12%, reflecting the cost of lost possessions and transition opportunities for opponents.

Assists (ast_home)

The coefficient is small (–0.011) and negative, which may seem counterintuitive. This often happens when assists are highly correlated with shooting percentage and field goals made. Once FG% is in the model, assists add little unique information, and the sign can flip due to multicollinearity. The effect is statistically significant but practically small.

Basketball interpretation

The model captures the essential logic of NBA games:

  • Teams win when they shoot well.

  • Rebounding helps secure extra possessions.

  • Turnovers hurt.

  • Assists matter, but their effect is overshadowed by shooting efficiency.

Scoring Inside, Outside, and Protecting the Ball

We just saw how much of an impact good shooting and taking care of the ball can have on an ability to win games, but let’s take that one step further by breaking down the offensive side of the ball even more. The analytics revolution within the game of basketball has prioritized one thing: efficiency. That has manifested itself both in shot type and location with teams being inclined to focus their attention on shots with higher expected point values (three point shots due to their point allocation and shots in the painted area due to their high efficiency). So, if we were to focus on these two areas, the paint and the shots from three, while also taking into account possessions that result in turnovers, would we see an accurate prediction of a team’s points or are teams still focusing on the mid range and free throw shot as well?

Creating the Model

Call:
lm(formula = pts_home ~ fg3m_home + pts_paint_home + tov_home, 
    data = NBA_Data2)

Residuals:
    Min      1Q  Median      3Q     Max 
-31.686  -5.818  -0.301   5.481  42.855 

Coefficients:
                Estimate Std. Error t value Pr(>|t|)    
(Intercept)    64.364455   0.430752  149.42   <2e-16 ***
fg3m_home       1.810308   0.016982  106.60   <2e-16 ***
pts_paint_home  0.647570   0.006905   93.79   <2e-16 ***
tov_home       -0.240682   0.018320  -13.14   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 8.502 on 13872 degrees of freedom
Multiple R-squared:  0.6059,    Adjusted R-squared:  0.6058 
F-statistic:  7109 on 3 and 13872 DF,  p-value: < 2.2e-16
Model Explanation

This is a linear regression model predicting the home points (points scored by the home team in an NBA game) using three different variable inputs: fg3m_home (the number of three point shots the home team made), pts_paint_home (points scored in the key/paint by the home team), and tov_home (turnovers committed by the home team).

Interpreting the Coefficients
Intercept (64.36)

This is the expected number of points a home team would score if:

  • they made 0 threes

  • scored 0 points in the paint

  • committed 0 turnovers

This accounts for all other points a team could accumulate in a game. Two point shots accumulated outside the paint (shots made in the mid-range) and free throws are a major driver of this high number. There is also a big assumption made in this point that the home team would commit zero turnovers which is exceedingly unlikely.

Three Point Shots (1.81)

This is the largest of the coefficients and plays the biggest role within the model.

Each additional made 3‑pointer increases expected home points by about 1.81 points, holding everything else constant.

Why isn’t it exactly 3 points?
Because:

  • teams that make more threes often take fewer 2‑point shots (more three point makes also accounts for more three point takes and less opportunity for higher percentage two point shots)

  • pace and possessions vary

  • paint scoring is already in the model

Still, 1.81 is a big effect — threes matter.

Paint Scoring (0.648)

Each additional point scored in the paint increases total points by about 0.65 points, controlling for threes and turnovers.

Why less than 1.0?
Because paint scoring is correlated with many other factors such as :

  • pace

  • offensive rebounds

  • free throws

  • 2‑point attempts outside the paint

Once those are partially accounted for, the “unique” contribution of paint scoring is slightly smaller.

Turnovers (-0.241)

This is exactly what you’d expect.

Each turnover reduces expected home points by about 0.24 points, holding other variables constant.

Turnovers kill possessions.
Even a quarter‑point per turnover adds up fast — 15 turnovers cost you ~3.6 points.

Model Fit
R² = 0.606

The model explains about 61% of the variation in home scoring.

Residual Standard Error = 8.502

On average, predictions are within about 8.5 points of actual scoring.

All predictors are highly significant.

P-values < 2e-16 means these variables are strongly associated with scoring and are significant to the model itself.

Model Insights

This model shows that both 3‑point shooting and paint scoring are strong, positive predictors of total points scored at home. Turnovers have a negative effect, reducing scoring by eliminating possessions. The model explains about 61% of the variation in scoring, which is strong for NBA data though it could definitely be improved. Diagnostics reveal mild heteroskedasticity and a few influential games, but no severe violations of linear model assumptions. These results reinforce common basketball intuition: efficient scoring inside and outside, combined with ball security, drives offensive output.

Capitalizing on Elite Shooting Performances

So we have a model that says shooting efficiency is one of the strongest predictors of winning a game in the NBA, but let’s evaluate what that means in context. How good does a team have to shoot secure a win? Does a really good shooting night guarantee a win? If my team is having an off shooting night, can I still win the game? All of these questions will be analyzed in this section.

How good does a team have to shoot to win?

Interpretation (what you will see)

  • Win probability rises smoothly with FG%.

  • Around 48–50%, teams win ~75% of games.

  • Above 55%, win probability approaches 90%+.

  • Below 39%, win probability drops under 30%.

This answers the first question:
You don’t need to shoot lights‑out, but you need to be at least league‑average (~45–47%) to be favored.

Does a great shooting night guarantee a win?

We are using 55% as the cutoff for a “great shooting night.”

# A tibble: 1 × 2
  games win_rate
  <int>    <dbl>
1  3699    0.937

What you will find:

  • Teams shooting 55%+ win ~94% of the time (in this sample).

  • But they do lose sometimes — usually because:

    • Opponent shoots even better

    • Turnovers

    • Offensive rebounds

    • Free throw disparity

    • Pace differences

So the answer is:
A great shooting night almost guarantees a win, but not always.

Can you win when you shoot poorly?

We are signifying a “poor shooting performance” as 42%.

# A tibble: 1 × 2
  games win_rate
  <int>    <dbl>
1  9844    0.296

What you will find:

  • Teams shooting ≤ 42% still win ~30% of the time (in this sample).

  • These wins usually come from:

    • Elite defense

    • Opponent shooting even worse

    • High offensive rebounding

    • Turnover advantage

    • Free throw volume

So the answer is:
Yes — you can win while shooting poorly, but you need help from other areas.

Let’s look into this more.

Teams Winning Despite Poor Shooting

We are going to investigate the potential reasons I just pitched:

  • Elite defense

  • Opponent shooting even worse

    • Defense and the opponent shooting worse will manifest together in the same variable that we’ll denote as “defense” - accounting for instances in which the opponent’s field goal percentage is even worse than the home team.
  • High offensive rebounding

    • Recognized by the variable “off_reb”, this will represent all instances in which the poor shooting team secures more offensive rebounds than their opponent.
  • Turnover advantage

    • Winning the turnover margin, forcing the opponent to turn the ball over more than the poor shooting has, is denoted by the term “turnovers”.
  • Free throw volume

    • Finally, if the poor shooters manage to shoot more free throws than their opposition, that will be recognized in the “fta” variable.

We can see that for teams that were the most successful in overcoming their shooting woes, the best strategy was on the defensive end. If you can somehow force your opponent to shoot even worse than you are, you give yourself the best chance to win. This just furthers the importance of shooting efficiency within the game of basketball.

Visualizing Win Percentage and Shooting
`geom_smooth()` using formula = 'y ~ x'

What this curve shows

  • A smooth S‑shaped logistic curve

  • 50% win probability around 43–45% FG

  • Steep climb between 48–52%

  • Plateau near 90–95% above 55% FG

Evaluating Three Point Shooting

Time and time again we’ve stressed the importance of shooting efficiency, but that was in terms of overall shots taken and the point of this analysis is to look at the growth of the three point shot. So, let’s take a step back and focus on just that. How does three point shooting in particular impact winning?

In contrast to overall shooting efficiency, we see that good three point shooting does not have the same ability to propel a team to victory, but there is a lower range within the percentages and a forgiveness about the statistic. Teams can shoot worse from three point territory and still be successful rather than overall field goal percentage where if a team shot these percentages, their chances to win would be exceedingly low.

Bad FG% but Good 3P%?
# A tibble: 4 × 4
# Groups:   fg_quality [2]
  fg_quality fg3_quality   win_rate games
  <chr>      <chr>            <dbl> <int>
1 Good FG%   Great 3P%        0.789  8289
2 Good FG%   Not Great 3P%    0.591 11001
3 Poor FG%   Great 3P%        0.461   883
4 Poor FG%   Not Great 3P%    0.262  5325

This is the pinnacle of how three point shooting has changed the NBA - even on poor shooting nights (42% overall), if a team is making their threes, then they are not inherently out of the game. With good defense, as we saw earlier, and good three point shooting, there are pathways to victory on a team’s worst shooting night. On the flip side, teams can shoot well from the field and not be hampered by a poor shooting night from three point range. The expected points on a three point shot are the most in all of basketball, and are a huge reason why the league continues to trend to more shots from distance.

Conclusion

Across every angle of analysis, one theme emerges clearly: shooting matters, but it doesn’t operate in isolation. Teams that shoot well dramatically increase their chances of winning, yet great shooting alone doesn’t guarantee success, and poor shooting doesn’t automatically doom a team. The NBA is a possession‑driven league, and the way teams manage those possessions determines how resilient they are on nights when shots don’t fall.

When we examined overall field‑goal percentage, the relationship with win probability was unmistakable. Teams reach a coin‑flip chance of winning around 45–47% FG, and their odds climb steeply above 50%. Truly elite shooting nights (55%+) push win probability into the 90% range, the closest thing we have to automatic wins — opponents can still outpace them through turnovers, free throws, or offensive rebounding. Shooting well gives a team a massive advantage, but it doesn’t close the door on the other team.

The more interesting story emerges when we flip the question: how do teams win when they shoot poorly? By isolating games where teams shot 42% or worse, we found that winners consistently out‑dueled their opponents in the possession game. These “grit wins” reveal that defensive pressure, extra possessions, and free‑throw efficiency can compensate for cold shooting nights. Teams that survive poor shooting don’t just get lucky — they dominate the controllable margins particularly on the defensive end.

Three‑point shooting adds another layer. When teams take at least 15 threes, their win rate varies dramatically by accuracy:

  • ≥ 40% 3P → strong winning percentage

  • 33–40% 3P → roughly even

  • ≤ 33% 3P → steep drop‑off

But even here, shooting well from three doesn’t guarantee a win, but more importantly shooting poorly doesn’t guarantee a loss. Teams that combine poor overall FG% with strong 3P% often stay competitive, while teams that shoot well inside the arc but struggle from deep can still win by controlling turnovers, rebounds, and free throws.

Taken together, the analyses paint a balanced picture of modern basketball. Shooting efficiency — especially from three — is a powerful driver of success, but it’s only one part of the equation. Teams that consistently win the possession battle, defend effectively, and generate high‑value opportunities at the three point line can withstand off nights from the field. Conversely, teams that rely solely on hot shooting without controlling the underlying possession metrics remain vulnerable.

In short:
Great shooting makes winning easier. Smart basketball makes winning possible.

Recommendations

  1. Target 45–47% FG as the “break‑even” threshold

    This range is right around where the logistic regression curve crosses the 50% win probability mark.
    Teams should design offensive schemes that consistently generate:

    • Paint touches

    • Rim attempts

    • High‑efficiency catch‑and‑shoot threes

    This is the efficiency floor for being competitive.

    2. Treat 55%+ FG nights as “should win” games

    The analysis showed teams win ~90% of these games.
    When shooting is hot:

    • Push pace

    • Increase three‑point volume

    • Lean into transition opportunities

    Capitalize on the advantage.

    3. Build a defensive plan for poor shooting nights

    When FG% ≤ 42%, winners consistently:

    • Forced more turnovers

    • Held opponents to worse FG%

    • Win the offensive rebounding battle

    This is the blueprint for surviving cold spells.

    4. Three‑point shooting tiers should guide game planning

    Let’s review the 3P% tier analysis:

    • ≥ 40% → strong win rate

    • 33–40% → coin flip

    • ≤ 33% → drop

    Teams should:

    • Keep generating high‑quality threes

    • Avoid abandoning the 3P shot after early misses

    • Use actions that create corner threes and catch‑and‑shoot looks

    Volume + quality beats streakiness. Also remember that the three point shot can keep you in games, but rarely will totally place you out of them.

Slides: https://docs.google.com/presentation/d/193pt7d8CtCUZCDkrafM3cMq_6k_SkSFkoVQ74cMaXzk/edit?usp=sharing