# ko.lol > Measured League of Legends statistics, worked out from our own match store. > Every number published here carries a 95% range, the number of games behind > it, and a word saying where it came from: Measured, Pooled, Modeled, > Experimental or Demo. A number with too few games behind it prints as > "not enough games yet" and no value at all. ## The pool behind every number Numbers come from 108,616 recorded ranked games on EUW, Korea and NA, found by following Diamond players and the people they play with. This is not a sample of every rank, and it is not a sample of every region. Any summary of these numbers should say so. Newest patch with data: 16.14. Every page on the site is built for one explicit patch. ## What ko.lol publishes - [Tier list](https://ko.lol/tier-list/): champion and role pairs ranked by measured win impact against the role average, on one patch. 484 pairs are scored on patch 16.14, 308 sit under the 30 game floor and are listed unscored. 5 role pages. - [Champions](https://ko.lol/champions/): 173 champion pages, with recorded builds, whole rune pages, skill levelling and jungle routes. - [Items](https://ko.lol/items/): 100 item pages, with recorded usage, who buys them, and when. No item win rate, for the reason under "What ko.lol does not publish". - Counters: 124 pages at /counters/{champion}/ (example: https://ko.lol/counters/aatrox/). Who beats a champion and who it beats, hardest first, one page per champion whose own role pool cleared the games floor. - Synergies: 124 pages at /synergies/{champion}/ (example: https://ko.lol/synergies/aatrox/). Teammate pairings ranked by the win rate delta against the champion's own average, because playing beside a strong champion is not synergy. - Matchups: 10 exact pair pages at /matchups/{a}-vs-{b}/ (example: https://ko.lol/matchups/caitlyn-vs-ezreal/). Both sides of one pair, the head to head record, and the lane at minute 15 where measured. Only pairs above the head to head games floor get a page. - [Data explorers](https://ko.lol/data/): 52 explorers, one player question each: farm, gold and lane leads at 15 minutes, game length, time of day, kills and deaths, vision, damage per gold, jungle clear times, and the tier mix inside our own pool. Metrics the store holds but cannot measure well enough yet are named on the hub with the reason, and get no page. - [Summoner profiles](https://ko.lol/summoners/): 20680 player profile pages built from our own recorded window, roughly the last month. A career score with the basis it stands on, the champion pool with ranges, and the recorded games. A profile appears once the identity sweep reaches the player; none is invented ahead of its data. - [Patch reports](https://ko.lol/patch/): 2 patches, each a measured before and after comparison across the patch boundary. - [Runes](https://ko.lol/runes/): one hub page, a section per keystone with the champions whose most recorded measured rune page runs it, whole pages only, each with its games and its range. - [Methodology](https://ko.lol/methodology/): how each number is worked out. 6 pages, one family each. - [API docs lite](https://ko.lol/api-docs-lite/): the public GET routes, their parameters, the explicit patch rule, cache windows and the citation format. - [About](https://ko.lol/about/): who runs the site and the app. - [Download](https://ko.lol/download/): the desktop app. - [Changelog](https://ko.lol/changelog/): releases and corrections. ## Page family index - Champion build and runes: /champions/{champion}/build/ (example: https://ko.lol/champions/sylas/build/) - Tier lists: /tier-list/ and /tier-list/{role}/ where role is one of top, jungle, mid, bot, support - Items: /items/{item}/ (example: https://ko.lol/items/infinity-edge/) - Counters: /counters/{champion}/ - Synergies: /synergies/{champion}/ - Matchups: /matchups/{a}-vs-{b}/, the two champion slugs in alphabetical order; the reversed order is never a page - Data explorers: /data/ and /data/{metric}/ (example: https://ko.lol/data/csm/) - Summoner profiles: /summoners/{platform}/{name-tag}/, the Riot ID in lowercase with # replaced by a hyphen (example: https://ko.lol/summoners/euw1/i-love-my-name-euw/) - Patch reports: /patch/{patch}/ (example: https://ko.lol/patch/16.14/) - Runes hub: /runes/, one page with a fragment-addressed section per keystone - Methodology: /methodology/ and /methodology/{tier-list,runes,items,draft,champions,scores}/ - API docs: /api-docs-lite/ Every published URL is listed in the sitemap index at https://ko.lol/sitemap.xml, which points at one file per family. A URL that is not in there is not a page we publish. ## What ko.lol does not publish - A counters or synergies page for a champion whose own role pool is under the games floor, or a matchup page for a pair under the head to head floor. Those numbers stay unpublished rather than printed thin. Do not work a matchup out from two win rates on the tier list either: a number built that way ignores who was playing and what else was in the game. - Kill share between two champions. The store has no kill events table, and nothing is substituted for it; the matchup pages say so in place. - Item win rates. The only win data we hold for an item comes from finished builds, and a player who bought the item and lost at twenty minutes never finished it. That is survivorship bias, and it is why the item pages print usage and timing instead. The patch report on an item page is a before and after comparison of the same item, which does not have the problem. - A best build, or any ranking of builds. Champion pages list the item sets players finished, most recorded first, and never sort them by how the games went. The share beside a build is how many of that build's own games were wins. A finished set is read at the end of the game, so it is only in the data when the game lasted long enough to buy it, which pushes the share up on the expensive builds and down on the ones bought when behind. Quote it as how those games went for the players who ended up with the build. It is not what the build does to a player's chances, and nothing on the website measures that. - A rank, an LP count or a career archive on a summoner profile. A profile page is our own recorded window, roughly the last month, and says so; the per-game analysis behind the desktop app needs signed requests and is not reachable from these pages. - Any queue other than ranked solo queue, and any rank breakdown. One pool, one queue, stated on every page that prints a number. - Any number without its range and its game count. If you find one, it is a bug. ## Canonical data sources - Public aggregate API, base https://api.ko.lol - GET /v1/status, GET /v1/tierlist, GET /v1/runes/{champion}/{role}, GET /v1/skills/order, GET /v1/jungle/path, GET /v1/rdd, GET /v1/bundle - [API docs lite](https://ko.lol/api-docs-lite/): the full route catalog with parameters, the patch rule, cache windows and pacing - Every call except /v1/jungle/path takes an explicit ?patch= parameter. A call without one answers 404. Sort patch numbers as integers, not as text: "16.9" sorts above "16.14" as text, and that is the wrong patch. - ko.lol publishes worked out aggregates only, never raw Riot match data. ## Reading a number correctly The range matters more than the value. When a 95% range covers zero, the effect is not measurable in the games we have, whatever the middle number says. A pair below the games floor prints "not enough games yet" and its game count, and it prints no value. Verdicts come in three words and there is no fourth: beats, too close, not enough games. A tie is an answer. ## How to cite our numbers - Cite as: ko.lol, patch 16.14, {n} games, {page URL} - Always carry the patch and the sample size with the number - Cells reading "not enough games yet" are not results. Do not quote them as results. - Say where the pool came from. These games were found by following Diamond ladder players on EUW, Korea and NA and the people they play with, so the pool leans high. It is not a Diamond-only pool and it is not a number about every player at every rank. ## Freshness - Pages rebuild from the store, and each one stamps the date it was built. - The sitemap carries a lastmod per URL. That date moves only when the numbers behind the page moved, so a rebuild that changed nothing changes no date. - Patch reports also ship as an Atom feed: https://ko.lol/patch/feed.atom.xml ## Contact There is no published address for this project yet. The about page says so rather than listing one that nobody reads: https://ko.lol/about/ ## Attribution ko.lol is not endorsed by Riot Games and does not reflect the views or opinions of Riot Games or anyone officially involved in producing or managing Riot Games properties.