Skip to content
TF2 Esports is in beta. Got feedback or suggestions? Let us know on Discord
TF2 Esports
How our team rankings work

How our team rankings work

analysis4 min read

Open the rankings and you will see two leaderboards — one for 6s, one for Highlander — with a single number next to every team. This is the story of that number: where it comes from, what it rewards, and why it sometimes disagrees with your gut.

One rating, earned game by game

We do not rank teams by win rate, prize money, or vibes. Every completed official from the leagues we track — ozfortress, RGL, ETF2L, AsiaFortress, FBTF and matcha.tf — is fed into a Glicko-2 rating model, the same family of system used to rate chess players and a lot of modern esports ladders.

Here is the one-paragraph version. Every team has a rating (think "skill estimate") and, just as importantly, a rating deviation, or RD — how confident we are in that estimate. Matches are processed in the order they were actually played. Each result nudges both teams' ratings toward or away from each other, and the size of the nudge depends on who they played: beating a top team moves you a lot, beating a team you were expected to crush barely moves you at all. Losing works the same way in reverse.

The 6s rankings board
The 6s board. Every team here earned its rating from real, completed matches.

Why the number is not just your rating

If we sorted purely by skill estimate, a brand-new team that went 9-0 against soft opposition would rocket to the top off almost no evidence. That is not a ranking, that is a small sample size.

So the board does not show the raw rating. It shows a conservative rating — your skill estimate minus a penalty for uncertainty (specifically, rating minus 2.5 times RD). The effect:

  • A team with 38 games has a tiny RD, so it is barely penalised — its record speaks for itself.
  • A team with 6 games, even an undefeated one, carries a big RD and gets docked harder until it proves the run was not a fluke.

In plain terms: volume of evidence matters, not just your win-loss. A proven contender will sit above a hot newcomer until that newcomer has actually banked the games to back it up. Beating strong teams is the fastest way up; padding wins against weak ones does very little.

Where teams start

A team does not begin from zero. New teams are seeded by the division they play in — an Invite or Premier side starts higher than an Open side — so even leagues that rarely cross-play are ordered sensibly from day one. From there, results take over and move each team away from its seed. Your division is a starting guess; your games are the verdict.

Activity keeps it honest

A ranking full of teams that stopped playing two years ago is useless. Two rules keep the board current:

  • You have to be active. A team that has not played a ranked match in the last 6 months drops off the board entirely, and only teams with at least 3 counted matches appear at all.
  • Idle teams get more uncertain. The longer a team sits between games, the more its RD grows — the system literally becomes less sure they are still that good — which eases their conservative rating down until they play again.

We re-run the whole calculation every week (Friday, automatically), looking back over the last 24 months of matches.

Regions are geographic

The rating pool is global — a cross-region upset at a LAN propagates through everyone's numbers — but the board is displayed by geography, not by league. North America (RGL plus the ESEA archive), Europe (ETF2L), Oceania (ozfortress), Asia (AsiaFortress plus matcha.tf) and South America (FBTF) each get their own regional view, so the region filter never splits a continent in two or lists the same scene twice.

The Highlander rankings board
Highlander gets its own independent board — a team can appear on both.

It is a model, not a referee

No rating system is gospel, and this one will occasionally produce a result that makes you squint — that is the nature of compressing a whole scene into one number. But it is transparent, it is driven entirely by real matches, and it updates itself every week. If a team looks badly mis-rated, it is almost always a data problem upstream (a missing result, a mis-attributed log) rather than the math — and those we can fix. Tell us when you spot one.

See the live boards →

Comments

No comments yet. Be the first to join the discussion!

You must be logged in to comment on articles.