February 2024
Introduction
I quit League of Legends—a popular multiplayer game—in 2022, and I wanted to collect my ARAM match data before it is forever loss to the abyss. I also wanted to turn the data into fun designs inspired by "Spotify Wrapped" as a way to recap the many hours I spent gaming. This fun personal project brings my my computer science and design background together.
Part 1: data collection
League of Legends match data can be accessed via Riot's API. They save detailed match results and statistics, so I wanted to see my performance through my last 750 ARAM games. I wrote a Python program that made requests to the API to get my match data, parse it, organize it into a DataFrame, and analyze the numbers.
The workflow is quite simple, but requires quite a bit of coding. Initially, I utilized the Summoner-V4 API to obtain my unique "puuid," which served as a key identifier for my League of Legend account. Subsequently, I employed the Match-V5 API to retrieve the IDs of my last 750 matches. With this information, I iteratively fetched JSON data for each match, enabling detailed analysis of game-specific statistics and outcomes.
I was able to leverage the power of Python libraries like Pandas to assist in data manipulation and organization. I stored the statistics and outcomes I was most interested in a DataFrame—each row representing a match.
Part 2: data analysis
With the organized data in a DataFrame, I leveraged the power of Pandas to assist me in the analysis. I analyzed win rate dynamics, champion mastery, teammate success, and individual performance metrics. I made some very interesting discoveries. Here were some of my favorites:
- I had 7 penta kills (a lot more than I remember)
- I played 244 hours, ouch.
- My performance on blue side was better than red side. The rumor that blue side is better may actually be true.