Join the waitlist
Join the waitlist

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.

−3.9 WPAVery costly
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.

WinrateWPA
CountsHow many games were won, out of N games playedHow much a play changed a game's win probability
Written asA percentage of gamesA signed amount: −3.9 WPA
Built fromMultiple gamesA second of one game
Tells youHow often a champion, item or a player winsWhich 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.

Times in 100 by phase · AUC 0.840
Times in 100 the model picks the winner, by phase: 73, 85, 91, 90
The modelGold aloneA coin
Min 1-10736750
Min 11-20858250
Min 21-30918950
Min 31+908550

Teams win about as often as it says, off by 0.49 points on average.

Calibration error 0.005
The win probability the model said against how often those teams won: ten dots on the diagonal
It saidThey wonMinutes
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.

RankPicks the winnerOff by
Iron85 in 1001.3
Bronze84 in 1001.0
Silver84 in 1000.8
Gold84 in 1000.7
Platinum84 in 1000.7
Emerald84 in 1000.8
Diamond84 in 1000.9
Master and above84 in 1001.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 lengthPicks the winnerOff by
Under 25 min96 in 1007.6
25 to 3090 in 1003.9
30 to 3580 in 1002.2
35 and over69 in 1007.4

By patch. Patch calibration and weighting keep the model consistent across them.

PatchPicks the winnerOff by
16.2084 in 1000.5
16.2184 in 1000.5
16.2284 in 1000.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

v22026-11-08Flow 2: The lane model's expected gold and XP, each rank's own weights, bounties, respawns, who could contest an objective, and Air 1 (dedicated model) in place of the draft value
v12026-10-19Flow 1: HP and damage in the last minute
v0.52026-10-10The draft. Each champion's strength and how they scale.
v0.1-v0.22026-10-10Gold, XP, players alive, towers and monsters.

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.

Look up an accountSee it in the app

Queue up.

We'll send an invite the moment our beta is live.