KO.LOL League of Legends Stats ko.lol Download

How we grade your games

Your game against recorded games for the same champion and role, never a mystery grade

After a game, ko.lol shows three per-game scores: Build, Runes and Play. This page says exactly what each one compares you against, the formula behind it, and the cases where we show a "-" instead of a grade. The career score that rolls games up over a window is a different mechanism and will get its own page.

Scores per game
3 Build, Runes, Play
Games the play pool needs
30 recorded games or there is no score
Grade at 90 or more
S the top cut on the 0 to 100 value
Patch
16.14 the patch the pool below is read from

Every grade names its pool and its size, in the form "compared with 3,496 recorded Ahri mid games", and a thin pool gets no grade at all.

A ko.lol score is a comparison, and the thing it compares against is printed under it: the recorded games for that champion and role on this patch. The formulas below are the whole mechanism. There is no undisclosed input, no weight that is not on this page, and no grade that survives a thin pool.

The scores are computed per game by the desktop app's analysis. On this website, profile pages print the per-game play score with the same basis line where a profile is built.

These numbers come from 108,616 ranked games we recorded on EUW, Korea and NA, found by following Diamond players and the people they play with. That is not every rank and it is not every region. Everything on this page is patch 16.14. Counted up to .

What does a score compare you against?

The pool is named on every grade, with its size, or there is no grade.

A mystery grade, against a named pool

What other tools do

One absolute grade per player per game, computed from undisclosed inputs with undisclosed weights, shown regardless of how much data sits behind it. OP.GG's own help pages describe its per-game score as beta and do not list its inputs or weights. Mobalytics publishes no validation for its eight-trait profile. The behavior this page replaces is the grade you cannot check; every claim on this page ends in something you can.

What we do instead

Recorded games for the same champion and role on the same patch. The basis line under every score names that pool and its size: "compared with 3,496 recorded Ahri mid games" is what it reads for Ahri mid right now. The play score is the mean of four percentiles against that pool: farm per minute, vision per minute, KDA ratio, and damage per gold. Those four are the formula, not a sample of it.

What are the three score formulas?

Three formulas, every weight and floor printed.

The three per-game score formulas, with their weights and floors 108,616 ranked games from EUW, Korea and NA, found by following Diamond players and the people they play with
score formula floors
Build 0.6 x overlap of your final items with the best measured winning build, plus 0.4 x your item-pace quartile best build needs 8 games; an item's pace needs 10 recorded buys; a thin cell falls back to the role pool at 20 games, else null
Runes 0.7 x weighted slot similarity to the best measured page, plus 0.3 x your own page's measured win delta both terms need 5 games; below it the delta term reads a neutral 0.5 and the note says so
Play mean percentile of farm per minute, vision per minute, KDA ratio and damage per gold against the champion, role and patch pool the pool needs 30 recorded games; the role pool fallback needs 30 as well, else null
The weights are constants in the scoring code, restated here in full: a score can be recomputed from its printed components. Where a term's floor is not met, the listed fallback applies, and where no fallback is listed the score is null and the chip shows "-" with the reason.

The grade cuts

Fixed points on the 0 to 100 value.

S 90 or more A 75 or more B 55 or more C 35 or more D under 35

After each game the app also shows what moved the result: the biggest measured swings, each with its range, games and provenance word. Practice advice comes from the largest swing against you, and it is not a grade.

When do we refuse to grade?

"Not enough games to score this" is an answer, and the only honest one.

Under 30 recorded games for the champion and role, there is no play score: the chip shows "-" and says not enough games to score this, with the count so far. The same rule runs inside the other two scores through their own floors in the table above. The refusal is not a missing feature. A grade computed against a pool of a dozen games would swing wildly on luck, and printing it would be the naked number this product exists to stop.

A live example of the refusal: Illaoi mid has 29 games recorded on patch 16.14, under the 30 game floor, so the tier list ships it as null and a play score against that pool would print "-" with the count instead of a percentile.

Worked example: the basis line

Ahri mid on patch 16.14, straight off the live tier list.

The pool right now
3,496 recorded Ahri mid games on patch 16.14
The floor
30 recorded games, or the score does not exist

Take a Ahri mid game on patch 16.14. The comparison pool is every recorded Ahri mid game on the patch: 3,496 games right now, which is the same games figure the live tier list prints for the cell. So the basis line under the play score reads "compared with 3,496 recorded Ahri mid games", the four percentiles are computed against those games, and the score is their mean.

The pool clears the 30 game floor, so the score exists. At 29 recorded games it would not, and the chip would print "-" with the reason. Nothing else changes between those two worlds: the refusal is the same formula meeting a smaller pool.

The contrast, stated as behavior a reader can check: OP.GG's per-game score names neither its inputs nor its weights on its own help page. Our score names its pool, its size and its formula, and refuses to grade below the floor.

How to check us

  1. Read the basis line under any score. It names the pool and its size, and the same games figure appears on the live tier list for that champion and role: https://api.ko.lol/v1/tierlist?patch=16.14.

  2. Recompute a score. The weights and floors are all in the table above; a score is its printed components pushed through them, and no hidden term exists to stop the arithmetic from landing.

  3. Find a thin pool. The chip shows "-" with the games so far. No invented grade exists anywhere on this site or in the app.

  4. Compare the disclosure: open OP.GG's help page for its per-game score and count the inputs and weights it lists, then count ours above.

Honest limits: what a grade does not say

Percentiles against a high rank pool read harsher than percentiles against all ranks would, and the pool note above says exactly whose games the pool is. A score compares you with recorded games; it does not measure your skill in absolute terms.

The build score's overlap term rewards matching measured winners, which is an association: the players who ran the winning build may differ from the players who did not, and match data cannot separate that from the build itself.

Per-game scores need the game's own data, so they are computed by the desktop app. On the website, the summoner profiles print the per-game play score with its basis line for players whose profiles are built.

ko.lol for desktop

Your champion pool, your matchups and your patch notes, on your desktop while you play.

Free. For Windows.

Download