I trained a model on the entire history of LoLesports. Here are it's worlds predictions

I trained a model on the entire history of LoLesports. Here are it's worlds predictions

Disclaimer: Claude was used for boilerplate, data collection, and validation scripts. All model design, architecture, and validation/testing method decisions are mine. This post is also 100% written by me.

I had this idea after looking at Riots official AWS power rankings for worlds. I liked the idea of using machine learning derived team rankings, but the AWS rankings place extreme weight on international performance only and don't react fast enough to real world changes with teams.

To fix this, I decided to train my own LightGBM model on every pro LoL game since 2013 (100k+ games). The first layer is a players rating engine. It's features are:
-player win loss/ratings, with kalman filter, adjusted for margin of victory and internationals
-player lane performance, residualized by the player's champion choice+all 9 other champs in the game to account for jungle/sup pressure, mid roams, utility picks vs lane win picks, etc.
-player damage share, again residualized by the other 9 champs
-allied and opposing team elos, lane matchup elo
Second layer is a Bradley-Terry elo system for the teams (AWS approach, but with proper domestic weighting) as a second opinion. These 2 layers are fed into a logistic regression that is trained on 2023 onward and refit monthly. Here are the testing results from my dataset:

Prediction All 2025-01 to 2025-08 2025-09 onward
Ratings only 0.6104
Pre-draft game 0.5964 0.5974 (n 8,478) 0.5957 (n 11,050)
Post-draft game 0.5917 0.5945 0.5896
Series, calibrated 0.5415 0.5460 (n 4,209) 0.5377 (n 4,912)
Internationals, pre / post 0.6146 / 0.6021
Comparison Model Market Verdict
Game pre-draft vs Polymarket (n ≈ 5,150) 0.6011 0.6112 model better
Game post-draft vs Polymarket 0.5945 0.6104 model better
Game pre-draft vs Kalshi (n ≈ 2,400) 0.6101 0.6110 tie (CI includes 0)
Game post-draft vs Kalshi 0.6029 0.6037 tie (CI includes 0)
Series vs Polymarket (n 3,173) 0.5486 0.5526 tie (CI includes 0)
Series vs Kalshi (n 1,783) 0.5436 0.5439 tie

And here here are the model's 2026 worlds predictions, from 100,000 simulations:

https://preview.redd.it/fbluh2l5vvuh1.png?width=1234&format=png&auto=webp&s=3dc44e560393ae0af4960200d8a02a4871921117

T1 worlds buff caveat: T1 has over performed significantly at every worlds since 2021 versus the model's expected wins. From 2021, their wins over expected were +2.6,+1.6,+4.1,+4.8,+3.1. No other team showed anything like this in testing. Their total wins over expected is +16.2, the next highest is +5.8. It's possible there's some signal that the model is missing, but I couldn't find it. Current hypothesis is that T1 genuinely posses a worlds buff, likely from the fact that they are experimenting/backing off slightly domestically. Any fix I tried to make the model expect T1 to win more at worlds made all of the other predictions worse.

With that being said, these predictions contain a boost for T1 at 1/4th the observed strength over the past 5 years. Results like T1's at at the last 5 worlds would be expected to happen by chance less than 0.5% of the time, suggesting true underlying performance increase at worlds vs the rest of the year. This adjustment accounts for that without simply boosting their performance by the exact observed amount. With the full boost derived from worlds since 2021, T1 shows a 52%(!!!!) chance to win worlds.

reddit.com
u/thumsyy — 4 days ago

ChatGPT desktop is really really bad

I have never used an electron app that is so laggy and unresponsive. I have a solid rig that runs just about anything with no issues, but right now I can't do a single thing in the app without it not responding and just completely not working at all, it literally goes into not responding from trying to drag the window around

Genuinely unreal that some of the best devs in the world with unlimited frontier access produce this unusable slop

reddit.com
u/thumsyy — 3 months ago

What form would you go in this game?

Kayn noob here.

When I loaded into this game I wanted blue since 3 enemy squishies, but I found it kind of impossible to get blue orbs because only one ranged enemy and I have Cait/Lux shoving them under tower all game.

Would you just go red this game?

u/thumsyy — 5 months ago

How to counter lvl 3 blue/red invade

I am em3 Lillia. One of the biggest weaknesses of my champ is enemy jglers coinflipping and starting in my jungle to slow my clear/force split map. To counter this, I ward my opposite buff every game to catch them cheesing so I can go straight to their camps.

The problem I run into now is getting invaded at level 3 on my blue/red. Champs like rengar, elise, etc will sometimes walk into my jungle on the buff after clearing 1 quadrant and just kill me. I can't ward for this invade because I ward lvl 1 to avoid cheese invade.

Can I prevent this somehow? What is my best response if I cant contest the buff?

reddit.com
u/thumsyy — 5 months ago