Project Overview:

How often in the NFL are games decided right at the end by a field goal? Just last season Ravens fans experienced heart break before their eyes as Steelers fans celebrated moving on to the playoffs after a missed kick. NFL kickers may sit on the sideline waiting for an opportunity the whole game then be thrown in as time expires and their foot decides a season. My task in this project is given 2018-2020 NFL special teams data, who is the best kicker in the league. The way the best kicker is determined was up to each student. The NFL Big Data Bowl data we were provided covers an immense amount of special teams plays across those three NFL seasons.

How I Define Success:

In order to answer this question, I wanted to look at the kickers who were successful under pressure. I focused on kickers who were able to execute when the game was late and the score was close. I narrowed my data set to only include field goal attempts in the 4th quarter when the score was within one score, which I defined as 3 points or less. From there, I compared each kicker based on how many attempts they had, how many they made, and their overall success rate in each of these “pressure” situations. I also looked at the distance of the field goals to make sure I was considering the difficulty of the kick rather than only looking at whether it was made or missed. This allowed me to compare kickers based on how they performed when their teams needed them the most.

Findings And Results:

The results showed that distance was the biggest factor affecting whether a field goal was made. In my first model, the negative coefficient for kick distance was statistically significant, showing that the probability of making a field goal decreased as the distance increased which makes reasonable sense. I also found 282 pressure kicks in my data, with 232 of them being made. Again a pressure kick means a kick when the game is within 3 points. When I narrowed the results to kickers with at least 10 pressure attempts, Justin Tucker and Robbie Gould stood out the most. Both kickers made 100% of their pressure attempts, with Tucker making 10 out of 10 and Gould making 12 out of 12. Dustin Hopkins was next with 13 makes on 14 attempts, giving him a 92.9% success rate. Overall, these results suggest that Tucker and Gould were the most successful kickers in the pressure situations I defined, although the smaller number of pressure attempts should also be considered when comparing them. Sample sizes of only 10, 12, and 14 are very small. Widening the range would give more insight.

Field Goal Distance Was The Biggest Factor

model1 <- glm(good ~ kickLength, 
              data = fg_df,
              family = binomial)

summary(model1)
## 
## Call:
## glm(formula = good ~ kickLength, family = binomial, data = fg_df)
## 
## Coefficients:
##              Estimate Std. Error z value Pr(>|z|)    
## (Intercept)  6.593214   0.329670   20.00   <2e-16 ***
## kickLength  -0.115666   0.007219  -16.02   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 2185.4  on 2603  degrees of freedom
## Residual deviance: 1846.3  on 2602  degrees of freedom
## AIC: 1850.3
## 
## Number of Fisher Scoring iterations: 5
The first model showed that kick distance was the primary factor driving field goal success. The negative coefficient for kick distance clearly confirmed a strong relationship, showing that as the field goal attempt got longer, the probability of making the kick dropped predictably.

Pressure Kicks Results:

pressure_results <- fg_df |>
  filter(pressure_kick == 1) |>
  summarise(
    Attempts = n(),
    Made = sum(good),
    Missed = sum(good == 0),
    SuccessRate = Made / Attempts
  )

pressure_results |>
  mutate(
    SuccessRate = scales::percent(SuccessRate, accuracy = 0.1)
  ) |>
  knitr::kable(
    col.names = c(
      "Attempts",
      "Made",
      "Missed",
      "Success Rate"
    ),
    align = "c",
    caption = "Overall Pressure Kick Results"
  )
Overall Pressure Kick Results
Attempts Made Missed Success Rate
282 232 50 82.3%
The pressure results were somewhat surprising to me because kickers still had a high success rate in these situations. There were 282 pressure attempts, and 232 of them were successful, giving the kickers an overall success rate of 82.3%. This shows that even when the game was close and the pressure was higher, NFL kickers were still able to make most of their field goals.

Best Kickers Under Pressure:

clutch_df <- fg_df |>
  filter(pressure_kick == 1) |>
  group_by(displayName, possessionTeam) |>
  summarise(
    Attempts = n(),
    Made = sum(good),
    Missed = sum(good == 0),
    ConversionRate = Made / Attempts,
    AvgLength = mean(kickLength),
    .groups = "drop"
  ) |>
  filter(Attempts >= 10) |>
  arrange(desc(ConversionRate))

clutch_df |>
  mutate(
    ConversionRate = scales::percent(ConversionRate, accuracy = 0.1),
    AvgLength = round(AvgLength, 1)
  ) |>
  knitr::kable(
    col.names = c(
      "Kicker",
      "Team",
      "Attempts",
      "Made",
      "Missed",
      "Success Rate",
      "Avg. Kick Length"
    ),
    align = "c",
    caption = "Top Kickers in Pressure Situations"
  )
Top Kickers in Pressure Situations
Kicker Team Attempts Made Missed Success Rate Avg. Kick Length
Justin Tucker BAL 10 10 0 100.0% 40.9
Robbie Gould SF 12 12 0 100.0% 37.2
Dustin Hopkins WAS 14 13 1 92.9% 41.2
Ka’imi Fairbairn HOU 12 10 2 83.3% 40.0
Chris Boswell PIT 10 8 2 80.0% 32.9
Matt Prater DET 10 8 2 80.0% 37.4
Michael Badgley LAC 10 6 4 60.0% 40.8
The pressure kicker results showed that Justin Tucker and Robbie Gould performed the best, with both kickers making 100% of their pressure attempts. Dustin Hopkins was next with 13 makes on 14 attempts, giving him a 92.9% success rate. However, the sample sizes are still relatively small, so the number of attempts should also be considered when comparing the kickers.

Pressure vs Normal Kicks

kicker_compare <- fg_df |>
  group_by(displayName) |>
  summarise(
    PressureAttempts = sum(pressure_kick == 1),
    PressureMade = sum(pressure_kick == 1 & good == 1),
    PressureRate = PressureMade / PressureAttempts,
    NormalAttempts = sum(pressure_kick == 0),
    NormalMade = sum(pressure_kick == 0 & good == 1),
    NormalRate = NormalMade / NormalAttempts,
    Difference = PressureRate - NormalRate
  ) |>
  filter(PressureAttempts >= 10) |>
  arrange(desc(PressureRate))

kicker_compare |>
  mutate(
    PressureRate = scales::percent(PressureRate, accuracy = 0.1),
    NormalRate = scales::percent(NormalRate, accuracy = 0.1),
    Difference = scales::percent(Difference, accuracy = 0.1)
  ) |>
  knitr::kable(
    col.names = c(
      "Kicker",
      "Pressure Attempts",
      "Pressure Made",
      "Pressure Rate",
      "Normal Attempts",
      "Normal Made",
      "Normal Rate",
      "Difference"
    ),
    align = "c",
    caption = "Pressure vs. Normal Field Goal Success"
  )
Pressure vs. Normal Field Goal Success
Kicker Pressure Attempts Pressure Made Pressure Rate Normal Attempts Normal Made Normal Rate Difference
Justin Tucker 10 10 100.0% 82 77 93.9% 6.1%
Robbie Gould 12 12 100.0% 65 54 83.1% 16.9%
Dustin Hopkins 14 13 92.9% 71 60 84.5% 8.4%
Greg Zuerlein 10 9 90.0% 82 67 81.7% 8.3%
Ka’imi Fairbairn 12 10 83.3% 82 71 86.6% -3.3%
Chris Boswell 10 8 80.0% 52 47 90.4% -10.4%
Matt Prater 10 8 80.0% 68 57 83.8% -3.8%
Michael Badgley 10 6 60.0% 51 43 84.3% -24.3%
Zane Gonzalez 10 6 60.0% 52 44 84.6% -24.6%
Comparing performance in pressure situations against standard kicks highlights how each player responds when the stakes are raised. While some kickers actually elevated their conversion rates under pressure, others saw a noticeable drop-off. This side-by-side comparison makes it clear which kickers truly step up in crucial moments versus those whose consistency slips when the game is on the line.

Best Kickers Under Pressure:

best_kickers <- fg_df |>
  filter(pressure_kick == 1) |>
  group_by(displayName) |>
  summarise(
    Attempts = n(),
    Made = sum(good),
    SuccessRate = Made / Attempts,
    .groups = "drop"
  ) |>
  filter(Attempts >= 10) |>
  arrange(desc(SuccessRate)) |>
  slice_head(n = 15)

ggplot(
  best_kickers,
  aes(
    x = reorder(displayName, SuccessRate),
    y = SuccessRate,
    fill = SuccessRate
  )
) +
  geom_col() +
  geom_text(
    aes(
      label = paste0(
        percent(SuccessRate, accuracy = 0.1),
        " (", Attempts, " attempts)"
      )
    ),
    hjust = 0,
    nudge_y = 0.01
  ) +
  coord_flip(clip = "off") +
  scale_fill_gradient(
    low = "#fff0f0",
    high = "red"
  ) +
  scale_y_continuous(
    labels = percent,
    limits = c(0, 1.15),
    expand = expansion(mult = c(0, 0.02))
  ) +
  labs(
    title = "Best Kickers Under Pressure",
    x = "Kicker",
    y = "Pressure Success Rate"
  ) +
  theme_minimal() +
  theme(
    plot.title = element_text(
      hjust = 0.5,
      face = "bold"
    ),
    legend.position = "none",
    plot.margin = margin(5.5, 100, 5.5, 5.5)
  )

This chart shows which kickers were most successful in pressure situations based on my definition of a pressure kick. I defined a pressure kick as a field goal attempt in the fourth quarter or overtime when the game was within three points. Based on these results, the kickers at the top of the chart were the most consistent. While some kickers had higher success rates, the number of attempts is also important to consider because a smaller sample size can make a perfect less meaningful. Overall, I believe success in these late-game situations is a good way to measure who performs best when the pressure is highest, however a larger sample size would provide more conslusive evidence. So to answer the question, from 2018-2020 the best kicker in the NFL based on my metric was Robbie Gould.