Inspiration

I love watching esports, especially professional League of Legends. I’ve followed the scene for years, and watching players like Faker and streamers like Caedrel made me really interested in how much strategy goes into drafts before the game even starts. I wanted a way to tell, objectively, which draft looks better instead of just going by vibes or analyst opinions.

What I Learned

Through this project, I learned how messy real esports data can be and how important good data cleaning is. I also learned how to frame drafts as numerical features and how simple models like logistic regression can still capture useful patterns such as champion strength, synergy, and counters.

How I Built It

I collected professional match data across regions and splits, processed champion picks and bans, and turned drafts into feature vectors. I then trained lightweight statistical models to estimate win probability based only on the draft. The focus was on interpretability and speed rather than overly complex models.

Mathematically, the core idea is estimating
P(\text{win} \mid \text{draft}) using learned weights for champions and interactions.

Challenges

One of the biggest challenges was dealing with patch changes and uneven sample sizes across tournaments. Some champions appear very rarely, which makes learning reliable weights difficult. Another challenge was deciding how much complexity to add without overfitting or losing clarity.

Overall, this project combines two things I really enjoy: esports and data-driven problem solving.

Built With

Share this project:

Updates