Data Analysis: Examining Roethlisberger's Completion Percentage by Depth of Target

(Photo by Justin K. Aller/Getty Images)

Make no mistakes about it: the deep ball was an issue for the Pittsburgh Steelers throughout the entire 2020 campaign.

In fact, I did a quick plot of deep ball attempts vs. deep ball accuracy and posted it to my Twitter account yesterday:

As you can see, Ben Roethlisberger had more deep ball attempts than nearly everybody in the league last season. In this case, a deep ball is defined as an attempt with at least 20+ air yards. Only Tom Brady, Aaron Rodgers, and Matt Ryan had more.

However, Roethlisberger's accuracy is among the worst in the league. And, please note: this is looking at accuracy, not completion percentage. So, even if a wide receiver did drop the ball, Roethlisberger still gets credit for good accuracy as long as the ball was deemed "catchable."

It is simply not a good place to be in.

That said: I wanted to look at the result of this in a different way, by breaking down Roethlisberger's completion percentage based on several different air yardage.

For the sake of transparency, this is the coding used to complete this analysis:

pbp <- nflfastR::load_pbp(2020)

ben <- pbp %>%
  filter(passer == "B.Roethlisberger") %>%
    dot = case_when(
      air_yards < 0 ~ "Negative",
      air_yards >= 0 & air_yards < 10 ~ "Short",
      air_yards >= 10 & air_yards < 20 ~ "Medium",
      air_yards >= 20 ~ "Deep"
  ) %>%
    negative.attempts = sum(pass[dot == "Negative"], na.rm = T),
    negative.completions = sum(complete_pass[dot == "Negative"], na.rm = T),
    negative.percentage = (negative.completions / negative.attempts) * 100,
    short.attempts = sum(pass[dot == "Short"], na.rm = T),
    short.completions = sum(complete_pass[dot == "Short"], na.rm = T),
    short.percentage = (short.completions / short.attempts) *