Blog Updates
I made the comment on my LinkedIn post that I was horribly wrong with how many points the Baltimore defense was going to score in last night’s game. My model had them with zero points when they ended up scoring sixteen PPR FF points! Ouch, indeed! Over the last seven games (not including last night), the Ravens had averaged a little over 5 FF points per game, but that average is weighted by points of 17 and 11 versus the Raiders and Falcons, respectively. If you take those games out and redid the average, they’re down to 1.8 FF points per game. In any case, that was a darn fine performance for them on the road.
I do believe that this will be the final time I publish the Fantasy Football Predictions for the regular season. I don’t plan on posting these predictions for Week 17. Most FF leagues are done by then, and having to deal with teams that will be sitting players is a whole other nightmare to code right now. I will, more than likely, post fantasy projections for the playoffs since there are several outlets that run contests during the post-season to keep that Fantasy ball rolling!
I’ve been spending most of my time recently fine-tuning and/or finding different models to use on predicting winners for NFL games; mainly because I’m using this as a prelude to the NCAA Men’s Basketball Tournament and because I’m absolutely fascinated by the different methods for coding these things. Right now I’m looking at how to leverage PyMC3 in Python to do this but having a little bit of trouble with the code. I’ll get there eventually I’m sure, but it’s definitely taking a bit more time than I originally thought.
Win Predictions for Today’s Games
After two games have already played in Week 16, I’ve decided to call an audible and add in another model. While I was researching different models for NFL games, I came back around to FiveThirtyEight’s ELO Rating system. Back around because this was actually something I had used in my 2018 NCAA Tournament predictions earlier this year but somehow had forgotten about it as it applied to NFL games. You can read about the ELO system in the above link, but it essentially rates teams based on a Home-Field Advantage (HFA) of 2.6 points represented as 65 ELO Ratings Points (ERP). As it turns out, as of Week 15 and taking into account only 2018 games, teams score 2.58 (ok, 2.6, but I don’t typically like to round my calculations to the very end; blame that MITx Micromasters Supply Chain Analytics class I just finished for that!!) more points at home. Mind blown!!
My simple model also uses home and away points scored, but I don’t use the ELO calculation. I’m simply using a Poisson Distribution using statsmodels in Python. (Wait, am I giving away my trade secrets?) I also am only using data from 2018, but I may try and go back and use that data to 1920 as well. Should just need a little change to my code, but will see how it goes.
This github link for FiveThirtyEight makes it easy to use their code to pull in their data and make predictions on upcoming games for the week. It also provides easy instructions in tweaking their parameters and make adjustments based on your own observations. If you have Python loaded on your computer, I highly recommend trying it out. You can also run their code in Jupyter Notebook if you wish. If you need help, feel free to reach out!
I made one little tweak which is probably minuscule compared to the predictions that FiveThirtyEight already make. I changed my HFA metric to 64.397325 (told you I don’t round until the very end) ERP which is based on the average HFA for games played in 2018. Rounded to whole numbers, this makes my predictions pretty much the same as FiveThirtyEight, but I’m going to make my tweaks based on that metric going forward and score based on the Brier Score.
# | Game | Original Model |
ELO Model (HFA=64.397325) |
Vegas | Expected Tot. Points Scored |
Vegas Over/Under |
---|---|---|---|---|---|---|
3 | CIN | 21.64% | 39.94% | 21.60% | ||
CLE | 73.91% | 60.06% | 80.84% | 49 | 44.5 | |
4 | TB | 18.48% | 25.43% | 27.25% | ||
DAL | 77.23% | 74.57% | 75.19% | 44 | 48 | |
5 | MIN | 59.89% | 54.74% | 72.31% | ||
DET | 34.29% | 45.26% | 30.12% | 43 | 42.5 | |
6 | BUF | 0.88% | 15.90% | 14.49% | ||
NE | 98.67% | 84.10% | 88.89% | 42 | 44 | |
7 | GB | 65.33% | 56.94% | 59.52% | ||
NYJ | 29.60% | 43.06% | 42.92% | 51 | 47 | |
8 | HOU | 51.82% | 33.69% | 45.25% | ||
PHI | 42.32% | 66.31% | 57.27% | 46 | 47.5 | |
9 | ATL | 25.41% | 38.58% | 57.27% | ||
CAR | 70.02% | 61.42% | 45.07% | 54 | 44.5 | |
10 | NYG | 9.72% | 25.95% | 21.14% | ||
IND | 87.67% | 74.05% | 81.37% | 52 | 48 | |
11 | JAC | 38.72% | 39.40% | 37.33% | ||
MIA | 54.82% | 60.60% | 65.19% | 37 | 38.5 | |
12 | LAR | 99.55% | 77.02% | 88.65% | ||
ARI | 0.28% | 22.98% | 14.79% | 50 | 44 | |
13 | CHI | 88.02% | 68.39% | 68.26% | ||
SF | 9.27% | 31.61% | 34.25% | 48 | 44 | |
14 | PIT | 8.22% | 26.21% | 32.47% | ||
NO | 89.52% | 73.79% | 69.98% | 54 | 53 | |
15 | KC | 40.80% | 53.94% | 54.76% | ||
SEA | 54.27% | 46.06% | 47.62% | 64 | 55 | |
16 | DEN | 85.81% | 61.28% | 58.34% | ||
OAK | 10.93% | 38.72% | 44.05% | 42 | 43 |
Comparing my model with the “new” ELO model and Vegas, there aren’t very many differences except for two cases.
The first is the Houston-Philadelphia game. My original model has Philadelphia with a 42.32% chance of winning. However, the ELO model has Philadelphia with a 66.31% chance of winning and the Vegas Money Line odds has Philly with a 57.27% chance of winning. I happen to feel that Houston has a better team so I’m not quite understanding the flip. Granted Philly has won the last three times these teams have met (2006, 2010, and 2014), but I’m still fascinated by the difference. I feel like I’m missing something. Final score 26-20, Houston.
The second difference is the Kansas City-Seattle game, but I’m not quite as surprised by this one, a little but not as much as the Houston game. My original model has Kansas City with a 40.8% chance of winning while the ELO model has 53.94% and Vegas Money Line Odds has them with a 54.76% chance. I think Kansas City is clearly the better team and can obviously score lots of points. They average 39 points per game on the Road while Seattle averages 27 points per game at Home. My model actually predicts the final score to be 35-29 in favor of Kansas City.
Fantasy Football Predictions for Today’s Games
Good luck to all of you in your respective leagues! And if you happen to be playing for your championship, I wish you the very best!
These are your FF projections for Sunday:
Top 20 Quarterback Week 16 Fantasy Predictions
Player | Team | Week 16 Fantasy Predictions |
---|---|---|
Patrick Mahomes | KC | 36 |
Ben Roethlisberger | PIT | 29 |
Matt Ryan | ATL | 26 |
Jared Goff | LAR | 26 |
Josh Allen | BUF | 25 |
Andrew Luck | IND | 24 |
Deshaun Watson | HOU | 24 |
Drew Brees | NO | 23 |
Dak Prescott | DAL | 23 |
Baker Mayfield | CLE | 22 |
Russell Wilson | SEA | 22 |
Nick Mullens | SF | 21 |
Mitchell Trubisky | CHI | 19 |
Tom Brady | NE | 19 |
Kirk Cousins | MIN | 19 |
Jameis Winston | TB | 18 |
Derek Carr | OAK | 18 |
Aaron Rodgers | GB | 17 |
Eli Manning | NYG | 16 |
Ryan Tannehill | MIA | 16 |
Top 20 Running Back Week 16 Fantasy Predictions
Player | Team | Week 16 Fantasy Predictions |
---|---|---|
Christian McCaffrey | CAR | 36 |
Ezekiel Elliott | DAL | 30 |
Todd Gurley II | LAR | 28 |
Saquon Barkley | NYG | 26 |
Nick Chubb | CLE | 23 |
Joe Mixon | CIN | 23 |
Alvin Kamara | NO | 23 |
Leonard Fournette | JAC | 22 |
Damien Williams | KC | 21 |
Aaron Jones | GB | 20 |
Phillip Lindsay | DEN | 20 |
David Johnson | ARI | 19 |
Dalvin Cook | MIN | 18 |
Chris Carson | SEA | 17 |
Marlon Mack | IND | 16 |
Tarik Cohen | CHI | 16 |
Kenyan Drake | MIA | 16 |
Tevin Coleman | ATL | 14 |
Matt Breida | SF | 14 |
James White | NE | 14 |
Top 20 Wide Receiver Week 16 Fantasy Projections
Player | Team | Week 16 Fantasy Predictions |
---|---|---|
Julio Jones | ATL | 31 |
Amari Cooper | DAL | 31 |
DeAndre Hopkins | HOU | 30 |
Davante Adams | GB | 29 |
Tyreek Hill | KC | 28 |
Antonio Brown | PIT | 27 |
T.Y. Hilton | IND | 26 |
Stefon Diggs | MIN | 25 |
JuJu Smith-Schuster | PIT | 24 |
Michael Thomas | NO | 23 |
Mike Evans | TB | 22 |
Robert Foster | BUF | 22 |
Julian Edelman | NE | 21 |
Tyler Boyd | CIN | 21 |
Dante Pettis | SF | 19 |
Adam Thielen | MIN | 19 |
Adam Humphries | TB | 18 |
Robert Woods | LAR | 18 |
Brandin Cooks | LAR | 18 |
Josh Gordon | NE | 17 |
Top 15 Tight End Week 16 Fantasy Projections
Player | Team | Week 16 Fantasy Predictions |
---|---|---|
Travis Kelce | KC | 33 |
George Kittle | SF | 24 |
Eric Ebron | IND | 20 |
Zach Ertz | PHI | 19 |
Jared Cook | OAK | 18 |
Rob Gronkowski | NE | 15 |
Evan Engram | NYG | 14 |
Garrett Celek | SF | 11 |
Vance McDonald | PIT | 10 |
Chris Manhertz | CAR | 10 |
Gerald Everett | LAR | 10 |
Darren Waller | OAK | 9 |
Chris Herndon | NYJ | 9 |
Austin Hooper | ATL | 9 |
Adam Shaheen | CHI | 9 |
Top 12 Kickers Week 16 Fantasy Predictions
Player | Team | Week 16 Fantasy Predictions |
---|---|---|
Ka'imi Fairbairn | HOU | 16 |
Greg Zuerlein | LAR | 15 |
Wil Lutz | NO | 13 |
Robbie Gould | SF | 11 |
Aldrick Rosas | NYG | 10 |
Stephen Gostkowski | NE | 9 |
Harrison Butker | KC | 9 |
Jake Elliott | PHI | 8 |
Jason Myers | NYJ | 8 |
Kai Forbath | JAC | 8 |
Matt Bryant | ATL | 7 |
Adam Vinatieri | IND | 7 |
Top 15 Defenses Week 16 Fantasy Predictions
Team | Week 16 Fantasy Predictions |
---|---|
KC | 15 |
LAR | 11 |
NO | 11 |
CHI | 9 |
HOU | 9 |
PHI | 7 |
IND | 7 |
DEN | 7 |
NYG | 6 |
ATL | 5 |
MIA | 5 |
ARI | 5 |
DAL | 5 |
SEA | 5 |
CLE | 5 |
Quick observation: I use two different models for predicting win probabilities and fantasy points projections. Before I said that my win probability model has Seattle scoring 29 points against Kansas City, and yet the FF model has the Kansas City Defense scoring 15 FF points. Um…apparently a lot of Kansas City’s points scored today will be defensive in nature!
*The fantasy football predictions come from a model based on statistics tables scraped from The Huddle and Football Outsiders from 2006-2018.
The win probabilities come from different sources. My original model is based on Home and Away points scored per game played in 2018 only. The ELO model is based on data from FiveThirtyEight’s NFL Forecasting Game with data from 1920. The win probabilities table also includes money line odds taken from Pinnacle the morning that this blog post is published.
As usual I used the Fantasy Points-Per-Reception (PPR) scores for my predictions which comes from the following:
1 point per 25 yards passing
4 points per passing touchdown
-2 points per interception thrown
1 point per reception
1 point per 10 yards rushing/receiving
6 points per TD
2 points per two-point conversion
-2 points per fumbles lost
All predictive elements for Fantasy Football Models and Win Probabilities are for entertainment purposes only. Do your own research before making any decisions on your Fantasy Football team especially in money leagues!!