Inspiration
Power Rankings have been all the rave in League of Legends esports, especially in content creation circles. However, power rankings are prone to bias and can lack data-driven insights.
The opportunity to make a data-driven solution to answer a popular question (“Who is the strongest team in the world before Worlds?”) is particularly exciting, especially with Riot Games supplying data to help with this process.
We were heavily inspired by the https://www.eloratings.net/about in our attempt at providing an answer to a question that, I am sure, a few people who wrote LoL power rankings in the past would find insightful. After all, one of our team members who fit the bill absolutely did.
What it does
Our team project provides League of Legends esports Elo ratings for teams of various leagues by tournament, for all teams, at given timestamps (tournament-related or most recent). We do so through a website, rather than strictly sticking to APIs.
How we built it
We built the project using Python and AWS to perform ETL, clean the dataset, use machine learning algorithms to score the games, then calculated Elo ratings by chronological order (oldest game to newest) on a one-year basis. We made extensive use of Lambda requests to power our Postman APIs, which were then plugged to a frontend website built on React.
Challenges we ran into
- Data cleaning and mapping were a challenge across various elements of the project
- Time zone differences spanning across 13 hours
- An unexpected group member defection set our timetable back significantly
- Time nearly ran out by the time we submitted our MVP for review
- Some features could not be implemented within the deadline
- For some members, this Hackathon was their first
Accomplishments that we're proud of
- Squishing 3TBs worth of data into 30MBs
- The game scoring model (98%-99% accuracy)
- A near-last-minute implementation of Elo ratings provided values that started becoming closer to reality
- Near the end, effectively communicated despite time zone differences to deliver a functional product
What we learned
- Our software developer deepened his understanding of backend development design
- Our statistician has made huge strides into their data science journey, modeling a potent logistic regression, then flipping it on its head to provide game performance scores
- The group member responsible for ETL learned much about data life cycle than anticipated; data engineering doesn’t stop when analysts obtain their data
- Rating systems are no easy feat. The sheer amount of variables going into them is a sight to behold
- AWS was key to solving this project’s biggest hurdles, especially pertaining to data and APIs
What's next for LOL AWS Global Power Rankings Hackathon
After judgment, some group members may choose to refine the algorithm and provide a solution that is as close to flawless as possible. This involves:
- Taking roster changes under account
- Implementing side bias into the Elo formula
- Recalculating starting Elo values and K-Scores through Recurring Neural Networks designed to minimize Elo variance at Worlds
- Some code cleanup
More info
Please read the documentation of our project for more information
Built With
- amazon-ec2
- amazon-web-services
- athena
- javascript
- jupyter
- postman
- python
- react
- sagemaker
- tailwind
- vercel

Log in or sign up for Devpost to join the conversation.