How we rate footballers

Every player has a 1–20 score on a dozen attributes, an archetype that describes their role, an overall rating, and a tier badge. This page is the full explanation: where the numbers come from, what they mean, and where the system stops short.

A player rating is supposed to answer one question — how good is this player. Ours doesn't try to give a single number. It's a stack of layers, each of which is meant to be inspectable on its own.

Underneath: 24 months of match data become a dozen position-relative attributes scored 1–20. Those roll up into an overall rating via the player's role, get adjusted for the quality of league they play in, and finish as a Bronze, Silver or Gold tier with a star rating within their position pool.

1 · The data we use

Every rating is built from per-fixture event data — saves, shots, passes, tackles, duels, expected goals on each shot — for every match the player appeared in over the last two years. The same source feeds the match centre and our predictions.

Recent matches matter more than older ones. A match played yesterday counts in full; one played a year ago counts roughly half; one played two years ago counts a quarter. That balance lets a hot stretch move the rating without a single month overrunning the player's longer record.

"Which club do they play for" is treated separately, with a faster window — see section 9.

2 · From stats to attributes

Every player has twelve outfield attributes (or four, for a goalkeeper), each scored 1–20. Each one is built from a small set of underlying metrics on a benchmark curve calibrated against top-flight data.

Finishing for an outfielder, for example, blends goals per 90 on both an absolute and a position-relative scale, shot conversion, big-chance conversion, and the goals-versus-xG ratio. Each piece becomes a 1–20 sub-score in its own right, then they blend into the final Finishing number.

Volumes are normalised per 90 minutes, so substitutes and rotated starters are read on the same scale. Some defensive metrics are also normalised by team possession — defenders on possession-dominant sides see fewer defensive actions per game by structure rather than by skill, and we credit that.

Players with very few minutes get pulled toward the population average for their position. A striker with two goals from four shots in 90 minutes hasn't earned a Finishing 20 yet — they've earned "we don't know". Once a player has a full season of data, that pull becomes negligible.

League quality is held back

Attributes are league-agnostic. A Finishing 16 means the same thing whether the player records it in the Premier League or in Liga MX — both reflect top-percentile finishing production. League quality only enters when we compute the player's overall rating — section 7.

3 · Top-league attribute floors

Players who hold down regular minutes at a top-flight level have proven baseline competence across most disciplines — even ones that don't show up in their event statistics. We reflect that with a minimum floor on each attribute, scaled by league quality (8 for the top five European leagues, 7 for the next group, and so on).

The exception is two goalkeeper attributes — Aerial Reach and Command — which are heavily team-dependent (a keeper at a high-pressing club sees fewer crosses to claim) and so aren't floored. Shot Stopping and Distribution remain floored.

4 · Archetypes and the rollup

Once the attribute set is built we determine a player's archetype — the role definition that best matches their statistical fingerprint. There are around twenty archetypes spanning the pitch:

GroupArchetypeWhat it leads on
ForwardsPoacherFinishing, goal threat
ForwardsTarget ManAerial, physical, hold-up
WingersInside ForwardGoal threat + dribbling
WingersDirect WingerCrossing + stamina
MidfieldAdvanced PlaymakerCreativity, short + long passing
MidfieldBox-to-BoxStamina across both phases
MidfieldDestroyerTackling, defensive positioning, aggression
DefenceBall-Playing CBShort passing + retention + tackling
DefenceNo-Nonsense CBTackling, aerial, defensive positioning
DefenceOverlapping FBCrossing, stamina, dribbling
DefenceDefensive FBTackling, defensive positioning
GoalkeeperSweeper KeeperShot Stopping + Distribution
GoalkeeperTraditional GKShot Stopping + Aerial Reach + Command

Each archetype has its own attribute weights. Inside Forward leans heavily on goal threat and dribbling; a Direct Winger flips that toward crossing and stamina; a Destroyer is built almost entirely on tackling, defensive positioning and aggression. The weighted average across the archetype's attributes is the player's base rating.

On top of the base, two small adjustments. A player who has a strength outside their main role — a winger who can also pass, a centre back with real passing range — gets credit for it. And exceptional attribute scores (17 and above on position-relevant categories) earn a separate boost because "elite" and "very good" aren't the same.

The sum of those three pieces is the player's overall rating.

5 · Goalkeepers — a different model

Goalkeeper ratings are narrower by design — four attributes instead of twelve — so the rollup math is necessarily different.

The four GK attributes:

AttributeBuilt from
Shot StoppingSave % (40%) + clean-sheet rate (35%) + goals conceded per 90 (25%)
Aerial ReachClaims per cross
CommandClaims + punches per cross (area control)
DistributionPass accuracy + long-ball accuracy (GK-specific scales)

The distribution scales are GK-specific. Goalkeepers hit far more long balls and goal kicks than outfielders, and applying the outfield pass-accuracy scale would unfairly knock most of them down. The Distribution benchmarks are built on top-flight goalkeeper data instead.

Two archetypes, one dominant signal

Both archetypes lead with Shot Stopping — the primary measure of a keeper is "ball stays out of the net". Distribution is the differentiator between them, not the dominant signal.

Shot Stopping is itself a composite of save percentage, clean-sheet rate and goals conceded per 90, so it carries the headline "did the ball go in" signal. Giving it the majority of the rollup keeps the rating honest to what really matters in the position.

6 · Goalkeeper calibre bonus

Per-stat ratings can undervalue keepers in two specific situations: regular starters at very strong defensive teams (they face few shots, so save percentage is noisy) and national-team number ones (the eye test rates them highly, the underlying numbers don't always say so). Both are signals of level the stats don't capture on their own.

A small calibre bonus credits them, drawn from two independent signals.

The first is regular service at top-flight level. A keeper who has racked up 25 or more weighted appearances in one of the top five European leagues earns up to +1.5. Less established starters in the same leagues, or starters in tier-4 leagues like the Eredivisie and Liga Portugal, earn proportionally smaller amounts.

The second is competitive international football. Apps over the last two years in senior international tournaments and their qualifiers — World Cup, Euro, Copa América, Nations League, AFCON, Asian Cup — plus the major continental club cups (Champions League, Europa League, Conference League, Copa Libertadores) all count. International friendlies don't. The biggest earners (fifteen or more competitive apps in two years) take +1.0, scaling down to +0.3 for three or more.

The two signals stack, capped at +2.5. Backup keepers and lower-league regulars naturally score zero on both — they don't reach either threshold, so the bonus self-targets without lifting anyone it shouldn't.

7 · League adjustment

League quality enters the system in exactly one place — at the end, when the overall rating becomes the adjusted rating. Each league has a coefficient (the Premier League sits highest at 1.12, the smallest leagues we cover at 0.65) and the player's overall is moved up or down accordingly.

Top-league players receive a positive bonus on top of their overall, but a capped one — a Premier League player with overall 18 doesn't run off to 20.2 just by virtue of the league. Players in sub-tier leagues take a straight multiplicative discount.

Goalkeepers who have established themselves as starters in a top league (25+ weighted appearances) get a wider cap — their attribute base is narrower than an outfielder's, so long-term proven service is one of the most reliable signals we have, and it's allowed to carry more weight.

8 · Tiers and stars

The adjusted rating becomes a tier badge and a star count.

Tier — by absolute adjusted rating

TierAdjusted ratingWhat it means
Gold ≥ 13.5 Top-flight quality — typically established starters in tier 3–5 leagues, or exceptional players in tier 4 leagues.
Silver ≥ 10.0 Competent regulars — rotation players at top clubs, starters at mid-tier clubs, top players in lower-tier leagues.
Bronze < 10.0 Lower-tier league players, squad backups, or players with limited data.

Stars — by percentile within tier and position pool

The 0.5 to 5.0 star rating is the player's rank inside their tier, and within their position pool (Goalkeeper or Outfield) — both pools are ranked separately. The thresholds:

Within-tier percentile Stars
Top 2%5.0★★★★★
Top 5%4.5★★★★☆
Top 10%4.0★★★★
Top 20%3.5★★★☆
Top 35%3.0★★★
Top 50%2.5★★☆
Top 70%2.0★★
Top 85%1.5★☆
Top 95%1.0
Bottom 5%0.5

Splitting the pool by position means a Gold 4★ keeper is the top 10% of Gold-tier keepers in the world, not the top 10% of all Gold-tier players — which would be dominated by outfield superstars and would leave roughly two keepers in 4★+ globally. Pool-splitting fixes that.

Stars are not cross-tier comparable — intentionally

A Silver 5.0★ player has a lower adjusted rating than a Gold 3.0★ player. The star is "your rank inside your tier", not an absolute scale. The tier carries the absolute level information; the star carries the within-tier rank.

9 · Recent transfers

"Which club does this player play for" needs an answer that updates quickly after a transfer. So for the player's current club and league only, we weight recent minutes far more aggressively than we do for stats — a summer move shows up as the new club's player within around four months.

Their attributes and league coefficient settle on the slower window, so a player who's had a difficult few weeks at a new club doesn't lose half their rating overnight. The club label is responsive; the numbers behind it move at the right pace.

10 · What the system doesn't measure

A short and deliberately honest list of things we don't capture, because they require either data we don't have or judgment we shouldn't pretend to automate:

  • Shot-level expected goals against goalkeepers. True Goals-Saved-Above-Expected (GSAA) needs per-shot xG-on-target data we don't currently store at GK level. Until we do, the calibre bonus substitutes "level of competition" as a proxy.
  • Tactical fit. A player rated 16 in our system may not be a 16 inside a specific manager's system. Fit is a separate question that the player profile addresses with archetype, role, and team-style signals, but it's not folded into the headline rating.
  • Injury history and availability. A player who has been injured for a year carries the rating they earned before the injury, decayed by the 365-day weight. We don't independently discount for injury status — that's a context judgment for the user.
  • Mentality, leadership and dressing room. Real but unmeasurable from event data. The system doesn't pretend to score them.
  • Set-piece specialism beyond goals. Free-kick taking, in-swinging corner delivery, penalty technique — these are crossing / finishing components but aren't broken out as their own attribute. A dedicated set-piece taker may be undersold versus a like-for-like open-play player.

Each of those choices is something a reader can interrogate. If a player's rating doesn't match your read of them, the machinery above tells you which lever is responsible — the league coefficient, the archetype fit, an attribute that hasn't yet reached the relevant peak threshold, or a sample that hasn't quite settled.

For the Bronze / Silver / Gold tier and within-tier star distribution in more depth, see the player levels methodology.