How a play gets its price.
WPA (win probability added) is how far a play or event moved a team's win probability in a League of Legends game, calculated by comparing the win probability just after the play, minus the one just before it. Mentorr's model, Flow, reads each game second by second and puts a WPA on every kill, death, objective and item.
Our Flow 2 model
Flow is our model of a team's WP. It learns from every minute of millions of ranked games on the last three patches. The latest patch is weighted most, with the older two following. For each moment it learns how often a team in that state went on to win.
The clock changes what everything is worth. 1,000 gold at 8:00 is worth more than at 35:00, a dead enemy is worth more at 30:00 than at 5:00. The model learns that change, minute by minute.
win probability = f(gold, XP, players alive, buildings, monsters,
the draft, the ranks, HP, damage, ... the minute)How it's calculated
Here's an example of a real game that had Galio against Ekko mid in Platinum. At 1:34 Ekko killed Galio.
price = win probability just after − win probability just before
Who gets the price. A kill's credit is shared among the players who made it possible, not always equally.
Farm, XP, objectives, all still matter. Your contributions away from fights are also calculated and analyzed. Here is how the plays roughly stack up:
- Very costly4.9 % of plays
- Costly13.1 % of plays
- Even61.0 % of plays
- Good trade18.6 % of plays
- Big play2.5 % of plays
Winrate vs WPA
A winrate counts games. WPA prices every play.
| Winrate | WPA | |
|---|---|---|
| Counts | How many games were won, out of N games played | How much a play changed a game's win probability |
| Written as | A percentage of games | A signed amount: −3.9 WPA |
| Built from | Multiple games | A second of one game |
| Tells you | How often a champion, item or a player wins | Which plays win a game, and which lose it |
What it reads
- The economy
- Gold and XP in all lanes against what each matchup usually gives (vs the opponent).
- The fights
- Players alive, respawn timers, kills, bounties, HP, and damage taken/given.
- The map
- Towers by tier, plates, inhibitors, and who is close enough to contest an objective.
- The monsters
- Dragons & soul, Elder, Baron, Grubs, and Herald.
- The draft
- The WP of the draft, and how each team scales as time passes.
What it can't see
- Everything's location.Vision, wards, who's missing from the map. Riot's data doesn't carry them minute by minute.
- Why a kill happened.We estimate who made it possible by looking at the game state and damage data.
- Early game states.It picks the winner 73 times in 100 early, against 85 to 91 after, since not enough has happened yet.
How we check it
Each patch gets tested on a model trained on the three before it. The model's predictions are checked against how often those teams actually won.
Take a minute from a game that was won, and one from a game that was lost. 84 times in 100 it gives the won one the higher win probability. A coin does about 50.
Teams win about as often as it says, off by 0.49 points on average.
| It said | They won | Minutes |
|---|---|---|
| 4.3% | 4.2% | 472180 |
| 15% | 14.9% | 351920 |
| 25% | 25.3% | 371040 |
| 35.1% | 35.5% | 444870 |
| 45.2% | 45.1% | 597310 |
| 54.7% | 54.4% | 648260 |
| 64.9% | 64.5% | 463950 |
| 74.9% | 74.6% | 380720 |
| 85% | 84.9% | 358340 |
| 95.6% | 95.6% | 462830 |
"Off by 0.7" means that when the model says 70%, those teams won about 69.3% or 70.7% of the time. Lower is better.
At every rank. It does about as well from Iron to Master.
| Rank | Picks the winner | Off by |
|---|---|---|
| Iron | 85 in 100 | 1.3 |
| Bronze | 84 in 100 | 1.0 |
| Silver | 84 in 100 | 0.8 |
| Gold | 84 in 100 | 0.7 |
| Platinum | 84 in 100 | 0.7 |
| Emerald | 84 in 100 | 0.8 |
| Diamond | 84 in 100 | 0.9 |
| Master and above | 84 in 100 | 1.4 |
By game length. Short games tend to be easier to call. The longest, where one fight decides the game, are the hardest. A game's length is known only once it's over, so each row holds games grouped by how they ended. Most short games are stomps: the team ahead at minute 12 won nearly every time, more often than the model's 70% said. Long games hold the comebacks and throws, where the early leader won less often than it said. The two misses pull opposite ways and cancel when every game is counted, which is why each patch, a fair mix of short and long games, lands near the overall figure.
| Game length | Picks the winner | Off by |
|---|---|---|
| Under 25 min | 96 in 100 | 7.6 |
| 25 to 30 | 90 in 100 | 3.9 |
| 30 to 35 | 80 in 100 | 2.2 |
| 35 and over | 69 in 100 | 7.4 |
By patch. Patch calibration and weighting keep the model consistent across them.
| Patch | Picks the winner | Off by |
|---|---|---|
| 16.20 | 84 in 100 | 0.5 |
| 16.21 | 84 in 100 | 0.5 |
| 16.22 | 84 in 100 | 0.5 |
Why some numbers have a range
When we average many games, we show the range the true number is in. "48% ±5" is between 43 and 53.
A play's price is the model's best estimate for a set second. How sure it is depends on the phase of the game.
Items, runes and skill order
An item's WPA is how its buyers did against the win probability they already had when they bought it, so that an item doesn't look strong just because players who buy it were already winning (like mages that are ahead buying Mejai's). Runes and summoner spells are compared against the WP after the draft, and skill order against the WP at level 3.
Versions
We retrain as patches change. This page shows the model the site uses and when it was built.
Questions & their answers
Who gets a kill's credit?
A kill is rarely one player's work. Our Pulse 1 model splits each play by what usually follows from a given state as well as who was involved. This way the game's, and all ten players' WP, add up to the correct value in the end.
Is a death at 3:00 really cheaper than one at 30:00?
Usually yes. Early, a death costs gold and some time alive (xp, more gold through plates, etc). Later, it can cost a baron or the entire game. The model learned how much each death is worth at each minute, from millions of ranked games.
Does it know my rank?
It knows the lobby's average. A 3,000 gold lead isn't worth the same in every rank, so Flow learns each one's weights, from Iron to Master. It did about as well at every rank (above).
Why is the early game less sure?
In the first ten minutes of a game there usually isn't too much happening, so there's only so much data to predict who wins. That's why the model picks the winner 73 times in 100 there, and 85 to 91 times after.
Is this the same as a winrate?
No. A winrate counts games. WPA prices every single event. It tells you how far one play moved one game's win probability, for your team, at that moment.