/cdn.vox-cdn.com/uploads/chorus_image/image/68537537/1230151320.0.jpg)
This is an exercise in building a simple blind predictive model based on a team’s historical stats in 4 areas: pass and rush efficiency, and avg EPA for special teams and penalties. The season long experiment will track how well future games are determined by past statistical performance and compare that record against Vegas betting lines.
All data used originates from Pro Football Reference and nflFastR.
RESULTS
Week 14 was a mixed bag. After the lines moved, the model selected 4 games as upsets and only 1 of them materialized. So, on a net game basis, I dropped 2 games to Vegas and I am now officially 2 games down with only 3 weeks left.
However, against the spread it was another good week as the model went 10 of 16, boosting the season accuracy to 55.6%. On the year, the model is 1 point better in spread accuracy than the actual Vegas lines.
:no_upscale()/cdn.vox-cdn.com/uploads/chorus_asset/file/22175226/Untitled.png)
I want to note that I had Baltimore as 4.4 point favorites, so clearly the model accurately predicted an extended multi-lateral play that would lose yardage for a safety to end the game.
PREDICTIONS
For week 15, the model and Vegas predict all the same winners, so unless lines slip dramatically there is no chance for me to gain any games straight up.
The game where we disagree the most on the spread is Ravens against Jaguars as I have BAL - 9, a full 5 points less than Vegas. My gut tells me Vegas is right, so I’ll see what is driving those model numbers.
:no_upscale()/cdn.vox-cdn.com/uploads/chorus_asset/file/22175248/Untitled.png)
COLTS SEASON
Against Houston, the model has the Colts as 6.7 point favorites, basically the same as Vegas (-7). I think my prediction of 10 wins this season is in danger as 11 seems more likely at this point.
:no_upscale()/cdn.vox-cdn.com/uploads/chorus_asset/file/22175262/Untitled.png)
After the Colts’ dominant win and Pittsburgh’s ugly loss, the model now favors the Colts against the Steelers in week 16. We’ll see if that changes after this week’s play.