Subscribe to our newsletter

We'll send you bets and resources to help you profit

Building an NFL Betting Model in Excel or Python

One of the greatest balancing acts that a sports handicapper must commit to is balancing statistical analysis versus eye test. Here are some balancing acts that even the most experienced bettors will always be working on. These are also critical components when building a successful NFL betting model in Excel or Python.

NFL Betting Model Variables: Strength of Schedule

The strength-of-schedule is very hard to numerically quantify for NFL models, regardless of whether you’re using Excel or Python. At the beginning of the season, it is based on last year’s results. Yet we know that roster upheaval is commonplace in the NFL so we start with flawed data. Furthermore, the preseason conceptions can bleed over to our first four weeks in strength-of-schedule ratings as we try to discern what to make of our very limited sample sizes in a new season.

The strength-of-schedule can be hard to quantify with players going in and out of the lineup, even in-game. For example, in Week 1 against the Kansas City Chiefs, the Cleveland Browns offensive line looked fairly strong until an in-game injury to offensive lineman Tristan Wirfs allowed the Chiefs pass rush to go from ineffective to effective mid-game. So we have to take out half of the sample when rating the Browns offensive line going into the next game. Also, if Wirfs plays but is not 100%, we will also struggle to quantify his impact simply using numbers. Simply put, this is hard to put into a betting model.

NFL Betting Models

Therefore strength-of-schedule is something that we must be aware can be a tragically inaccurate statistic early in the season. We must use our notes to be aware of potentially flawed inputs skewing our outputs. It’s very hard to find an exact algorithm to truly display the strength of each team. This becomes important as a defense giving up 43 points to the Los Angeles Rams and their spectacular offense is a lot different than giving up the same amount of points to the Detroit Lions or Houston Texans, teams that we can objectively state are not as strong offensively. In this way, we can find weaknesses in our NFL betting model and also expose weaknesses in the model that the sportsbooks are using to create their lines.

Matchups versus Statistics in an NFL Betting Model

As teams study, identify, and attack each other’s weaknesses, sometimes the statistics will not accurately indicate how strong or weak a team is in a particular area. For example, teams that take early leads are going to look to be better in rushing statistics since they have more opportunities and incentives to run the ball late in the game. Teams with a weak defense that fall behind early will oftentimes conversely have a higher-rated passing attack since they will be working against a “prevent” defense. The “prevent” defense is meant to give up yards in the middle of the field yet keep the clock running, especially when the defensive team is up by two or more scores.

While these passing attacks may look potent on paper, be careful you do not highly rate a team’s passing attack when a majority of their yards and completions come in the second half against a “prevent” defense designed to keep the clock moving. Once again, this takes studying and charting the game flow in order to be able to accurately use the statistics, not just scraping numbers straight into a betting model to achieve your ratings.

Conclusion: How to Make a Winning NFL Betting Model

NFL statistics, especially early season statistics, can be greatly imprecise due to the variance in opponents’ ability and game situation. When watching games, we must take note of how the situation could affect the statistics so we are able to be aware of and predict potential inaccuracies in our model. We need to be constantly taking notes when watching games in order to identify which areas might be giving us misleading statistical numbers. This is very important so we avoid making bets based on flawed inputs.

The great thing is that the sportsbooks are using some of the same statistical models that we are. So by identifying weaknesses in our NFL betting model, we are most likely identifying weaknesses in their ability to create these lines as well. Finding weaknesses in your own model will point you to the weakness in the sportsbooks’ model and that is the model we’re trying to beat! Remember everything starts from the numbers, but use your numbers wisely.

NFL Betting Model in Excel