When two really good teams meet you expect a really good game. When they play in the same division sometimes things can go awry. But what we got here was two really great teams on both sides of the ball and the matchup did not disappoint. Now you could say that on offence a lot went wrong for the Seahawks and while they ultimately lost the game 21-19. They only lost by 2 points and could have won if a really long field goal goes through the uprights. Now I wanted to explore two questions: 1) Did the Rams capitalize on the turnovers on defense and 2) Because there were so many turnovers, how did the win probability flow over the course of this game? As mentioned before, these are divisional opponents and it’s their first meeting of the season, so hopefully this analysis ends up being useful for when they meet again.
FTN Data via nflverse
This game was very intriguing because the Rams were able to take the ball away five times, and yet were only able to win the game by 2 points. This raises the question: Did the Rams effectively capitalize on their defensive turnovers? To answer this, I will analyze expected points added, the drives following each turnover, and some of the context during each of the turnovers.
## # A tibble: 5 × 28
## qtr time down ydstogo yardline_100 desc posteam defteam interception
## <dbl> <chr> <dbl> <dbl> <dbl> <chr> <chr> <chr> <dbl>
## 1 1 10:59 1 10 79 (10:59) (… SEA LA 1
## 2 3 14:19 3 9 64 (14:19) (… SEA LA 1
## 3 3 14:09 2 10 35 (14:09) (… LA SEA 0
## 4 3 01:15 1 20 73 (1:15) 14… SEA LA 1
## 5 4 10:55 3 3 36 (10:55) (… SEA LA 1
## # ℹ 19 more variables: fumble_lost <dbl>, ep <dbl>, epa <dbl>, wp <dbl>,
## # wpa <dbl>, fixed_drive <dbl>, pass_length <chr>, pass_location <chr>,
## # defenders_in_box <int>, defense_personnel <chr>,
## # number_of_pass_rushers <int>, time_to_throw <dbl>, was_pressure <lgl>,
## # route <chr>, defense_man_zone_type <chr>, defense_coverage_type <chr>,
## # is_interception_worthy <lgl>, is_catchable_ball <lgl>, read_thrown <chr>
## Number of turnovers: 5
Taking a look at the turnovers, it seems like going into halftime the Seahawks probably felt pretty good having committed only 1 turnover in the first half and Rams committing none. The story changes going into the second half of the game where the Seahawks committed 3 more, two of them in the third quarter, on top of the Rams committing a turnover of their own. Both teams in the second half committed a turnover that set up the other team with great field position in opponent territory.
Now let’s take a look at which turnovers had the biggest impact on a teams probability of winning the game.
## # A tibble: 5 × 8
## qtr time defteam down ydstogo yardline_100 wpa epa
## <dbl> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1 10:59 LA 1 10 79 -0.182 -7.43
## 2 3 01:15 LA 1 20 73 -0.173 -5.80
## 3 4 10:55 LA 3 3 36 -0.112 -5.84
## 4 3 14:09 SEA 2 10 35 -0.0919 -5.21
## 5 3 14:19 LA 3 9 64 -0.0564 -4.40
Looking at win probability added (WPA values are negative because they reflect the offense’s perspective), the first interception that the Seahawks threw had the largest impact to the team’s chance at winning at about 18.2%. All turnovers are bad, but these numbers suggest that the first interception set the tone for the rest of the game. This single turnover had nearly double the impact of LA’s only turnover at about 9.2%.
Now I wanted to try and dig a little deeper into the context of these turnovers. Were the Rams doing the same thing each time in terms of personnel/coverage? Or were they trying to force Darnold to get rid of the ball quickly? Let’s take a look.
## # A tibble: 4 × 26
## qtr time down ydstogo yardline_100 defteam interception fumble_lost ep
## <dbl> <chr> <dbl> <dbl> <dbl> <chr> <dbl> <dbl> <dbl>
## 1 1 10:59 1 10 79 LA 1 0 1.10
## 2 4 10:55 3 3 36 LA 1 0 2.96
## 3 3 01:15 1 20 73 LA 1 0 1.25
## 4 3 14:19 3 9 64 LA 1 0 0.266
## # ℹ 17 more variables: epa <dbl>, wp <dbl>, wpa <dbl>, fixed_drive <dbl>,
## # pass_length <chr>, pass_location <chr>, defenders_in_box <int>,
## # defense_personnel <chr>, number_of_pass_rushers <int>, time_to_throw <dbl>,
## # was_pressure <lgl>, route <chr>, defense_man_zone_type <chr>,
## # defense_coverage_type <chr>, is_interception_worthy <lgl>,
## # is_catchable_ball <lgl>, read_thrown <chr>
Looking at the data what I saw was: - The Rams were in Nickel on all four turnovers - Only blitzed one time but pressured the QB on 3/4 of the dropbacks - Played zone on 3/4 of the turnovers, in particular middle of field open coverages (2, 4 or 6) - Avg. time to throw was ~3.13 seconds
I would have to dig deeper to try and piece together what the gameplan was but I’d be curious to see how often the Rams were in Nickel or how often were they playing with a light box because that would dictate how they would’ve wanted the Seahawks to run their offense.
## # A tibble: 2 × 3
## defteam turnovers_forced total_expected_points_added
## <chr> <int> <dbl>
## 1 LA 4 -23.5
## 2 SEA 1 -5.21
Taking a look at the numbers, the Rams defense was able to create -23.46 EPA off of those four turnovers. That is pretty impressive a definitely helped them win the ball game even if it was only by 2 points. If you dig a little bit deeper, you see that 3 of the Rams’ 4 turnovers resulted in field position in Seattle territory. Getting great field position that many times and not scoring more points was definitely a positive for that Seattle defense.
# game_data_extra_context %>%
# filter(!is.na(posteam), posteam != "",
# play_type %in% c("run", "pass", "no_play"), timeout == 0) %>% select(home_team, away_team, posteam, defteam, drive, qtr, down, time, yrdln, ydsnet, desc, play_type, yards_gained, home_timeouts_remaining, away_timeouts_remaining, timeout)
drives <- game_data_extra_context %>%
filter(!is.na(posteam), posteam != "",
play_type %in% c("run", "pass", "no_play", "field_goal"), timeout == 0) %>% # Remove rows without offensive team
group_by(fixed_drive) %>%
summarise(
qtr = first(qtr),
posteam = first(posteam),
drive_start_yard_line = first(yrdln), #yardline_100 for team name+yard line
plays = n(),
yards = sum(yards_gained, na.rm = TRUE),
points_scored = last(posteam_score_post) - first(posteam_score_post),
drive_result = case_when(
any(fixed_drive_result == "Touchdown") ~ "Touchdown",
any(fixed_drive_result == "Field Goal") ~ "Field Goal",
any(fixed_drive_result == "Interception" | fixed_drive_result == "Fumble") ~ "Turnover",
any(fixed_drive_result == 'Punt') ~ "Punt",
TRUE ~ "Other"
)
) %>%
ungroup()
## # A tibble: 23 × 8
## fixed_drive qtr posteam drive_start_yard_line plays yards points_scored
## <dbl> <dbl> <chr> <chr> <int> <dbl> <dbl>
## 1 1 1 LA LA 30 6 42 0
## 2 2 1 SEA SEA 8 3 13 0
## 3 3 1 LA SEA 3 4 3 6
## 4 4 1 SEA SEA 35 6 26 3
## 5 5 1 LA LA 26 11 84 6
## 6 6 1 SEA SEA 35 15 43 3
## 7 7 2 LA LA 40 3 1 0
## 8 8 2 SEA SEA 8 15 89 3
## 9 9 3 SEA SEA 35 3 1 0
## 10 10 3 LA SEA 35 2 7 0
## # ℹ 13 more rows
## # ℹ 1 more variable: drive_result <chr>
Looking at the drives from the game, we can see that of the four drives following takeaways the Rams were able to score 2 touchdowns on very short fields resulting in 14 points while the Seahawks were able to walk away with a field goal (3 points) on the drive following their takeaway. But outside of that on all other offensive drives the Rams were only able to score 7 points. Which to me is a testament to coach MacDonald and his defense being able to help keep the game close.
We can see that the majority of the time that the Seahawks were in a MoF closed coverage on defense (either Cover 1 of Cover 3). And when they weren’t, they were either in a variation of Cover 2 (Zone or Man) while sprinkling in some Cover 0.
Now I feel it would also be helpful to look at the personnel that the Seahawks deployed while in these various coverages. So I adjusted the visualization slightly to include defensive personnel (4 DBs as Base, 5 DBs for Nickel, and 6+ DBs for Dime). It is worth noting that I know the Seahawks opt for Nickel personnel most of the time but I still classified Base defense as having 4 defensive backs on the field.
For clarification I know depending on the scenario less than 4 DBs is classified differently from team to team but for simplicity I group them in Base here.
I then wanted to pair this with looking exactly at how Seattle defended the pass against the Rams on these defensive snaps. So I opted to look at Stafford’s average time to throw on top of looking at the what reads he was able to throw to in his progression.
## # A tibble: 1 × 1
## avg_time_to_throw
## <dbl>
## 1 2.23
Looking at the numbers we can see that he had just over 2.2 seconds to get rid of the ball and rarely got to his second or third read on pass plays. That shows me that if the play didn’t have a designated target, Stafford either had to go to his first read or the checkdown option most of the time. Which in turn tells me that the Seahawks did a good job defending pass plays by limiting the options the opposing quarterback had after the snap.
The visualization shows that field position varied significantly across all of turnovers. We can see that 3 of 4 turnovers lead to the Rams getting great field position in Seahawks territory which we know led to them coming away with two touchdowns.
Now that we know the turnovers helped the Rams win the ball game, let’s examine when they happened and which ones had the biggest impact on win probability. While all turnovers affect the game, not all turnovers are created equal. Some occur in higher-leverage situations that drastically swing the odds of winning. This section analyzes which specific plays (turnovers or otherwise) had the greatest impact on the game’s outcome.
## # A tibble: 10 × 7
## qtr time posteam wpa ep epa desc
## <dbl> <chr> <chr> <dbl> <dbl> <dbl> <chr>
## 1 4 00:01 SEA -0.388 1.32 -1.32 (:01) 5-J.Myers 61 yard field goa…
## 2 1 10:59 SEA -0.182 1.10 -7.43 (10:59) (No Huddle) 14-S.Darnold …
## 3 3 01:15 SEA -0.173 1.25 -5.80 (1:15) 14-S.Darnold pass deep mid…
## 4 1 01:41 LA 0.134 2.38 4.18 (1:41) 23-K.Williams left tackle …
## 5 4 00:05 SEA 0.116 0.607 0.711 (:05) (Shotgun) 14-S.Darnold pass…
## 6 4 10:55 SEA -0.112 2.96 -5.84 (10:55) (Shotgun) 14-S.Darnold pa…
## 7 4 01:50 LA -0.111 -0.0277 0.173 (1:50) 42-E.Evans punts 50 yards …
## 8 1 12:12 LA -0.101 4.19 -4.38 (12:12) 9-M.Stafford pass incompl…
## 9 3 01:28 LA -0.0991 -0.110 -2.05 (1:28) 42-E.Evans punts 31 yards …
## 10 3 14:09 LA -0.0919 3.61 -5.21 (14:09) (Shotgun) 9-M.Stafford pa…
## # A tibble: 10 × 16
## qtr time desc posteam home_wp away_wp wpa ep epa interception
## <dbl> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 4 00:01 (:01… SEA 0.612 0.388 -0.388 1.32 -1.32 0
## 2 1 10:59 (10:… SEA 0.511 0.489 -0.182 1.10 -7.43 1
## 3 3 01:15 (1:1… SEA 0.606 0.394 -0.173 1.25 -5.80 1
## 4 1 01:41 (1:4… LA 0.649 0.351 0.134 2.38 4.18 0
## 5 4 00:05 (:05… SEA 0.728 0.272 0.116 0.607 0.711 0
## 6 4 10:55 (10:… SEA 0.814 0.186 -0.112 2.96 -5.84 1
## 7 4 01:50 (1:5… LA 0.852 0.148 -0.111 -0.0277 0.173 0
## 8 1 12:12 (12:… LA 0.629 0.371 -0.101 4.19 -4.38 0
## 9 3 01:28 (1:2… LA 0.662 0.338 -0.0991 -0.110 -2.05 0
## 10 3 14:09 (14:… LA 0.774 0.226 -0.0919 3.61 -5.21 0
## # ℹ 6 more variables: fumble_lost <dbl>, touchdown <dbl>,
## # field_goal_attempt <dbl>, field_goal_result <chr>, play_number <int>,
## # wpa_pct <chr>
While many plays impacted both teams’ ability to win this game, the one with the largest probability swing was the very last play, Seattle’s missed 61-yard field goal attempt, which swung win probability by 38.8%. The fact that a team which turned the ball over four times still had a chance to win on the final play speaks to Seattle’s resilience on both sides of the ball and LA’s inability to put the game away. It’s worth noting that Myers had already made a 57-yard field goal earlier in the game, and with his career long being 61 yards, this was a legitimate scoring opportunity within his range. Beyond the missed kick, the first-quarter interception and one third-quarter interception also ranked among the top three plays in win probability impact, with swings of 18.2% and 17.3% respectively.
Looking at the chart, we can see that LA had a win probability of over 50% for the entire game and it peaked around 85% somewhere in the third or fourth quarter. The game started out being very competitive, hovering close to 50/50. Then, following what we know about how this game flowed, it seems the Rams took control likely after that first-quarter interception. It is worth noting that LA’s win probability drops from around 75% to 65% on the final play, while Seattle’s line shoots up from around 25% to 38%. Despite being dominated most of the game, the Seahawks had a realistic shot at the end, as evidenced by the final spike in the green line showing Seattle’s win probability reaching 38% on the missed field goal attempt.
This analysis tried to get to the bottom of two questions: Did the Rams capitalize on their takeaways, and how did the turnovers affect the flow of the game and win probability? The data showed us that 2 out 4 drives following a Rams takeaway, they were able to go down and score a touchdown resulting in 14 points. Additionally, the game started off being very competitive, but after that first Sam Darnold interception, the win probability swung in the Rams’ favour and they were projected to win for the rest of the ball game.
This game was close for several reasons. The Rams’ offense struggled outside of turnover opportunities, scoring only 7 points on all other drives, revealing their heavy dependence on defensive play making. But we can see that the Seahawks did a great job at limiting Stafford and the Rams explosive pass attack by limiting options and taking away explosive plays. Meanwhile, the Seahawks converted their single takeaway into a field goal and remained within striking distance throughout. Despite trailing for most of the game, Seattle had a legitimate chance to win on the final play with a 61-yard field goal attempt that matched kicker Jason Myers’ career long.
This analysis shows that while turnovers are a major driver of game outcomes, their impact is highly context dependent. Despite turning the ball over four times, Seattle remained competitive and had a realistic chance to win on the final play thanks to their stellar play on defense. This underscores how factors such as field position, offensive efficiency, and situational leverage can offset even significant turnover disadvantages.
Although the Rams forced four takeaways and managed to score touchdowns off of two of them, they struggled to score points outside of short field scenarios. Their offense produced just seven points on drives that didn’t follow a turnover, highlighting a reliance on defensive play making rather than sustained offensive efficiency.