Methodology
Where every figure comes from, and what was measured to settle it
The source
Everything begins with EA’s public Pro Clubs endpoints. Nothing is scraped from another tracker, nothing is estimated, and nothing is generated. Where a number is not EA’s, it is arithmetic on numbers that are, and this page says which.
EA returns at most ten matches per type and ignores every paging parameter, so a club’s history exists only if something wrote it down while it was still inside that window. That is what the archive is. Ingestion is demand-driven — whatever somebody looks up gets stored — and because each match payload contains the full player rows for both clubs, tracking one club preserves its opponents as a side effect.
Per 90, not per match
Every rate on the site is per 90 minutes, computed from stored match rows rather than from EA’s season totals. A substitute who plays twenty minutes and scores is not credited with a goal per match, and a player who plays every minute is not penalised for it.
Rates need enough football behind them to mean anything, so they are withheld below a minimum number of stored matches rather than shown with a disclaimer. A number that needs an apology should not be on the page.
Percentiles are conditioned on position
This is the correction that changed the most figures on the site, and it is worth stating precisely. Ranking every outfield player against every other outfield player is not a fair comparison, because the positions are not asked to do the same job.
Measured across the archive: the median defender completes about 9.6 passes per 90, against about 17.4 for the median midfielder. Ranked against everybody, that median defender sits near the 22nd percentile for passing — a figure that reads as a weakness and is nothing of the kind. Ranked against other defenders they are, by definition, at the 50th. A 28-point correction, on one axis, for doing their job correctly.
So percentile cut points are stored per position, and a player is ranked inside their own position by archived minutes rather than by the position EA lists on their profile. Where the archive has not yet measured enough players in a position, the site falls back to the all-positions distribution and the page says which pool the ranking used.
Thin samples are pulled toward the middle
A leaderboard sorted on raw averages is a leaderboard of people who played three matches. When the global standings were first built, 48 of the 72 players rated 9.5 or above had fewer than ten matches to their name.
Raising the qualifying floor does not fix it — at twenty-five matches, 27,508 of 28,111 players are excluded, which is 98% of everybody. So instead of a cliff, ordering uses shrinkage: a player’s average is pulled toward the population mean in proportion to how little evidence there is, with the weight set by the median match count of the pool. Three perfect games no longer outrank four hundred good ones, and nobody is thrown off the board for being new.
Fields EA does not name
Some of the most useful counters — interceptions, dribbles completed, crosses — are not published as fields. They arrive packed inside a match event string, as id-and-count pairs spread across four slots, and reading them is where several figures on this site come from that no other tracker shows.
One detail took measurement to settle. The second slot is a continuation of the first rather than a separate namespace: no id ever appears in both, across 127,286 entries checked; the second slot turns up on the busiest rows rather than on any particular position; and adding the two together moves agreement with the stats EA does name upward — goals from 88.6% to 95.9%. The earlier reading treated them as separate and undercounted exactly the players who did the most.
Percentile shape, not standard
The “plays like” comparison matches on the shape of a game rather than its level. Each player’s percentile vector is centred on its own mean before any comparison, so what is being measured is what somebody does more of relative to the rest of their own game — not how highly the archive rates them.
The difference is not cosmetic. Comparing raw percentiles meant the loudest signal in every vector was overall standard, which everybody shares, and the result was that a third of all players were handed one of the same ten names. Centring the vectors dropped that to roughly a fifth and made 185 of the 212 footballers reachable instead of 176. Two players with the same shape at different standards now score as the same shape, which is what the feature claims to measure.
Distance is mean absolute difference, weighted toward the axes on which a player is furthest from average — the parts that actually distinguish them. There is no similarity percentage anywhere on the site, because a single percentage implies a precision this does not have.
What is deliberately not done
No invented attributes. EA publishes nothing about pace or physicality in these endpoints, so a six-attribute card in the shape people know would have to make two of them up. The only 0–99 rating anywhere on the site is EA’s own overall, passed through untouched.
No estimated data. A missing figure is shown as missing. Nothing is interpolated to fill a gap in a chart.
No crests, no photographs. See About for why the identifier EA exposes resolves to the wrong badge.
Corrections
Every figure here is reproducible from the archive, and several of the numbers on this page exist because an earlier version of the site was wrong and the error was measured rather than argued about. If something looks incorrect, say so — a reproducible complaint about a number is the most useful message this site receives.

