NFL Week 1 Projections & Betting

Elijah Cavan
Top Level Sports
Published in
3 min readSep 4, 2021

Hey Medium, it’s been a while! For this article I want to present some work I’ve been doing with Monte Carlo Simulations for player and team performance. This compliments my previous work with Bayesian analysis, the difference is that for Bayesian statistics I need a bunch of “observed data”. For the NFL however, there haven’t been any (regular season) games yet. So I used data from last year for teams that haven’t changed much and ran some simulations.

For those unfamiliar with Monte Carlo Simulations, they take advantage of how chaotic and random our lives can be. Basically, let’s say I sleep in for work 3 times out of the past 10 days. That’s 30%. How many times will I sleep in during the next 10 days? Maybe 1,2 maybe even 4 times. I probably won’t repeat sleeping in 3 days every 10; unless the data is correlated in someway (say I sleep in after every nail biting bluejays game). To project my sleeping habits forward I would draw randomly from a distribution, say the normal distribution. The mean would be 30% (that’s all the data I have) and I’d have to be clever choosing the standard deviation. Then I would simulate many times, and I could get probabilities for how often I sleep in 3 times, 2 times, more than once, ect.

Back to the NFL. For my first set of projections I looked at how several teams might fair during their week 1 games. I got graphs that looked like this (showing how often the away or home team would win based on my simulations). For these simulations I used info like: TDrate (offence and defence; rush and pass), FGrates (FGM/16 games), ect. I scrapped the data from: https://www.nfl.com/stats/team-stats/defense/passing/2020/reg/all using:

url1 ='https://www.nfl.com/stats/team-stats/'
df_pass_o = pd.read_html(url1)[0]
Graph of Winning Percentages (Image by Author)

The rest of the winning percentages are shown in an Excel sheet:

Betting Projections for NFL Week 1 (Image by Author)

You could compare these percentages with a betting website to pick which team will win, say this website which google randomly gave me: https://www.sportingnews.com/ca/nfl/news/nfl-odds-lines-point-spreads-week-1/2e1kcmhxr3d71qibt5g3hp5um or here https://www.oddsshark.com/nfl/week-1-odds-and-analysis.

I also did some player projections, to start out just for Tom Brady. I wanted to see how many TDs and Yards I would project him to throw to, and then compare them to Week 1 prop bets, say from https://sharpside.com/prop-bets/11604/tom-brady/. Here I again used Brady’s TDrate and YPA rates from last season, as well as the average #of attempts the Dallas defense gave up.

My simulations said Brady would throw for 2 TDs on average, which is right around the line of 2.5. For the Yards prop bet my result was quite different. On average, Brady threw for 240 yards in my simulations; and 12% of the time he threw for more than 280 yards v.s 88% of the time throwing under 280 yards. This is quite different from the line of 300 yards set for the prop bet (Looking back at Dallas last year I noticed their pass defence wasn’t actually horrible, — it was middle of the pack. Their run defence was close to the bottom of the league). Below is a histogram of Brady’s passing yards projection.

Simulated Passing Yards for Brady (Image by Author)

That’s all for now- good luck betting!

As usual, if you’d like to support my work I could always use eyes on my Linkedin, Kaggle or personal website. Below are some links you can check out!

https://elicavan.wixsite.com/site

https://www.linkedin.com/in/elijah-cavan-msc-14b0bab1/

--

--