Overview
This year I saw this guy on Tik Tok make a betting model for NFL games. The first two weeks he did really well. I thought to myself, there has got to be a way for me to make my own. This led me down a week long rabbit hole of staring and NFL Betting Lines and stats. I ended up making something that so far is 23-9 this season, all around -110 odds.
The model I saw online only bets Moneyline's. What this means is there will be a lot of cases where even if you have a prediction, it really doesn't make sense to bet it. So the model even if it is 70% accurate doesn't mean much. In other words, if the confidence doesn't exceed the implied odds then the market already reflects this.
That is part of the reason I began to focus on point totals. Here, the odds are almost always (-110). This means you have to be right 52.4% of the time to be profitable.
How I Got To This Point
First of course, we need to get data. There is an amazing python package that has (originally only in R) called NFLReadPy that has all stats dating back to the 2000 season. You can load in each season via the parquet files they have scraped from ESPN. So, for free, you have access in dataframes to play by play stats, player stats, and anything else you need.
From here I can get all game stats and whether closing line point totals hit or not. From here I can begin to look fo