Inspiration

Trash talking your friends over sports is a shared human experience to build connection. There are thousands of other people online who love to share their opinions--in real time--on sports, and fan sentiment is a valuable (and fun!) representation of momentum in a game. There aren't great existing ways of measuring momentum in games, to potentially gain an edge over existing betting models, so we thought harvesting this data would be a cool way to try.

What it does

Fanalytics aggregates real-time, real comments from real people around the world as games are going on. We use a fine-tuned sentiment analysis model to gauge the general public sentiment as plays are going on (generally, a big play will have divisive sentiment, as the fans of the team which it benefits love it, but the other fans hate it). This is then used to make a prediction of total game props compared to alternative models that do not take into account sentiment. We create a web dashboard to aggregate games, showing metrics within each, and highlighting some of the most devastated (or elated!) comments. We also allow the user the ability to generate highlight reels from big plays (again, these are automatically selected by screening for divisive sentiment), with TTS voiceover captions describing the play and highlighting some choice user feedback.

How we built it

We scraped Reddit to gain live user feedback from game threads for the college football FBS games this weekend, and labeled these comments with "positivity" ratings from 0 to 8 (0 being the most negative, 8 being the most positive). We then fine-tuned a BERT sentiment analysis model with this data to create a model capable of detecting nuance in sentiment specific to college football. We used a college football API to capture live scores and individual plays, capable of linking in-game time (15:00 1st, etc) to real-life time (3:30 PM EDT). We parsed these results to isolate the usable data--play timestamps, scoring plays, and total score over game time. Using the real-life time of plays, we were able to link in-game time to the sentiment collected from the corresponding Reddit game thread. This data was used to create real-time updating for total points projections (and could be used for other game or player props). To generate the reels we take 1 minute clips of the game during an N minute time period where the number of messages about the game is double the average. We additionally, utilize the Google Gemini API to analyze the clips of football games and generate commentary that highlights the funniest fan "chatter" and gives context about the state of the game.

Challenges we ran into

Data Collection:

  • Live updates for public bets lack reliable APIs
  • Live college football APIs are sparse and primarily consist of historic data
  • Sparse access to historic live college football bets
  • Live game scoring is hard to find
  • Live footage with time synced fan messages is virtually non-existent
  • Difficult to sync clock time to real world time

Front end:

  • None of us are experienced with front end development so we had to learn on the fly

Modeling:

  • Non biased labeling of data for BERT sentiment
  • Spending hours doing the non-biased labeling of data

Accomplishments that we're proud of

  • Game Highlight reel that clips sporting events based on fan chats.
  • Designing a beautiful front end with game stats.
  • Predicting the game score based on average fan sentiment.
  • Fine tuning a BERT model for sentiment analysis based on 2500 Reddit posts.

What we learned

GitHub Copilot
Sentiment Analysis w/ BERT
Vision Language Models
Video Processing
React Native
Sports APIs
Model Forecasting
Webscraping

What's next for Fanalytics

The next step is to turn this into the Twitch of sports. Imagine being able to see the live score board, clock, and play-by-play and talk to other team fans about the state of the game. This app will be a communication tool to unite sports fans separated by geography and streaming service.

Authors

We'd love to connect! Feel free to add us on LinkedIn!
Toby Cox
Ryon Peddapalli
Wyatt Shiltz
Kevius Tribble

Built With

Share this project:

Updates