Final Project

BAIS-462 Final Project

Part 1: Area Of Interest

The Cleveland Browns has always been knows for their sub par performances ever since they rejoined the NFL as an expansion team in 1999. Since their reintroduction, they have consistently had problems with quarterback instability. It has been common to see the Browns regularly changing starting quarterbacks due to inconsistent and quite honestly, embarrassing performances.

This project will look into how poor quarterback play has affected the overall performance of the Cleveland Browns since 2000.

Fun Fact and Semi-Spoiler: On 11/23/2025, Shedeur Sanders was the first Browns quarterback to win in their first start since the Browns reintroduction to the NFL. Previous quarterbacks were 0-17.

Part 2: Zooming In On QB Performance

To obtain the data necessary for this examination, we will be using the nflreadr package to obtain game level starts for Browns quarterbacks. This datset will allow us to look into stats that are crucial for determining the quality of quarterback play such as passing yards, TDs, INTs, and passing EPA.

Once we have our data saved as a csv, we can host it from a static source for further analysis.

qb_stats <- read.csv("https://myxavier-my.sharepoint.com/:x:/g/personal/larkk_xavier_edu/IQBVwXTBE7_AQZlqwO35rYZXAV8PViv_yxkTvoQICYtoItQ?download=1")

head(qb_stats)
   player_id player_name player_display_name position position_group
1 00-0003535     T.Couch           Tim Couch       QB             QB
2 00-0003535     T.Couch           Tim Couch       QB             QB
3 00-0003535     T.Couch           Tim Couch       QB             QB
4 00-0003535     T.Couch           Tim Couch       QB             QB
5 00-0019553      S.Wynn        Spergon Wynn       QB             QB
6 00-0003535     T.Couch           Tim Couch       QB             QB
                                                                        headshot_url
1 https://static.www.nfl.com/image/private/f_auto,q_auto/league/uwvfr0sckhgi2r583qyg
2 https://static.www.nfl.com/image/private/f_auto,q_auto/league/uwvfr0sckhgi2r583qyg
3 https://static.www.nfl.com/image/private/f_auto,q_auto/league/uwvfr0sckhgi2r583qyg
4 https://static.www.nfl.com/image/private/f_auto,q_auto/league/uwvfr0sckhgi2r583qyg
5 https://static.www.nfl.com/image/private/f_auto,q_auto/league/mgu5aq70jj2xbpyriy0f
6 https://static.www.nfl.com/image/private/f_auto,q_auto/league/uwvfr0sckhgi2r583qyg
  season week season_type team opponent_team completions attempts passing_yards
1   2000    1         REG  CLE           JAX          19       27           160
2   2000    2         REG  CLE           CIN          19       31           259
3   2000    3         REG  CLE           PIT          23       31           316
4   2000    4         REG  CLE            LV          16       29           141
5   2000    4         REG  CLE            LV           2        5            15
6   2000    5         REG  CLE           BAL          20       35           203
  passing_tds passing_interceptions sacks_suffered sack_yards_lost sack_fumbles
1           1                     0              1              -7            0
2           2                     1              1             -10            1
3           2                     0              0               0            0
4           1                     2              2             -12            0
5           0                     0              1              -3            0
6           0                     3              0               0            0
  sack_fumbles_lost passing_air_yards passing_yards_after_catch
1                 0                 0                       160
2                 0                18                       259
3                 0                 0                       316
4                 0                26                       141
5                 0                 0                        15
6                 0                22                       203
  passing_first_downs passing_epa passing_cpoe passing_2pt_conversions
1                   7   -1.612909           NA                       0
2                  12   13.425974           NA                       0
3                   9   14.050238           NA                       0
4                   8   -8.322223           NA                       0
5                   0   -4.635042           NA                       0
6                   7   -5.925145           NA                       0
       pacr carries rushing_yards rushing_tds rushing_fumbles
1  0.000000       2            32           0               0
2 14.388889       4             7           0               0
3  0.000000       1             3           0               0
4  5.423077       3             3           0               1
5  0.000000       0             0           0               0
6  9.227273       0             0           0               0
  rushing_fumbles_lost rushing_first_downs rushing_epa rushing_2pt_conversions
1                    0                   1   2.1924336                       0
2                    0                   0  -0.6675865                       0
3                    0                   1   1.0729441                       0
4                    0                   2  -0.2984931                       0
5                    0                   0          NA                       0
6                    0                   0          NA                       0
  receptions targets receiving_yards receiving_tds receiving_fumbles
1          0       0               0             0                 0
2          0       0               0             0                 0
3          0       0               0             0                 0
4          0       0               0             0                 0
5          0       0               0             0                 0
6          0       0               0             0                 0
  receiving_fumbles_lost receiving_air_yards receiving_yards_after_catch
1                      0                   0                           0
2                      0                   0                           0
3                      0                   0                           0
4                      0                   0                           0
5                      0                   0                           0
6                      0                   0                           0
  receiving_first_downs receiving_epa receiving_2pt_conversions racr
1                     0            NA                         0   NA
2                     0            NA                         0   NA
3                     0            NA                         0   NA
4                     0            NA                         0   NA
5                     0            NA                         0   NA
6                     0            NA                         0   NA
  target_share air_yards_share wopr special_teams_tds def_tackles_solo
1            0              NA   NA                 0                0
2            0               0    0                 0                0
3            0              NA   NA                 0                0
4            0               0    0                 0                0
5            0               0    0                 0                0
6            0               0    0                 0                0
  def_tackles_with_assist def_tackle_assists def_tackles_for_loss
1                       0                  0                    0
2                       0                  0                    0
3                       0                  0                    0
4                       0                  0                    0
5                       0                  0                    0
6                       0                  0                    0
  def_tackles_for_loss_yards def_fumbles_forced def_sacks def_sack_yards
1                          0                  0         0              0
2                          0                  0         0              0
3                          0                  0         0              0
4                          0                  0         0              0
5                          0                  0         0              0
6                          0                  0         0              0
  def_qb_hits def_interceptions def_interception_yards def_pass_defended
1           0                 0                      0                 0
2           0                 0                      0                 0
3           0                 0                      0                 0
4           0                 0                      0                 0
5           0                 0                      0                 0
6           0                 0                      0                 0
  def_tds def_fumbles def_safeties misc_yards fumble_recovery_own
1       0           0            0          0                   0
2       0           0            0          0                   0
3       0           0            0          0                   0
4       0           0            0          0                   0
5       0           0            0          0                   0
6       0           0            0          0                   0
  fumble_recovery_yards_own fumble_recovery_opp fumble_recovery_yards_opp
1                         0                   0                         0
2                         0                   0                         0
3                         0                   0                         0
4                         1                   0                         0
5                         0                   0                         0
6                         0                   0                         0
  fumble_recovery_tds penalties penalty_yards punt_returns punt_return_yards
1                   0         0             0            0                 0
2                   0         1            15            0                 0
3                   0         0             0            0                 0
4                   0         1             8            0                 0
5                   0         0             0            0                 0
6                   0         1            15            0                 0
  kickoff_returns kickoff_return_yards fg_made fg_att fg_missed fg_blocked
1               0                    0       0      0         0          0
2               0                    0       0      0         0          0
3               0                    0       0      0         0          0
4               0                    0       0      0         0          0
5               0                    0       0      0         0          0
6               0                    0       0      0         0          0
  fg_long fg_pct fg_made_0_19 fg_made_20_29 fg_made_30_39 fg_made_40_49
1      NA     NA            0             0             0             0
2      NA     NA            0             0             0             0
3      NA     NA            0             0             0             0
4      NA     NA            0             0             0             0
5      NA     NA            0             0             0             0
6      NA     NA            0             0             0             0
  fg_made_50_59 fg_made_60_ fg_missed_0_19 fg_missed_20_29 fg_missed_30_39
1             0           0              0               0               0
2             0           0              0               0               0
3             0           0              0               0               0
4             0           0              0               0               0
5             0           0              0               0               0
6             0           0              0               0               0
  fg_missed_40_49 fg_missed_50_59 fg_missed_60_ fg_made_list fg_missed_list
1               0               0             0           NA             NA
2               0               0             0           NA             NA
3               0               0             0           NA             NA
4               0               0             0           NA             NA
5               0               0             0           NA             NA
6               0               0             0           NA             NA
  fg_blocked_list fg_made_distance fg_missed_distance fg_blocked_distance
1              NA                0                  0                   0
2              NA                0                  0                   0
3              NA                0                  0                   0
4              NA                0                  0                   0
5              NA                0                  0                   0
6              NA                0                  0                   0
  pat_made pat_att pat_missed pat_blocked pat_pct gwfg_made gwfg_att
1        0       0          0           0      NA         0        0
2        0       0          0           0      NA         0        0
3        0       0          0           0      NA         0        0
4        0       0          0           0      NA         0        0
5        0       0          0           0      NA         0        0
6        0       0          0           0      NA         0        0
  gwfg_missed gwfg_blocked gwfg_distance fantasy_points fantasy_points_ppr
1           0            0             0          13.60              13.60
2           0            0             0          17.06              17.06
3           0            0             0          20.94              20.94
4           0            0             0           5.94               5.94
5           0            0             0           0.60               0.60
6           0            0             0           2.12               2.12

1: Season Average Passing Yards Per Game

Looking at passing yards per game will allow us to see general performance of these quarterbacks along with any major or minor swing in passing performance.

This plot shows how many passing yards per game the Browns have averaged in each seasons since 2000. Across the NFL, teams typically sit in the low to mid 200s range(roughly 235) in terms of passing yards per game. Unfortunately for the Browns, they have yet to eclipse that number across a whole season. This makes it clear that their passing attack is constantly below what a typical NFL offense would produce through the air.

2: Passing TDs vs INTs by season

This bar chart shows the total passing touchdowns and interceptions thrown by Browns quarterbacks over the course of each season, with the ratio of TD/INT listed at the top of each bar. In a modern NFL offense we would expect a quarterback to have a TD/INT ratio of around 2:1, which is a number the Browns eclipsed just once, with Baker Mayfield at the helm in 2020. In a lot of these seasons, the Browns hover around a 1:1 ratio. This pattern helps to clarify that even across multiple eras, Browns quarterbacks performances have been far below the elite level quarterbacks as they have consistently struggled to get the ball into the end zone while also protecting the ball.

3: Passing EPA per Attempt By Season

This chart shows the Browns quarterbacks EPA per attempt since 2000. EPA per attempt measures how much each drop back changes a teams expected points. It is essentially asking “are we really helping ourselves by throwing a pass here?”. The average EPA per play in the NFL tends to hover right around 0 but in recent years, with there being more of a focus on passing offenses, the average EPA per passing attempt has risen slightly to around +.06. When the line for the Browns drops below 0.0 it means that the offense is actively losing value when they call a passing play. These long stretches of negative EPA suggest that Browns QBs are often hurting the offense rather than helping.

4: Interceptions per Attempt (100+ attempts)

This chart shows how many interceptions a Browns QB has thrown per 100 attempts. The obvious outlier here is Kevin Hogan who averaged almost 7 interceptions per 100 attempts. That figure is about 2.8 times higher than the league average of 2.5 interceptions per 100 attempts. Even when we block out Kevin, we still see that most quarterback are still lingering around that 2.5-4 interceptions range. This just further drives home the point we saw in Visualization #2, that Browns quarterbacks have consistantly lacked the ability to protect the football.

5: Share of Bad Games (minimum 5 games played)

For this chart, I created a metric to identify what I would consider a bad game. In this instance, a bad game is when a quarterback either has less that 200 passing yards or more than 2 interceptions, which are both not up to par with what would typically be expected of an NFL quarterback. In a now pass first league where quarterbacks average often average around 235 passing yards per game, it is crucial that quarterbacks are efficient and protect the ball. This chart shows how browns quarterbacks have not only struggled to orchestrate a successful passing offense but have also failed to deliver even baseline efficiency week in and week out.

Part 3: Overall Team Performance

As a secondary source, I will be scraping season level team stats from Pro Football Reference. To do this, we need to create a function to scrape just one year of stats and then we can create a loop to gather stats going back to 2000. Once we have this completed, we can begin to look at some team level stats and their correlation to quarterback play.

1: Points Scored vs Total Wins

This scatterplot compares total points scored on offense with total wins over the course of a full season. The regression line shows a positive relationship between the two variables, suggesting that scoring more points will win you more games. Unfortunately for the Browns who are highlighted by the red dots, they do not typically score a lot of points and thus do not win very many games.

2: EPAs Effect on Wins

This scatter plot compares the Browns quarterbacks total passing EPA in one season to their total wins for that season. We can see that there is a loose positive relationship between EPA and total wins. This would lead us to believe that a quarterbacks overall perfromance does have an effect on a teams ability to win.

3. Strength of Schedule

You might be thinking, “Wow, the Browns have been subpar in every category we have looked at so far”, and this is true, but I am going to try and help their case here. To do this, we are going to look at strength of schedule, which measures how difficult a team’s schedule was in a given season, based on how good the teams were that they played against.

Since 2000 the browns have had an above average strength of schedule 16 out of 25 times. This is purely unlucky as the NFL schedule is built using a fixed rotation. How it works is every year, a team will play each team in its own division twice, one entire division from its conference once and one entire division from the other conference once. The goal of this is to evenly distribute opponents over time with the goal of preventing any long term scheduling advantages or disadvantages. However, this method has not treated the Browns too nicely and I think we can cut them a little bit of slack because of this.

Conclusion

All across the various visualizations that have been examined, there is a clear pattern as to what can help drive both offensive and even overall success.

The first being offensive efficiency. Whether it is measured through points scored, EPA, or passing production, efficiency consistently aligns with better team performance. The few seasons where Browns quarterbacks had above average efficiency were also the seasons where the Browns performed better as a whole. This just further reinforces the importance of being able to operate an efficient passing offense in today modern pass first offenses, which is something the Browns have failed to do.

The second area of importance is protecting the football. Teams that win the turnover battle in games have a much higher chance of winning, even if their yardage stats or EPA fluctuate. For the Browns, we have seen that protecting the ball and operating an efficient offense alligns with with more positive results.

The overarching takeaway is that success in the NFL is built around how well a team uses each possession rather thaty just raw statistical totals. Teams that are able to avoid self inflicted wounds by protecting the football, and finish out drives with 6 points often put themselves in a position to win. This is something the Browns quarterbacks have repeatedly failed to do and it shows is the teams overall performance.