Unlike Weeks 17 and Week 16, I was traveling on Sunday this week so I wasn’t able to get all the NFL games analyzed. However, I did manage to get 4 of them down, and that puts us at 50 sample data points. In this post we’re going to cover the 4 Week 18 games I analyzed from Twitter and the heuristics around them. In this post, we’ll cover:
- The Sentiment and Numerical Analysis Results so Far
- NFL Week 18 Games Covered
- Twitter Sentiment Predictions vs Actual Outcomes
- Lower Twitter Sentiment Teams Win
- Win Differential
- Twitter Sentiment Differential
- Higher Twitter Sentiment Teams Win
- Win Differential
- Twitter Sentiment Differential
- New Heuristics for Predicting NFL Games from Twitter Sentiment
- Twitter Sentiment Differentials vs Win for Higher Sentiment Team Graphs
- Code for graphs
- A Summary of Week 18 of the NFL, 2021
The Sentiment and Numerical Analysis Results so Far
The end of Week 17 left us at 19 to 27 when comparing Twitter sentiments. The team with the higher Twitter sentiment won 19 times and the team with the lower Twitter sentiment won 27 times. Here’s what we’ve learned in terms of heuristics for predicting NFL games with Twitter sentiment and win differential so far.
- Lower Twitter sentiment teams usually win (weird)
- Home team advantage is real
- The team with more than 3 wins usually wins, unless Twitter sentiment is less than 0.2
NFL Week 18 Games Covered
- Titans at Texans – Titans win (predicted)
- Packers at Lions – Lions win (not predicted, but desired)
- Colts at Jaguars – Jaguars win (not predicted, but lol)
- Bears at Vikings – Vikings win (predicted)
Twitter Sentiment Predictions vs Actual Outcomes
This week once again saw a 50-50 split between lower sentiment teams and higher sentiment teams winning. This could be because we only checked out 4 games, but anyway, let’s check the data we do have.
Game | Sentiments |
Titans at Texans | 0.2461, 0.1455 |
Packers at Lions | 0.0810, 0.0910 |
Colts at Jaguars | 0.2293, 0.1709 |
Bears at Vikings | 0.1893, 0.0817 |
Lower Twitter Sentiment Teams Win
Week 18 only perpetuated the weird trend of teams with lower Twitter sentiments winning. In three out of the four games analyzed this week, the team with the lower Twitter sentiment won.
Win Differential
Game | Sentiments |
Titans at Texans | Titans Up 7 |
Colts at Jaguars | Jags Down 7 |
Bears at Vikings | Vikings Up 1 |
The average win differential when the lower sentiment team won this week was 1 win. That doesn’t tell the full story at all though because the Jaguar’s win was crazy and the Titan’s win was expected. An illustration of how statistics don’t tell the whole story.
Twitter Sentiment Differential
Game | Sentiments |
Titans at Texans | 0.2461, 0.1455 → -0.1006 |
Colts at Jaguars | 0.2293, 0.1709 → -0.0584 |
Bears at Vikings | 0.1893, 0.0817 → -0.1076 |
The average sentiment differential was 0.0866.
Higher Twitter Sentiment Teams Win
The four games predicted in Week 18 follow the general trend of lower sentiment teams winning. There’s no real averages to determine for higher Twitter sentiment teams winning this week. There was only one data point.
Win Differential
Game | Sentiments |
Packers at Lions | Lions Down 11 |
Twitter Sentiment Differential
Game | Sentiments |
Packers at Lions | 0.0810, 0.0910 → 0.0100 |
New Heuristics for Predicting NFL Games with Twitter Sentiment
Yeah so this Lions game screwed up all of the former heuristics around win differential and Twitter sentiment trends. At least it was a home game. We’ll have to treat this as an outlier and accept that we can’t always predict correctly. Combining this week’s data and the data from the last weeks we’ve looked at we have no real heuristics, we got two outliers from our usual predictions this week.
Graphs of Twitter Sentiment vs Win
Code for graphs
Here’s the code for the cumulative graphs.
import matplotlib.pyplot as plt
# sentiment difference wins and losses
# team with higher sentiment win = 1, team with higher sentiment loss = 0
# x value = sentiment difference
x = [0.0625, 0.0364, 0.0321, 0.0155, 0.0059, 0.0569, 0.1479, 0.0709, 0.0544, 0.0231, 0.0442, 0.0719, 0.0109, 0.0687, 0.2291, 0.0185, 0.0586, 0.0941, 0.0242, 0.1160, 0.0307, 0.0185, 0.2085, 0.0427, 0.0451, 0.0663, 0.1030, 0.1006, 0.0584, 0.1076, 0.0100]
y = [0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,1]
plt.scatter(x, y)
plt.title("Twitter Sentiment Differential")
plt.xlabel("Twitter Sentiment Difference")
plt.ylabel("Win/Loss")
plt.show()
# win differential wins and losses
# x value = higher sentiment team's win difference
# y value = did higher twitter sentiment team win
x2 = [-3, 0, 1, 0, 5, -3, 3, 5, 1, 4, 0, 2, -1, 1, -2, -1, -2, -3, 1, 2, 3, 7, 7, 2, 4, 5, 0, -7, 7, -1, -11]
plt.scatter(x2, y)
plt.title("Pre-game Win Differential")
plt.xlabel("Pre-game Win Difference")
plt.ylabel("Win/Loss")
plt.show()
Summary for NFL Week 18 2021 Predictions from Twitter Sentiment
Week 18 was pretty crazy, even the games we didn’t analyze. From the games we did analyze, the Jags knocked off the Colts and the Lions beat the Packers. Outside of the four games we got to analyze, the Chargers lost their playoff spot, the Browns beat the Bengals, and the Seahawks beat the Cardinals. It was a week of upsets. Our heuristics haven’t changed much, they still boil down to these few points:
- Lower Twitter pregame sentiment teams tend to win (20 wins for higher, 30 wins for lower)
- Home field advantage is real
- Average win differential is still about 3, but sometimes we’ll see crazy things
I run this site to help you and others like you find cool projects and practice software skills. If this is helpful for you and you enjoy your ad free site, please help fund this site by donating below! If you can’t donate right now, please think of us next time.
Make a one-time donation
Make a monthly donation
Make a yearly donation
Choose an amount
Or enter a custom amount
Your contribution is appreciated.
Your contribution is appreciated.
Your contribution is appreciated.
DonateDonate monthlyDonate yearly