Methodology

How the rankings work

Every skin starts at 1500. Every battle moves two numbers. This page is the full accounting: where the data comes from, how it is computed, and how much confidence it has earned.

SkinBattle ranks League of Legends skins from votes cast by its visitors. There is no editorial list, no critic score, and no paid placement. As of the last rating rebuild (2026-09-05), the rankings rest on 5,921 recorded votes covering 1,939 of the 1,941 skins in the catalog.

That is a median of 4 battles per rated skin. It is not a lot, and the rest of this page is mostly about being straight with you about what that does and does not support.

1,941

Skins in catalog

1,939

With battle data

5,921

Votes recorded

37

Inside the ± 100 band

Where the data comes from

The catalog — every skin, its splash art, champion, release date, price and skin line — comes from Riot's own public data, synced automatically (last sync 2026-09-11) and topped up from a committed facts snapshot dated 2026-09-11. SkinBattle does not hand-edit skin facts.

The opinions come from exactly two places, and nothing else:

Head-to-Head. Two skins, you pick one. One pick is one comparison between those two skins.

Tier Drop. You sort a champion's skins into S through D. Every skin in a higher tier is read as beating every skin in a lower one; same-tier skins are a tie and contribute nothing. Because all of those comparisons come from one person in one sitting they are correlated, not independent, so a whole board is capped at about 8 effective comparisons and any single skin on it at 3. Ranking twelve skins does not count as sixty-six opinions.

What a battle count means. Wherever this site prints a battle count, one battle is one appearance in a head-to-head pick or one placement on a submitted Tier Drop board. Both feed the live rating and the recount below, so the count is the skin's whole evidence, not the head-to-head half of it.

There are no star ratings and no bans. If you see a number on this site, it came from someone choosing one skin over another.

Placements, basically

Every skin starts at 1500, with a wide uncertainty band of ± 350. Think of a fresh account in ranked: the system has no idea how good it is yet, so placement games swing hard. A skin's first battles work exactly like that.

As evidence piles up the band tightens, down to a floor of ± 60. That ± is printed next to ratings across the site and it means what it says: a skin at 1480 ± 90 could plausibly sit anywhere in that range.

Every battle moves both skins

When you pick a winner, the winner takes rating points and the loser pays them. How many depends on two things:

How surprising the result is. A favorite beating an underdog tells us almost nothing, so the numbers barely move. An upset is real information, and the system pays for it accordingly.

How settled each skin is. A brand-new skin can swing by up to 64 points in a single battle. A heavily-battled one barely twitches, around 16. Fresh skins find their level fast; established ones do not get knocked around by one weird Tuesday. (Your own private ratings, the ones behind your Mirror, use a flat K of 48 instead — you see each skin a handful of times, so they need to converge faster.)

A worked example: the upset

Elementalist Lux sits at 1620, mostly settled after dozens of battles (± 70). Pool Party Graves just hit the arena at 1430, still wobbly (± 300). The math expects Lux to win about 3 times in 4. You pick Graves.

Pool Party Graves

1430 1472 (+42)

New skin, surprising win: maximum learning, big jump.

Elementalist Lux

1620 1607 (−13)

Settled skin: one upset dents her, it does not define her.

If Lux had won instead she would have gained about 4 points and Graves would have dropped about 14. Expected results barely move the needle. Upsets are where rankings are made.

Your vote has weight. Literally.

Battles you fight as a guest count at half weight. Sign in and every pick lands at full strength.

Here is the part we are proud of: when a guest creates an account, their old votes are not stuck at half weight forever. The system keeps every battle ever fought and periodically re-reads the whole history, so past picks are upgraded retroactively. A week of anonymous swiping was not wasted.

One more guard, because the biggest risk to a community ranking is one determined person: a single voter's influence on any one skin is capped at about 6 weighted battles. Past that, your votes still count as battles — they just stop moving that skin. You cannot farm a favorite up the table.

The recount

The instant +42s and −13s after each pick are a live scoreboard, tuned to answer you back immediately. Periodically the system does something slower and more serious: it replays every vote ever recorded and rebuilds the entire ranking from the full history.

That recount is the official result. It irons out streaks, lucky matchups and ordering quirks the live updates drift on. It is also why a rating can shift on a day nobody battled that skin: the room got smarter about everyone.

For the stats-minded: live updates are Elo-style with a confidence-scaled K; the recount is a Bradley-Terry model fit by minorization-maximization over the raw match log, with one virtual win and one virtual loss per skin so undefeated skins stay finite, anchored so the field's geometric mean sits at 1500. Elo experience, Bradley-Terry truth. Last run 2026-09-05.

What the ± actually is

After a recount, a skin's band is set directly by how much evidence it has: ± 350 ÷ √(weighted battles), floored at ± 60. It is a sample size wearing different clothes, and it is the single most useful number on this site.

Weighted battlesBandWhat it supports
1± 350Nothing. This is the starting band.
3± 202A page worth showing. Not an order.
13± 100A stated winner, if 3 people are behind it.
34± 60The floor. As settled as it gets.

Bands also widen again on their own. A skin nobody has battled in months drifts back toward ± 350 over about six months of silence, which is both honest — taste moves — and practical, because it puts that skin back in front of voters.

Today the site's bands run from ± 60 at the tightest to ± 350 at the widest.

Three thresholds, and why they are not the same number

There are three separate decisions here, and collapsing them into one number would be the easiest way to quietly start lying.

DecisionBarQuestion it answers
Show this page in search at all3 battlesIs there anything here yet?
State a winner on it± 100 bandIs the order real?
Call that winner the community's3 votersWhose order is it?

The 3-battle bar is about crawl budget, not confidence. It keeps genuinely empty pages out of search results — a skin nobody has ever voted on has nothing to say. A ranking slice needs 8 rated skins for the same reason. Clearing that bar means a page exists, and nothing more.

The ± 100 bar is about whether the ranking can carry a sentence like "the best Ahri skin". Two skins whose ± 100 bands do not overlap sit roughly 200 Elo apart, which the model reads as a 76% win rate — a preference you would actually recognise. At the ± 202 band a 3-battle skin carries, the same separation needs about 540 points, wider than most of the field. The order there is close to noise.

So they are deliberately far apart: about 13 weighted battles for the second versus 3 raw battles for the first. Because a signed-out vote weighs half, 13 weighted battles means somewhere between 13 and 26 real ones.

The 3-voter bar exists because the band cannot tell the difference between 13 votes from 13 people and 13 votes from one person having a long afternoon. Both produce ± 100; only one of them is a community. The number is not a guess — a single voter's pull on any one skin is already capped at 6 weighted battles by the anti-farming rule, so the 13 weighted battles behind a ± 100 band cannot honestly come from fewer than 3 people. This bar enforces what the band was already claiming.

How a signed-out visitor counts. As half a person, the same discount their vote already gets. Not because their opinion is worth less — it is the same click — but because we are counting independence, and a signed-out identity is a browser cookie: one visitor clearing theirs becomes several, one shared laptop makes several visitors one. Counting those at face value would let a determined afternoon manufacture a "community" verdict, which is the thing this bar exists to stop. Refusing to count them at all would be worse, because almost nobody signs in, and a site that runs on signed-out votes should not pretend it doesn't. So 3 members clear the bar, and so do 6 signed-out visitors. That is a real weakness and this paragraph is where we admit it rather than hide it.

In code: MIN_INDEXABLE_BATTLES in lib/games/seo.ts governs the robots tag and what enters the sitemap; MAX_CONFIDENT_UNCERTAINTY and MIN_CONFIDENT_VOTERS in lib/games/answer.ts govern phrasing, and both must pass. They are different files on purpose.

What the site will and will not say

Ranking claims across the site are generated from live ratings by a fixed template — the same data always produces the same sentence, and no language model writes copy at request time. There are four versions, chosen by the band and the head count. Three of them, on made-up figures for a made-up skin:

Both bars cleared (illustrative figures) · confident

Example Skin is the highest-rated of the example skins, at 1,642 Elo (±62).

That rests on 41 battles for Example Skin from 13 voters, a band narrow enough to separate it from the field and enough separate people, counting a signed-out visitor as half, to call it a community result. 12 of 12 skins in this group have battle data.

Band outside the bar — today's normal case (illustrative figures) · provisional

Example Skin currently rates highest of the example skins, at 1,642 Elo, but at ±210 that placing is provisional.

It rests on 4 battles from 3 voters so far. A placing here is settled once its band reaches ±100 Elo, which takes about 13 weighted battles, and once 3 separate voters stand behind the leader, counting a signed-out visitor as half a person. 9 of 12 skins in this group have battle data.

Band inside the bar, too few people behind it (illustrative figures) · provisional

Example Skin currently rates highest of the example skins, at 1,642 Elo, but too few people have voted on it for that placing to be settled.

Its band is tight, at ±62 over 41 battles from 2 voters, but a community ranking needs more than that. A placing here is settled once its band reaches ±100 Elo, which takes about 13 weighted battles, and once 3 separate voters stand behind the leader, counting a signed-out visitor as half a person. 12 of 12 skins in this group have battle data.

The fourth version is for a group nobody has battled yet: it says so and names no leader. Every example above is rendered by the same helper the rest of the site uses, on figures invented for this page.

Where the data is thin right now

Being blunt about it: 37 of the 1,939 skins with battle data currently sit inside the ± 100 band, and the median one has 4 battles. That figure is the band alone; fewer pages than that are settled, because a settled verdict also needs 3 voters behind the leader, and votes on this site are concentrated in far fewer people than skins. So the provisional phrasing above is not an error state — at this stage it is the honest default, and most pages on the site use it.

That is a real limitation and it is the reason this page exists rather than a marketing claim about "the definitive skin ranking". The ratings are a live reading of what this community has voted so far. They are worth something, they are not a verdict, and the ± tells you which you are looking at.

It also moves fast in the right direction: the band shrinks with the square root of the votes, so the first few dozen votes on a skin buy far more certainty than the next few hundred.

Corrections

Skin facts (prices, release dates, lines) come from Riot's public data and can be wrong or go stale. Ratings cannot be "corrected" — they are whatever the votes say — but if a skin's facts are wrong, or a page states something this methodology does not support, say so on the roadmap and it gets fixed.

SkinBattle is an independent fan project. It is not endorsed by Riot Games and does not sell skins.

The model is hungry. Feed it.

Battle nowSee the rankings