2025-04-20

Introduction to the Tush Push - ideas behind the data

Quick Introduction to Football for Non-Football Fans

American football is a game played in 10 yard increments on a 100 yard field. When a team gets possession of the football, they are given 4 attempts- called downs- to move the ball at least 10 yards forward from the initial spot of possession. If they succeed, they get another set of four downs and 10 yards to go. If they fail, the opposing team takes over

The quarterback (QB) is the player on offense who typically throws or hands the ball to teammates to move the ball forward. But sometimes, when only a yard or so is needed, the quarterback will keep the ball and attempt to run it forward past the line of scrimmage themselves.

QB Sneak, Tush Push, what’s the difference?

What is a QB Sneak? A QB sneak is a short-yardage play where the quarterback runs straight ahead right after the snap, usually on 3rd or 4th downs when only a yard of less is needed to reach the first down marker or the goal line. The play is fast, direct, and relies on the strength of the offensive line and the QB’s momentum.

What Makes the Tush Push Different?

The Tush Push is a modern twist of the QB sneak that has gained popularity in recent years, thanks in part to a rule change allowing players to push the QB forward. While the QB sneak traditionally involves just the quarterback surging ahead, the Tush Push adds a little help: two or more offensive players (typically a tight end and a running back) line up directly behind the quarterback and physically push him forward during the play.

The name “Tush Push” comes from exactly what it looks like- the players are pushing the quarterback’s backside to help them cross the line to gain.

The play became nationally prominent in 2022, when the Philadelphia Eagles had an exceptionally successful year with the maneuver. Since then, it has sparked widespread debate: some praise it as an efficient tactic, while others criticize it for being “unfootball-like”, unfair, or an unsafe exploitation of the rules. Nonetheless, the tush push has quickly become one of the most effective plays in modern football.

About the Data

This analysis predominantly uses data from the NFL Big Data Bowl 2025, a competition that explores innovative ways to analyze football data. This year’s theme is:
> “Help use pre-snap behavior to predict and better understand NFL team and player tendencies.”

The core dataset comes from the “plays” data, which includes detailed information on every play from Weeks 1–9 of the 2022 NFL season, tracked via NFL Next Gen Stats. Columns prefixed with pff_ are curated by Pro Football Focus (PFF) and include information on formations, coverages, and run concepts.

To supplement this, I used charting data from FTNData.com, which provides estimates like the number of offensive players in the backfield and defenders in the box—details that help distinguish Tush Push plays from standard QB sneaks.

Data Wrangling

Here the loaded data is merged and sorted. This code chunk is perhaps the most important of them all; in qbSneakmerge_2022, the mutate() function singles out which plays are a standard QB sneak and which are a tush push.

While some standard qb sneaks feature numerous offense in the backfield (that is, behind the qb), that is a feature that is necessary for a play to be considered a tush push. Additionally, a great number of defense in the box indicates players are lined up against each other (instead of some defense players waiting down the field to stop a long pass or run situation), and certain whole team formations are more common with the tush push than the qb sneak. This is why I have chosen these variables to single out the tush pushes from the standard sneaks.

qbSneakmerge_2022 <- nflplays_2022 %>%
  filter(qbSneak == TRUE) %>%
  left_join(ftncharting_2022, by = c("playId" = "nflverse_play_id"), relationship = "many-to-many") %>%
  distinct(playDescription, .keep_all = TRUE) %>%
  mutate(
    tushPush = qbSneak &
      n_offense_backfield > 1 &
      n_defense_box >= n_offense_backfield &
      offenseFormation %in% c("I_FORM", "JUMBO", "SINGLEBACK", "WILDCAT")
  ) %>%
  select(where(~ any(!is.na(.) & . != FALSE)))

# ensure when re-merging data that there are no duplicates
nflplays_2022_dedup <- nflplays_2022 %>%
  distinct(playDescription, .keep_all = TRUE)

nflPlaysStatus_2022 <- nflplays_2022_dedup %>%
  left_join(
    qbSneakmerge_2022 %>% select(playDescription, sneak_flag = qbSneak, tushPush, n_offense_backfield, n_defense_box, is_motion, n_blitzers, n_pass_rushers),
    by = "playDescription"
  ) %>%
  mutate(
    qbSneak_clean = coalesce(sneak_flag, qbSneak, FALSE),
    qbSneak_status = case_when(
      qbSneak_clean == FALSE ~ "Non-QB Sneak",
      tushPush == TRUE       ~ "Tush Push",
      TRUE                   ~ "Standard QB Sneak"
    ),
  ) %>% select(-sneak_flag)

# sneak factor label
nflPlaysStatus_2022 <- nflPlaysStatus_2022 %>%
  mutate(play_lbl = factor(qbSneak_status, levels = c("Standard QB Sneak", "Tush Push")))

So Just How Successful is the Tush Push?

The league standard definition of a successful play depends on the current down. - on 1st down, the yards gained by offense must be greater than or equal to 40% of the “yards to go” aka yards to the next 1st down. - on 2nd down, the yards gained must be greater than or equal to 60% of the yards needed. - on 3rd and 4th down, the yards gained must be greater than or equal to 100% of the yards needed. Put another way, a 3rd or 4th down is only considered successful if the play grants the team on offense a fresh set of downs.