Riftline.

Method / The win chance

The win chance

A game's story opens with each side's chance to win, minute by minute, and the three moments that decided it. The curve comes from a model fitted on Riftline's own games every night and graded on games it had not seen. Here is what it reads, how well it does, and what it cannot see.

What the curve shows

At each minute of a game, the model looks at the state of the map and says how often, in the games Riftline holds, the blue side went on to win from a state like that. A curve at 50% is an even game; 80% at minute 25 means that, of stored games in a state like this one at minute 25, about four in five ended in a blue win. Red's chance is one minus blue's. When a page is about one player, the curve is drawn from their side.

It is a description of similar games, not a prophecy about this one. A team at 90% still loses one game in ten, and those games are the ones people remember.

How it is made

The model is a logistic regression on the game state, blue minus red: gold, kills, towers, inhibitors down, dragons, the dragon soul, the Elder and Baron buffs, Voidgrubs, the Rift Herald, Atakhan and champion levels. Every feature has one weight at minute 0 and another at minute 40, and the effect moves in a straight line between them. That is how a gold lead can matter differently at 8 minutes and at 35 without the model jumping at a boundary between game phases, which a set of phase models would do.

One rule is imposed on the fit: no feature may count against the side that holds it. Fitted freely, the model read a tower at 10 minutes as minus 2.9 points and a Baron buff at 20 as minus 4.1, because early towers and Barons correlate with things the model was already crediting through gold. Harmless to the curve, absurd as the effect of an event, and the moments below are built from those effects, so the constraint stays.

It is trained on 2.9k ranked solo games (78k game-minutes), refitted every night as the corpus grows, and shown on ranked solo and ranked flex games. It is not shown on ARAM or Arena, whose maps it has never seen.

How well it does

A model graded on the games it was fitted to would look better than it is. So it is graded on five folds, each held out in turn, split by game and never by minute, because the minutes of one game are near copies of each other and splitting them would let the model see the answer.

Held out, it called the winner 72.5% of the time across every minute of every game. Its Brier score, the average squared error of the probability it gave, is 0.176 against 0.250 for always guessing blue's overall win rate, so it removes 29.4% of that guess's error. Its calibration error is 0.6 points: when it says 70%, the side wins about 70% of the time, and the second table shows that at every level.

By game time
MinutesRightBrierGame-minutes
0 to 1062.2%0.22526k
10 to 2075.4%0.16528k
20 to 3080.8%0.13320k
30+77.0%0.1594.7k
When it said this, the side won this often
SaidHappenedGame-minutes
5%5%8.3k
15%15%6.5k
25%24%6.7k
35%36%8.3k
46%45%14k
55%56%9.5k
65%65%7.0k
75%75%5.7k
85%84%5.7k
95%95%6.9k

The first ten minutes are the hardest to call, and honestly so: little has happened, and the model says close to 50% because that is the truth of the state. From 20 minutes on, most games have turned, and the model is right most of the time because the board is.

Game pages show the curve only while it removes at least 10% of the error of always guessing blue's win rate and its calibration error stays under 5 points. Below that the curve is withheld, the way a thin sample is withheld everywhere else on the site.

What one more of each is worth

From an even game, in points of win chance. These are the model's own weights at three moments of the game, and they are why the moments above are measured on the curve rather than from this table: the gold that follows a Baron is worth far more than the buff.

LeadAt 10 minAt 20 minAt 30 min
Gold (1,000 gold)+9.6+6.5+3.2
Kills (1 kill)+0.2+0.1+0.1
Towers (1 tower)0.00.00.0
Inhibitors down (1 inhibitor)Not seen+7.2+10.6
Dragons (1 dragon)+7.6+6.7+5.8
Dragon soul (the soul)Not seen0.00.0
Elder buff (the buff)Not seenNot seen+19.0
Baron buff (the buff)Not seen+1.1+1.7
Voidgrubs (1 grub)0.00.00.0
Rift Herald (1 Herald)Not seen0.00.0
Atakhan (Atakhan)Not seenNot seenNot seen
Levels (1 level each)+11.1+14.2+17.0

The moments that decided it

Events closer together than 15 seconds are one sequence: a fight, and the objective taken off it. A sequence is measured on the curve itself, from just before its first event to a minute after its last, and the three biggest swings are the moments a game page lists. Each is described from its events: “Red won a fight 4 for 1 and took Baron, minus 35.8”.

Measuring on the curve rather than adding up each event's own effect was a correction. The model credits a Baron mostly through the gold and towers that follow it, so a Baron buff alone is worth a point or three, and the sum of a fight's events made the fights that decided games look small. A minute of curve after the fight contains what the fight bought.

What it cannot see

Items, champions, who is dead and for how long, where anyone stands, summoner spells and respawn timers. A 4-for-0 fight with Baron up reads the same as one with Baron down. A team that is behind on the board but ahead in scaling reads as behind. It also reads only what the timeline records once a minute, so a lead that appeared and vanished inside a minute is never seen. These are the reasons a moment on the curve should be read as “this is when the numbers turned” rather than “this is why”.

A game's timeline is fetched when someone first opens its story, one Riot call, once. It never takes the last calls the key keeps for player searches, so on a busy key the section says so and offers to try again.

How our numbers are made: the score's weights and how well they track wins, the win-chance model's accuracy, and the rules behind the death review.

Riftline isn't endorsed by Riot Games and doesn't reflect the views or opinions of Riot Games or anyone officially involved in producing or managing League of Legends.