NBA Twitter Sentiment Analysis: Game 1

How Did Twitter React to Game 1 of the NBA Finals?

Following up on SpringML’s Game of Thrones Twitter Sentiment Analysis, we’ve decided to do a streaming sentiment analysis pipeline during the NBA Finals to monitor NBA fans reactions on Twitter. We set up the pipeline the same way as the Game of Thrones sentiment analysis.


We sampled tweets containing mentions from a list of NBA, Raptors, and Warriors-related terms and player names. We conducted sentiment analysis on each tweet using VADER Sentiment analysis, which assigns snippets of text a value between -1 for the most negative sentiment to 1 for the most positive sentiment.

We then found the average sentiment per-minute for each of those entities. Then we took the average of those per-minute sentiments to find an average per-minute sentiment in the Pre-game period compared to the average per-minute sentiment in the Post-game period.

Here is what we found:

The Hashtags

Let’s start by looking at sentiment in tweets containing some relevant hashtags.

The biggest change in sentiment we saw are those for the #Warriors and #DubNation. It’s interesting that there’s much more of a sentiment drop for the losing team than there is a spike for the winning team.

It seems likely that the dips we see in #NBAFinals and #Game are brought down by that trend from disappointed Warriors fans.

Before and After Sentiment for NBA hashtags

The Golden State Warriors

Let’s take a look at the sentiment for the coaches and players on each team. We’re only including in our plots the names for whom our sampling from the Twitter stream resulted in at least 30 tweets in the Pre-game period and in the Post-game period.

Note: we’re not seeing all the tweets that mentioned these people, just a random sample provided to us via the Tweepy API.

It seems likely that the dips we see in #NBAFinals and #Game are brought down by that trend from disappointed Warriors fans.

Golden State Warriors

Here we see sentiment drops across the board, naturally.

It looks like the most negative sentiment was directed at Coach Steve Kerr. We also see a big drop in sentiment associated with Andre Iguodala, most likely a result of his late-game injury.

This is a good time to remind readers about the limits of sentiment analysis. Without further analysis like topic clustering, sentiment analysis on its own does not do a great job of distinguishing between sentiments directed at something or someone, like potential blame for Steve Kerr, compared with sentiments directed on behalf of something or someone, like people being upset about Iguodala’s injury.

The Toronto Raptors

And now let’s look at our history-making winners of Game 1, the Toronto Raptors.

Toronto Raptors

In contrast to the Warriors, here we do see increased sentiment for many players after the game. I think it’s interesting to point out that the increases in sentiment are slight, and not nearly as pronounced as the dip in sentiment seen above by the losing team. This is personal bias creeping in, but that squares with my experiences as well: an unexpected defeat hurts more than a win feels good.

Of course, we also notice a strong drop in sentiment, all the way into the negatives, for Kyle Lowry. With a big, historic win, why would we see this? We would need to dig more deeply into the tweets to know for sure, but one possibility is that Lowry, who averaged 14.2 points per game in the regular season, only scored 7 points. With a field goal percentage of 22.2% and a three-point percentage of 20%, this game was among his lower performing games of the season in both of those categories.

Of course, while Twitter may have been complaining, N.Y. Times still gives him a lot of credit, and at the end of the day, they got the job done and won an amazing victory for the city of Toronto.

Games 2-7

We’ll be doing this for the remaining NBA championship games.  If you have anything you are interested in seeing any specific Twitter sentiment analysis, drop us a line at or tweet us @springmlinc. We’d love to have you follow this blog series online and on Twitter.  Game 2 sentiment analysis will be posted on Monday, June 3.