Coverage varies by player. Top-flight European leagues are richest. Items marked — aren't yet indexed for this player.
One row per club or national-team spell. Loans are tagged separately. The end date is left open if the player is still at that club. Pre-Wikidata clubs sometimes show an estimated start year — flagged when so.
Opponents this player has played against most often. Ranked by total appearances, with goals + assists + result split alongside. Sample size matters — a 2/2 record against a club only seen twice is mostly noise.
Per-match rating, averaged across the player's history. ≥ 7.0 typically indicates a stand-out individual performance; 5–7 is solid-to-quiet; < 5 is poor. Rating only appears for matches where we have an indexed rating source — see coverage for fill rate.
Most-recent matches where the player got minutes, with goals, assists, xG, xAG, progressive actions and defensive contributions side-by-side. Hover any column header for what it means and the typical-good range. Empty cells mean that stat wasn't published for that match (older fixtures, lower-tier leagues).
Per-season splits, league + cup separated. The position column auto-switches the visible stat columns: GK sees saves/clean sheets/goals conceded, outfielders see attacking + defensive contributions. Pre-2017 + lower-tier rows skip the advanced columns we don't have.
Finishing skill: goals − non-penalty xG. Penalties stripped out so an awarded penalty doesn't inflate the number. Positive across many seasons = a real finisher; one-season spikes are usually variance. Coverage is shot-data leagues only.
Total xT added from completed open-play passes per season. xT (Karun Singh) values every pitch cell by its scoring probability — moving the ball from a low-value cell to a high-value cell adds xT. A creative midfielder will accumulate +1 xT per match comfortably; a defender ~0.1.
Most-recent 40 matches with this player on the team sheet. Tags STARTER / SUB, minutes played, shirt number, plus the result. Use this to spot run-of-form patterns or to jump into a specific match's full detail.
Every shot we have spatial data for, plotted on a half-pitch. Dot size = xG (bigger dot = higher-quality chance). Lime dots = goals, black dots = saved/on-target, grey dots = off-target/blocked. Coverage is bound by source — opens up further as event-data ingestion expands.
Cards earned per competition, per season. The total column sums yellow + red + second-yellow events; the matches column shows how many indexed matches in that season had at least one event. Newer seasons are richest — pre-2017 lower-tier matches often lack event detail.