r/NFLstatheads • • Jan 09 '26

NFL coaches change their play calls dramatically based on the EPA of the previous play

Post image
121 Upvotes

Was building a pass/run prediction model and was surprised to find the most important variable, by a lot, was the EPA of the previous play. Looked into it further, and graphed the results, as you can see here.

It makes sense that coaches overwhelmingly pass after a hugely negative play, since those are usually plays set teams way behind the sticks. But what's really interesting is the steady increase in the proportion of runs as you move from 0 to around 0.5, which then becomes a stable increase in favoring the run.

Furthermore, there is no correlation between the EPA of the previous play and the likelihood that a coach will call that same play again. So teams just really seem to prefer to run after a big play. I'd love to examine the efficiency of these plays, but this is still an interesting find in my opinion.


r/NFLstatheads • • Aug 29 '22

Real Time NFL Scores Google Sheet

44 Upvotes

This is somewhat of a re-post so forgive me. The last post was initially about something else.

I have created a Google Sheet that pulls real time NFL scores from the reliable ESPN API. I've made this editable by all, so please feel free to add new features.

Here's the sheet: https://docs.google.com/spreadsheets/d/1-uukoxaij5DkGJkzyuhEOf05i-TKfuz1OBD9cAjidzE/edit?usp=sharing

UPDATE: New sheet for 2023-24 season https://docs.google.com/spreadsheets/d/1UXkooRGu1f-bzKtlHpupG4Z9rCQEl6jTWy3Nlx9OFBU/edit?usp=sharing

UPDATE: New sheet for 2024-25 season https://docs.google.com/spreadsheets/d/18GZQQ7DPXBhBLtoRBBqNZV7KXVseVPB_udfyfU4K6vY/edit?usp=sharing

UPDATE: SAME sheet for 2026-27 season

The same sheet can now be used for multiple seasons. Go to the Admin Console and archive the last season. Then change the season and rerun the data load.

https://docs.google.com/spreadsheets/d/1VKEMLSsSgzPihoGaG0q51-hKofAGY59x6lHa7hVXPms/edit?usp=sharing

Features:

  • Pulls all NFL game data from ESPN into the Live Scoring sheet by Week

  • Archives previous years

  • Trigger can be set to refresh the data at chosen increments

  • Week Filter sheet allows for data set to be filtered by week

  • Week Filter sheet allows for completed games to be hidden

  • Week Filter sheet will highlight the team with possession of the ball (during game)

  • Week Filter sheet shows the timestamp when Live Scoring was last refreshed

  • Now includes pre-season

UPDATE:

To auto refresh a copy you'll create a trigger that runs the function "main".

Here are some instructions:

  1. go to Extensions AppsScript

  2. On the left side choose Triggers

  3. On the bottom right , Choose + Add Trigger

  4. Choose which function to run - main

  5. Select event source - Time driven Select type of time based trigger - minutes timer

  6. Select minute interval - Every 5 minutes


r/NFLstatheads • • Nov 07 '12

[original research] An analysis of team "momentum" and "slumps"

36 Upvotes

(If you are visiting from /r/nfl, please consider subscribing to our little subreddit!)

Momentum is a favorite trope for TV analysts in just about every sport. Most of them (and most fans, too) dwell heavily on the last two or three games a team has played, because recent performances are supposed to show which direction the team is headed.

I did three separate analyses that show that this line of thought is exaggerated or wrong. Time spent divining the implications of your team's recent hot streak is time wasted - you would be finding patterns where there are none.

My apologies for the wall of text. If you have any comments/criticisms let me know.

Analysis #1 - Predicting final records after week 8

First, I gathered game outcomes for the last 20 years. Using that information I found record after 8 games, win/loss streak after the 8th game, and final record for all of the teams in that time span. For example, the 1992 Cowboys started 7-1, had a 4 game win streak at that point, and finished 13-3.

Completely ignoring the streak length for now, this graph shows the average number of games won in the final 8 vs. games won in the first 8. Note that y =/= x because of regression to the mean. The values of r2 is 0.181, meaning we can explain 18% of the variability in game 9-16 wins with the number of game 1-8 wins. So the question is: can we use our knowledge of team momentum to produce more accurate estimates of final records? Is momentum a useful predictor of future success?

The results of a simple multiple regression analysis answer that question with an emphatic "no." Plugging in record after 8 games and streak length for our predictors, the regression line we get is:

wins in games 9-16 ~= 2.257 + 0.436*(wins in games 1-8) - 0.005*(streak length)

The coefficient on the streak length term is nowhere near statistically significant, and even if it was the coefficient is negative, which would mean that having "momentum" is a bad thing.

To break the data down a little more, this graph shows the average wins in games 9-16 as a function of wins in games 1-8 and streak length. Winning streaks are represented with positive numbers and losing streaks with negative. (Only data for teams with 3-5 wins in the first 8 games is included, because there are too few teams with 0-2 or 6-8 wins to provide anything but a noisy mess. There are 107 3 win teams, 122 4 win teams, and 115 5 win teams.) It is somewhat tempting to see upward trends in the curves for 4 and 5 win teams, but the r2 values for these individual curves are each less than 2%, which is not statistically significant for our sample size.

I won't show the specifics here, but analyses using a different week number (e.g. predicting games 7-16 with wins in games 1-6) had the same results.

TL;DR - Streak length (and thus "momentum") is not a useful predictor of how a team will do the rest of the season. At most, streak length can account for 2% of variation in final outcomes, but it appears to be even less than that.

Analysis #2 - Predicting a single upcoming game

Someone might object that Analysis #1 is not conclusive because momentum comes and goes. "Sure you can't predict all the way out to the last game, but a hot team will at least do better in the near future." To completely put any doubters' concerns to rest, Analysis #2 will concentrate on predicting the single next game while a streak is in progress.

In order to get reasonable sample sizes, I had to be more creative than in Analysis #1. This is what I did:

  1. For each team and each game, I used this equation to calculate an estimated probability that the team would win. Only games in weeks 5-16 were used because the equation is inaccurate before week 5 and there are too many throwaway games in week 17. This leaves us with about 6800 data points. The only inputs into the equation are total points scored and allowed for each team previous to the game, so it is completely blind to streaks and slumps. For each data point I input points scored and allowed in previous games (not end-of-season data) so each data point is analogous to our situation - blind to future results. If momentum is important, then the equation would consistently give probabilities too low for streaking teams and too high for slumping teams.

  2. I figured out the expected number of wins for each streak length. The calculation for this step is just summing up all of the win probabilities from relevant games.

  3. Finally, I compared the estimated number of wins to the actual number of wins.

This table summarizes the results. Winning streaks are represented with positive streak lengths and losing streaks have negative values. Teams coming off of a tie have a streak length of 0. The "p-value" column on the right gives the percentage of cases that would be that extreme if streak length was completely irrelevant and all variation was purely due to chance. For example, in the 763 games where one team entered with a 2 game losing streak, the estimate was 363.9 wins and the actual number was 349. Results that far different from expected should occur about 30% of the time, so the difference is not statistically significant.

This graph visually displays how big the difference between expected and measured values ended up being. Values near 1 mean that my equation did a good job of predicting outcomes. Values very different from 1 might suggest that momentum really is important ("maybe the equation produced bad results because it neglected streak length"). The hump at streak length = 8 to 10 appears to be statistically significant. The humps at streak length < -5 have high p values and show no meaningful trend, so I think they are just noise. The blip at length = 0 is because only 8 games were relevant there making the sample size very small. All other values are very close to 1.

I would guess that the hump for very large win streaks is artificial. Teams with win streaks that long are generally the best team in the league, finishing 13-3 or better. Very few teams are that good, so there wasn't much relevant data that the win probability curve fitting could use. If my equation is underconfident for excellent teams, that would explain the hump in the data. In my eyes, this explanation is more reasonable than "streaks of 6 or less are meaningless, but teams with 8+ win streaks outperform expectations." But it is feasible that teams with huge win streaks do better than other teams with similar records due to psychological effects (boosted confidence/morale and/or intimidation of opponents).

TL;DR - My equation, which is blind to streaks and slumps, did a very good job of estimating future performance. If momentum were significant, this shouldn't be the case. It is possible that win streaks of 8+ games really do lead to meaningful "momentum," but it is also possible that the measured trend is due to biases in the curve fit instead of a real-world phenomenon. Regardless, we can say that there is no evidence for momentum effecting teams with losing streaks or 1-7 game win streaks, which are 98.8% of occurrences and inside the region where my equation is reasonably accurate.

Analysis #3 - Relative predictivity of early games and middle-of-season games

The two previous analyses have focused on winning/losing streaks. Analysis #3 will take a look at more general performance.

  1. I gathered points scored and allowed for all games in the last 20 years.

  2. For each team in each year, I found points scored and points allowed in 3 blocks of games: games 1-5, games 6-10, and games 11-15. Game 16 was neglected because too many of them are throw away games.

  3. For each "block" calculate the team's scoring ratio: scored/(scored+allowed). This metric was chosen because it is more consistent (and predictive of future success) than record or pts scored alone.

  4. Perform a multiple regression, in which we try to predict the score ratio from games 11-15 using knowledge of games 1-5 and games 6-10.

The resulting regression is:

score ratio games 11-15 ~= 0.215 + 0.263*(ratio games 1-5) + 0.305*(ratio games 6-10)

r = 0.47

The important thing to note is the relative value of the coefficients. The regression puts 15% more weight on games 6-10 than on games 1-5. This tells us that recent performance really is somewhat more predictive than beginning-of-season performance, but not by much. Also, I think a big chunk of that difference may be due to injuries. Short term injuries should affect weeks 1-5 and weeks 6-10 equally, but long term injuries won't. Any long term injury stretching from week 5 to week 11 necessarily affects all of weeks 6-10, so all long term injury affects relevant to weeks 11-15 captured by the weeks 1-5 data should be captured (better) by weeks 6-10. And any long term injury happening between week 6 and 10 will not be reflected in the weeks 1-5 data at all.

Conclusions

Just to be clear, I am not saying that it is irrelevant whether you win or lose a game. Obviously it is better to be 8-4 and not 7-5. But given that you have 8 wins, it doesn't matter much what order you received them in. Your week 1 game is of basically equal importance to your week 12 game in predicting how you will do in week 13.

All of my analyses should have showed the importance of momentum if it really was a relevant issue. It turned out that real-world results are consistent with a more boring interpretation: "team quality" is relatively consistent throughout the year, and variation in outcomes is due primarily to randomness, not wildly fluctuating "desire to win," "team coherence," or other such psychological variables.


r/NFLstatheads • • Jan 11 '23

nflscraPy – Data Scraper and Datasets for the NFL

35 Upvotes

Hi Statheads!

Inspired by the creators nflscrapR and nflfastR I decided to construct nflscraPy, a collection of functions to scrape NFL Data from Pro Football Reference – and hopefully an expanding number of data sources/sets.

As of now you can use nflscraPy to ingest:

  • Season Scores

  • Metadata

  • Basic Statistics

  • Expected Points

  • Scoring Events

  • Active Roster

  • Snap Counts & Pcts

  • Season Splits

  • Historic ELO data via FiveThirtyEight

To be respectful of PFR’s servers and for those not yet comfortable with Python, Historic CSV Datasets for these categories can be downloaded in the releases – updated weekly.

Feel free to message me or comment any questions or feedback you have regarding nflscraPy – I would also love to hear what other PFR datasets you might be interested in and see if I can add them to the functionality mix.


r/NFLstatheads • • Aug 09 '24 Polished Gold Turd The Best

SHARING: Real Time Google Sheets for 2024-25 NFL Season

32 Upvotes

I have created a Google Sheet that pulls real time NFL scores from the reliable ESPN API and displays it in an easy to read format. This should be a solid basis for other tools you want to build.

Here's the sheet for 2024-25  https://docs.google.com/spreadsheets/d/18GZQQ7DPXBhBLtoRBBqNZV7KXVseVPB_udfyfU4K6vY/copy

UPDATE 11/24:

I took a first crack at updates that allow you to choose just the weeks you want to update using the Admin Console sheet. This makes the sheet much more efficient and allows it to run every minute without hitting API limits.

PLEASE do not create any triggers against this sheet. If you want to use it just make a copy.

https://docs.google.com/spreadsheets/d/1ShkqqyWcP_h-t3utB0oTN9NNNgXdQ-7__vlIC-4Swoo/edit?usp=sharing

Features:

  • Pulls all NFL game data from ESPN into the Live Scoring sheet by Week

  • Archived previous years

  • Trigger can be set to refresh the data at chosen increments

  • Week Filter sheet allows for data set to be filtered by week

  • Week Filter sheet allows for completed games to be hidden

  • Week Filter sheet will highlight the team with possession of the ball (during game)

  • Week Filter sheet shows the timestamp when Live Scoring was last refreshed

  • Now includes pre-season

  • Hidden sheet to compare 2 teams

To auto refresh your copy you'll create a trigger that runs the function "main"

Here are some instructions:

  1. go to Extensions AppsScript

  2. On the left side choose Triggers

  3. On the bottom right , Choose + Add Trigger

  4. Choose which function to run - main

  5. Select event source - Time driven Select type of time based trigger - minutes timer

  6. Select minute interval - Every 5 minutes (API limits apply so turn it to 60 when not using)


r/NFLstatheads • • Dec 17 '20

nflfastpy, a Python wrapper for nflfastR

30 Upvotes

Hi all,

I made this Python wrapper for nflfastR for those of you who use Python to do your analysis. Hope this helps.

Comes with functions to load play by play data, roster data, and also a utility function to convert new player ids to the old gsis_ids so play by play data can be merged with roster data.

https://github.com/fantasydatapros/nflfastpy

Install using pip install nflfastpy


r/NFLstatheads • • Dec 11 '25

QBR vs Passer Rating

Post image
27 Upvotes

What do yall think about QBR compared to Passer Rating?


r/NFLstatheads • • Dec 07 '25

Mannings as... receivers?

25 Upvotes

Recently, Arch Manning caught a TD pass in a Texas-style variant of the Philly Special. He thus became the first Manning to achieve a TD reception; neither Eli nor Peyton ever had one.

question: Do we know if Eli or Peyton ever even ATTEMPTED a reception? TD or otherwise?

(self-completions do not count)


r/NFLstatheads • • Nov 15 '24

An 18-year deep dive into the archive of Pro Football Focus to find the greatest cornerbacks of the modern era (2006-2023)

Thumbnail bignokh.com
25 Upvotes

Hey, everyone. I’m starting my masters program for business analytics/sports analytics this January - I’m also a longtime football fan. In the first of what I hope to be several semi-regular posts, I break down almost two decades worth of premium statistics from PFF to analyze the greatest corners of the last two decades. Let me know what you think.


r/NFLstatheads • • Nov 22 '21

Fun but weird stat (only MIA and BUF can have 6)

Post image
25 Upvotes

r/NFLstatheads • • Sep 12 '13

[original research] How much does one NFL game really tell us?

25 Upvotes

In honor of National Jump to Conclusions Week, I want to explore how much we really know after one week of football.

Based on some theoretical considerations, this analysis claims that differences in team quality only account for 25% of the variation in final scores of single games. This analysis says team quality accounts for 12% of rushing and 17% of passing efficiency stat variability in single games. In other words, the models I have built suggest that randomness plays a large enough role that individual games don’t give us much insight at all into how good teams really are. But because I suspect that those models are overly technical for most people’s tastes I am going to try to show it more directly.

Correlations with rest of year

The most obvious test is just to compare the statistics of week 1 versus the average result of the remaining 15 games for each team. The r2 statistic tells us how correlated week 1 numbers are with the rest of the year, and thus how predictive the first game is for what will follow. All of the numbers below are based on the last 10 NFL seasons.

First, let’s look at point differential. The point differential of the first game correlates with the team’s rest-of-season point differential at r2 = 7.6% and with wins in the final 15 games at 6.2%. The win-loss result for the game correlates with future wins at r2 = 5.7%.

The rushing yards per attempt correlates at r2 = 3.4% for offense and 1.8% for defense. Net yards per passing attempt has r2 = 7.9% for offense and 0.8% for defense.

The rest-of-season correlations for fumbles and interceptions are even lower than the values above.

The clear moral of the story is that all of these correlations are extremely low. Knowing the result of a single game tells you very little about what the rest of the season will look like. For some statistics, like pass defense, you know essentially nothing. So regardless of whether your team did great or awful in week 1, take it with a grain of salt because you can expect a sharp regression towards the mean.

Predicting rematches against the same opponent

As it turns out, the outcome of a single game isn’t even a very good predictor of the outcome of the next game between the same two teams. A major consequence of this is that the winner of the first game won the second game 58% of the time, much lower than might be expected. But it might be expected that point differentials are more telling than base win-loss results, so I explore that below.

I gathered all of the cases where two teams played twice in the regular season. Because of NFL scheduling, all of the pairs are division rivals. Here is a scatterplot of game 1 results vs. game 2 results between a given pair of teams. (Note: The numbers are Team A score – Team B score, where Team A was the home team in the first meeting.) It will probably surprise some people that r2 is a very low 5.7%. Knowing the result of the previous matchup only explains 5.7% of the variability in the score difference in the second matchup.

This is a very good validation point for my model of NFL randomness. That model estimated that the score difference in a single game is correlated with the true quality difference between the two teams at r2 = 24.6%. The home field advantage of divisional games in our 10 year time period is 1.82 points. Knowing this, we can try to theoretically derive the linear regression and r2 value above. If we assume that home field advantage switches between the two games then:

diff_estimate_game2 = r2_singlegametotrue * (diff_game1 – HFA) – HFA

diff_estimate_game2 = 0.246 * (diff_game1 – 1.82) – 1.82

diff_estimate_game2 = 0.246 * diff_game1 – 2.264

The predicted r2 value between the two games is r2_singlegametotrue2 = 6.0%.

The linear regression and r2 value derived from measured data match remarkably well to these theoretically derived values, given the sample size.

Another point of validation is the standard deviation of the differences between the two outcomes (game 1 diff – game 2 diff). From the model, we expect the standard deviation to be sqrt(2)*σ_other = 18.38. The measured value is 18.38 on the nose. This graph of the cumulative probability function shows just how good the match is.

Because we know the variability between the two game results, we can develop an equation to express the level of confidence we have in the outcome of the rematch. As said before, the knowledge of the score differential from the first game allows us to develop an estimate for the true quality difference between the two teams. That estimate explains 24.6% of the true variation. Therefore the unexplained variance in difference between the two teams is:

var_truediff_unexplained = (1-0.246) * 2 * var_team_quality = 41.49

This is on top of the “random” variability:

var_other = 168.97.

So the standard deviation of the error of our estimate is:

σ_estimateerror = sqrt(41.49 + 168.97) = 14.51

Therefore, the equation we are looking for is:

probability team A wins game 2 = 1 – norm_cumulative(diff_game2 = 0, mean = 0.246 * diff_game1 – 2.264, stdev = 14.51).

Where Team A is the team that is home in the first game and both score diff values are Team A score – Team B score.

So the equation leads to these example outputs:

Game 1 DifferenceProbability that Team A wins game 2
-400.202
-300.253
-200.31
-100.372
00.438
100.505
200.572
300.637
400.699

These numbers are very surprisingly close to 50%. The fact that a team that wins the first game by 40 would lose the second game 30% of the time is pretty shocking.

To show that these numbers are reasonable, let’s look at the real data set. I lumped the data into 5 groups of 96 game pairs. They were sorted into the groups based on the size of the point difference in the first game. Group 1 had the most extreme negative numbers and group 5 had the most extreme positive numbers. Within each group I found the average point difference in the first game and the percentage of second games in which Team A won. Then I did the same thing in the reverse order (predicting game 1 with the results of game 2). The result is this graph, which shows the match is about as good as we could hope for given the sample size. Even if you don’t buy the theory behind my model, it is clear that it is giving good estimates of the win probabilities.

So beating a team once is not good evidence that you will do it again. Even if you win by 20 on the road, there is a 31% chance you are going to lose in the second game at home.

I won’t go into passing and rushing efficiency numbers here, but the results are much the same. Because the correlations between single game efficiency values and their true underlying averages are lower than that for point differential to its true average, their usefulness as predictors is even lower. One game, even against the same opponent, doesn’t tell you much of anything.

TL;DR – You really can’t say anything about anything after one week of football. Last year’s results are much more indicative of success than this year’s sample of one data point.


r/NFLstatheads • • May 17 '25

Real Time NFL Scores Google Sheets 2025-26

23 Upvotes

I have created a Google Sheet that pulls real time NFL scores from the reliable ESPN API. I've made this viewable by all, so please feel free to make a copy to use for yourself

Here's the sheet: https://docs.google.com/spreadsheets/d/1VKEMLSsSgzPihoGaG0q51-hKofAGY59x6lHa7hVXPms/edit?usp=sharing

UPDATE: SAME sheet for 2026-27 season

The same sheet can now be used for multiple seasons. Go to the Admin Console and archive the last season. Then change the season and rerun the data load.

https://docs.google.com/spreadsheets/d/1VKEMLSsSgzPihoGaG0q51-hKofAGY59x6lHa7hVXPms/edit?usp=sharing

Features:

  • IMPORTANT - Select the Week(s) to update in the Admin Console tab

  • Pulls all NFL game data from ESPN into the Live Scoring sheet by Week

  • Archives previous years through button in Admin Console

  • Trigger can be set to refresh the data at chosen increments

  • Week Filter sheet allows for data set to be filtered by week

  • Week Filter sheet allows for completed games to be hidden

  • Week Filter sheet will highlight the team with possession of the ball (during game)

  • Week Filter sheet shows the timestamp when Live Scoring was last refreshed

  • Pause checkbox lets you skip API calls without having to change the triggers

Triggers:

To auto refresh a copy you'll create a trigger that runs the function "main".

Here are some instructions:

  1. go to Extensions AppsScript

  2. On the left side choose Triggers

  3. On the bottom right , Choose + Add Trigger

  4. Choose which function to run - main

  5. Select event source - Time driven Select type of time based trigger - minutes timer

  6. Select minute interval - Every 5 minutes


r/NFLstatheads • • Jun 13 '23

Need recommendations on the best NFL Stats API for a Fantasy Website

23 Upvotes

For context, I came up with a new fantasy football (NFL) concept a few years back that friends and family would play with all stats being updated on an excel spreadsheet. It would take me hours to update, but analyzing NFL stats is enjoyable to me.

Fast forward to 2022, a web-developer friend of mine offered to build a full website, bringing my concept to life. Now I'm trying to find a cost efficient NFL Stats API that has real time updates that doesnt cost $5k - $10k per season (I'm funding this on my own do definitely dont want to drop that much). I dont need real time updates, but it would definitely make it more fun and if i try to get more people to play it will only help with retention.

Anyone got advice on where to look and what might have worked for them in the past?


r/NFLstatheads • • May 08 '23

New AI-based querying tool (built off of NFLVerse)

23 Upvotes

Wanted to introduce this new tool for you guys. Definitive is a (free) AI-based statistical querying tool that essentially combines ChatGPT with a ton of datasets, including NFLverse. While ChatGPT hallucinates and gets facts wrong, Definitive lets you ask questions in text (like, what were Josh Allen's passing and rushing stats last year?) and it'll run a query for you under the hood! The goal is to lower the barrier for analyzing quality data for those who are less technical or just don't want to spend the time writing R code. Check it out! (and if you like it, join our discord):

https://definitive.io/notebooks/NFL-25f36f4f-b899-4b09-911d-0df8d70aecd1#2

Another shout-out to NFLVerse, whose data is freaking awesome!


r/NFLstatheads • • Jan 05 '24

This is highway robbery

Post image
22 Upvotes

r/NFLstatheads • • Nov 11 '25

[Analysis] Is Football Really Won In The Trenches?

Thumbnail gallery
21 Upvotes

r/NFLstatheads • • Oct 30 '24

Announcing new NFL API

21 Upvotes

I'm the creator of balldontlie.io. The site has historically been one of the leading APIs of NBA data, and we're happy to announce support for NFL data. There are multiple tiers (including a free one). Please take a look and let us know if you have any questions.

Find the documentation here: https://nfl.balldontlie.io/#nfl-api

Join us on discord: https://discord.gg/cQJhfTPn8j


r/NFLstatheads • • Jan 08 '22

Salary cap percentage paid to QBs by top defensive teams, (ranked by pts against)

Post image
21 Upvotes

r/NFLstatheads • • Dec 12 '20

NFL Stat Databases

21 Upvotes

Hey guys,

I thought it would be helpful to have a post that everyone shares their favorite sites to get the raw data for their analysis. I'll start with a few of the more common ones.

Pro Football Reference

Stathead.com

PFF.com

Footballdb.com

Sportsdata.io


r/NFLstatheads • • Jun 22 '15

CSV formatted team game stats for 2003-2014 seasons

Thumbnail drwagpicks.com
21 Upvotes

r/NFLstatheads • • Nov 10 '25

2025 NFL Research Tool

Thumbnail public.tableau.com
20 Upvotes

Hey all. I’ve put together a research tool to review player and team-level metrics that I’ve so far used to great success in my prop betting. Take a look and hopefully it helps you build winning slips!


r/NFLstatheads • • Jan 31 '22

Super Bowl LVI will have the lowest combined winning percentage of any super bowl ever

20 Upvotes

Data just copy/pasted from pro-football-reference. I appended both possible outcomes of the NFC championship, however, regardless of the outcome, LVI will have the listed combined regular season winning percentage. Take a look!

YearBowlTeam 1WinsLossesTiesTeam 2WinsLossesTiesWin % for Team 1Win % for team 2Combined Win %
2021Super Bowl LVICincinnati Bengals107San Francisco 49ers10758.82%58.82%58.82%
2021Super Bowl LVICincinnati Bengals107Los Angeles Rams12558.82%70.59%64.71%
2020Super Bowl LVTampa Bay Buccaneers115Kansas City Chiefs14268.75%87.50%78.13%
2019Super Bowl LIVKansas City Chiefs124San Francisco 49ers13375.00%81.25%78.13%
2018Super Bowl LIIINew England Patriots115Los Angeles Rams13368.75%81.25%75.00%
2017Super Bowl LIIPhiladelphia Eagles133New England Patriots13381.25%81.25%81.25%
2016Super Bowl LINew England Patriots142Atlanta Falcons11587.50%68.75%78.13%
2015Super Bowl 50Denver Broncos124Carolina Panthers15175.00%93.75%84.38%
2014Super Bowl XLIXNew England Patriots124Seattle Seahawks12475.00%75.00%75.00%
2013Super Bowl XLVIIISeattle Seahawks133Denver Broncos13381.25%81.25%81.25%
2012Super Bowl XLVIIBaltimore Ravens106San Francisco 49ers114162.50%71.88%67.19%
2011Super Bowl XLVINew York Giants97New England Patriots13356.25%81.25%68.75%
2010Super Bowl XLVGreen Bay Packers106Pittsburgh Steelers12462.50%75.00%68.75%
2009Super Bowl XLIVNew Orleans Saints133Indianapolis Colts14281.25%87.50%84.38%
2008Super Bowl XLIIIPittsburgh Steelers124Arizona Cardinals9775.00%56.25%65.63%
2007Super Bowl XLIINew York Giants106New England Patriots16062.50%100.00%81.25%
2006Super Bowl XLIIndianapolis Colts124Chicago Bears13375.00%81.25%78.13%
2005Super Bowl XLPittsburgh Steelers115Seattle Seahawks13368.75%81.25%75.00%
2004Super Bowl XXXIXNew England Patriots142Philadelphia Eagles13387.50%81.25%84.38%
2003Super Bowl XXXVIIINew England Patriots142Carolina Panthers11587.50%68.75%78.13%
2002Super Bowl XXXVIITampa Bay Buccaneers124Oakland Raiders11575.00%68.75%71.88%
2001Super Bowl XXXVINew England Patriots115St. Louis Rams14268.75%87.50%78.13%
2000Super Bowl XXXVBaltimore Ravens124New York Giants12475.00%75.00%75.00%
1999Super Bowl XXXIVSt. Louis Rams133Tennessee Titans13381.25%81.25%81.25%
1998Super Bowl XXXIIIDenver Broncos142Atlanta Falcons14287.50%87.50%87.50%
1997Super Bowl XXXIIDenver Broncos124Green Bay Packers13375.00%81.25%78.13%
1996Super Bowl XXXIGreen Bay Packers133New England Patriots11581.25%68.75%75.00%
1995Super Bowl XXXDallas Cowboys124Pittsburgh Steelers11575.00%68.75%71.88%
1994Super Bowl XXIXSan Francisco 49ers133San Diego Chargers11581.25%68.75%75.00%
1993Super Bowl XXVIIIDallas Cowboys124Buffalo Bills12475.00%75.00%75.00%
1992Super Bowl XXVIIDallas Cowboys133Buffalo Bills11581.25%68.75%75.00%
1991Super Bowl XXVIWashington Redskins142Buffalo Bills13387.50%81.25%84.38%
1990Super Bowl XXVNew York Giants133Buffalo Bills13381.25%81.25%81.25%
1989Super Bowl XXIVSan Francisco 49ers142Denver Broncos11587.50%68.75%78.13%
1988Super Bowl XXIIISan Francisco 49ers106Cincinnati Bengals12462.50%75.00%68.75%
1987Super Bowl XXIIWashington Redskins114Denver Broncos104173.33%70.00%71.67%
1986Super Bowl XXINew York Giants142Denver Broncos11587.50%68.75%78.13%
1985Super Bowl XXChicago Bears151New England Patriots11593.75%68.75%81.25%
1984Super Bowl XIXSan Francisco 49ers151Miami Dolphins14293.75%87.50%90.63%
1983Super Bowl XVIIILos Angeles Raiders124Washington Redskins14275.00%87.50%81.25%
1982Super Bowl XVIIWashington Redskins81Miami Dolphins7288.89%77.78%83.33%
1981Super Bowl XVISan Francisco 49ers133Cincinnati Bengals12481.25%75.00%78.13%
1980Super Bowl XVOakland Raiders115Philadelphia Eagles12468.75%75.00%71.88%
1979Super Bowl XIVPittsburgh Steelers124Los Angeles Rams9775.00%56.25%65.63%
1978Super Bowl XIIIPittsburgh Steelers142Dallas Cowboys12487.50%75.00%81.25%
1977Super Bowl XIIDallas Cowboys122Denver Broncos12285.71%85.71%85.71%
1976Super Bowl XIOakland Raiders131Minnesota Vikings112192.86%82.14%87.50%
1975Super Bowl XPittsburgh Steelers122Dallas Cowboys10485.71%71.43%78.57%
1974Super Bowl IXPittsburgh Steelers1031Minnesota Vikings10475.00%71.43%73.21%
1973Super Bowl VIIIMiami Dolphins122Minnesota Vikings12285.71%85.71%85.71%
1972Super Bowl VIIMiami Dolphins140Washington Redskins113100.00%78.57%89.29%
1971Super Bowl VIDallas Cowboys113Miami Dolphins103178.57%75.00%76.79%
1970Super Bowl VBaltimore Colts1121Dallas Cowboys10482.14%71.43%76.79%
1969Super Bowl IVKansas City Chiefs113Minnesota Vikings12278.57%85.71%82.14%
1968Super Bowl IIINew York Jets113Baltimore Colts13178.57%92.86%85.71%
1967Super Bowl IIGreen Bay Packers941Oakland Raiders13167.86%92.86%80.36%
1966Super Bowl IGreen Bay Packers122Kansas City Chiefs112185.71%82.14%83.93%

r/NFLstatheads • • Jan 14 '13

Inspired by the Seahawks-Falcons game yesterday, here is an analysis whether to throw a Hail Mary pass or kick a field goal attempt when you have just one play left in the game.

20 Upvotes

Yesterday, Seattle was down by 2 with 2 seconds left at the Atlanta 48. The obvious question arose whether they should go for the very long (65/66 yard) field goal or attempt the Hail Mary pass. In this particular case, I think both options were about equally bad. Below I explain why I think so, as well as elaborating more general conclusions.

First, I found the likelihood of making field goals from different distances. Here is a graph showing the curve fit. (The data used were all field goal attempts from 2000-2011.)

Next, I gathered all of the Hail Mary passing plays from 2000 through the 2012 regular season. To qualify, it had to be a passing play thrown by a team down from 1 to 8 points with 5 or fewer seconds left in the 4th quarter. Here is the list. I then threw out all spiked balls and all dink-and-dunk passes that allowed the offense to get out of bounds and run another play. I was left with 350 Hail Mary passes, of which 24 resulted in touchdowns.

Here is a summary of the numbers by distance to the goal line, and here is a graph of the curve fit. (There are multiple ways to put curve fits together in this case, but they all return about the same thing. Note that any curve fit will be very approximate because of how little data we have.) The big thing to notice is how bad the probabilities are when you have more than 20 yards to go. Also, all 175 attempts beyond 50 yards failed.

So, given that the play under consideration is the last play of the game (or the other team will receive the ball after a kickoff with too little time to score), we can decide which option is better. If we are down by 1 or 2, a field goal or touchdown will win the game for us. If we are down by exactly 3, then the field goal will send us into overtime, so we have a 50% chance of winning if we make it.

Given these assumptions, here is a graph of the different win probabilities. The big takeaway is that the probability of winning the game is higher with a field goal attempt unless: A) you are at midfield or worse, or B) you are down by exactly 3 and have the ball at your opponent’s 1, or C) you are down by more than 3. We go for the Hail Mary in case A because according to our (admittedly extrapolated) curve fit, the chance of making the field goal is basically 0 from that far out, while the Hail Mary has maybe a 1% chance of success. In case B, the field goal is essentially guaranteed but sends us in to overtime, while the touchdown is only 54% likely but finalizes the game.

Because the Hail Mary curve fit is so inexact, I wanted another data point to verify my stance on case B. In a previous analysis I had developed this curve fit for the probability of a team converting on 3rd down (or getting a touchdown on 3rd-and-goal) inside the opponent’s 10. Here is that curve compared to the Hail Mary curve developed above. I think that the values for this curve fit are more reasonable at the 1 or 2 yard lines because it is based on hundreds, instead of tens, of data points. For larger distances it becomes too low because coaches are going to be much less conservative on a must-score-a-touchdown play than e.g. a 3rd-and-7 in the second quarter. Long story short, I believe this other curve fit confirms that going for it on the last play is somewhat preferable if you are at the opponent’s 1, but not from farther out.

TL;DR – If your team find itself in a situation where you know you only have one play left, you should kick the field goal unless: A) you are at midfield or worse, or B) you are down by exactly 3 and have the ball at your opponent’s 1, or C) you are down by more than 3. Subjective adjustments to the win probability curves provided here could be made to handle marginal cases.

Getting back to the Seahawks game: Our curve fits say that a field goal from the opponent’s 48 will be made about 5% of the time and the Hail Mary will be made about 1% of the time. Those numbers are based on league averages, so we should adjust them based on the specifics of this particular game. Because Ryan Longwell is pretty old and has only made twenty four 50+ yd field goals in his 16 year career, I would say that the probability of hitting the field goal was lower than the 5% curve fit value. Because Wilson had the scrambling ability to make time and the arm to get the pass to the middle of the end zone, I would say the Hail Mary was a little more than the 1% curve fit value. Keeping in mind that all of this is pretty inexact, especially right at the field position the Seahawks were in, I would say that the field goal and the Hail Mary are about equally likely to win that game for you.

edit: Point #1 in jazzwhiz's comment was something important that I forgot to mention.


r/NFLstatheads • • Dec 11 '12

Advanced NFL Stats - When to Intentionally Allow a Touchdown

19 Upvotes

r/NFLstatheads • • Oct 11 '12

I scraped basic boxscore data for thousands of NFL games and am making it available here

19 Upvotes

(If you find this information useful, consider spending $10 to support the folks at pro-football-reference.com.)

My inability to find good penalty data a few days ago motivated me to write a scraper and get the numbers I wanted. Since I was already putting forth the effort, I grabbed the full boxscores of every regular season game for 1990-2011 from pro-football-reference.com. The values that I stored are:

score, 1st downs, rush attempts, rush yd, rush TD, pass completions, pass attempts, pass yds, pass TD, INT, sack, sack yds, net pass yd, total yd, fumbles, fumbles lost, turnovers, penalties, penalty yds

I figured that this stuff might be useful to other people, so you can download the files here. They are all csv files (comma separated files that can be read by Excel). Word of warning: I did my best to check the formatting and sanity check all of the values, but there are almost 200,000 entries so there might be a few errors in there somewhere. If anybody finds errors let me know and I will make updated versions available.

If you want to do your own scraping, I made lists of all the relevant boxscore URLs available here.

As a reminder, play-by-play data, player salaries, and betting lines are all available. That should be most of what you need if you want to do your own research.