Comparing Teams and Players - How to Make Meaningful Football Comparisons
A team scoring 2.0 goals per game in Ligue 1 and a team doing the same in the Premier League are not equivalent. A striker with 15 goals at a title contender is not automatically better than one with 10 at a relegation side. Comparisons only become meaningful when context is applied - and that is exactly what MatchAnalyzr's comparison tools are built to provide.
Why Direct Comparison Is Often Misleading
The instinct to compare is natural. Two teams meet on Saturday and every fan wants to know who is stronger. Two players compete for a single spot in your fantasy squad and you want the better one. The problem is that raw numbers, taken at face value, answer a different question to the one you are actually asking.
Consider goals scored. A team averaging 2.1 goals per match sounds impressive. But if they play in a high-tempo league with weak defending, that number might be ordinary. The same average in a defensively tight competition could be exceptional. Strip the number from its context and you lose the meaning.
The same distortion applies to individual players. A striker with 20 goals in a season looks elite until you learn they played for the dominant force in their league, received 8.5 xG across the campaign, and scored 20 from those opportunities - which is efficient but not extraordinary. A striker with 14 goals from 6.2 xG at a side that spent most of the season fighting relegation has arguably performed at a far higher level. Raw totals hide this.
Meaningful comparison requires three adjustments: normalising for playing time (per-90 stats), accounting for the quality of the environment (league strength, team quality), and choosing metrics that actually reflect what you are trying to measure. Without these, comparison is mostly noise.
Team Comparison: What to Compare and What Not To
Not all team statistics are equally useful for comparison. Some capture genuine quality. Others reflect luck, opponent quality, or the specific phase of the season in which a team happened to play their fixture list.
Metrics Worth Comparing
Expected goals (xG) and expected goals against (xGA) are the most reliable indicators of underlying team quality. They strip out finishing variance and goalkeeping heroics, leaving you with a measure of how many and how good the chances each team is creating and conceding. Over a meaningful sample - twelve matches or more - xG and xGA tell you more about a team's actual level than the goals column does.
Expected points (xPTS) is the team-level equivalent: given the xG the team generated and conceded in each match, how many points should they have earned on average? A team with 42 actual points but 36 xPTS has been fortunate. A team with 36 points but 44 xPTS has been unlucky and is likely to improve.
Possession-adjusted defensive metrics - tackles per 100 opposition touches, pressures per 100 defensive actions - normalise for the fact that teams defending deeper face more defensive situations. They let you compare how active and effective a defence is regardless of playing style.
For attacking comparison, shot creation actions and progressive passes into the penalty area reveal how teams build attacks, independent of whether those attacks end in goals.
Metrics That Mislead in Isolation
Raw goals scored and conceded are the most commonly cited team statistics and the most easily misread. They combine genuine team quality with finishing luck, opponent difficulty, and scoreline effects (teams that go ahead often stop trying to score). Always pair them with xG.
Points totals mid-season are highly sensitive to fixture scheduling. A team sitting third in October may have played six home matches to their rivals' two. Comparing points at unequal stages of the season is almost meaningless.
Possession percentage on its own tells you about style but not quality. Some of the best defensive teams in Europe historically have held below 40% possession and won titles doing it. High possession is neither good nor bad without knowing what a team does with it.
MatchAnalyzr Tip: compare-teams Widget
The compare-teams widget places two team radar charts and a stats table side by side, covering xG, xGA, xPTS, pressing intensity, and form. Load any two teams from your watchlist, toggle between current season and historical seasons (up to 10 on Premium), and share the comparison view directly. Available on the Premium plan.
Player Comparison: Position Groups Matter
Comparing players across different positions is one of the most common mistakes in football analysis - and one of the most consequential. A central defender and a striker face fundamentally different tasks, operate in different zones of the pitch, and are measured by entirely different success criteria. Placing them on the same comparison framework and declaring one better is not analysis: it is noise.
Meaningful player comparison starts with defining the correct peer group. MatchAnalyzr organises players into eight position groups, each with its own metric framework:
GK (Goalkeeper) - saves per 90, goals conceded, clean sheets, penalty saves, pass accuracy
CB (Centre-Back) - duels won percentage, tackles, interceptions, clearances, blocks, times dribbled past (inverted)
FB (Full-Back) - key passes, dribble success percentage, duels won percentage, tackles, interceptions
DM (Defensive Midfielder) - duels won percentage, tackles, interceptions, pass accuracy, errors leading to goals (inverted)
CM (Central Midfielder) - assists, key passes, pass accuracy, through balls, big chances created
AM (Attacking Midfielder) - goals, assists, xG, key passes, big chances created, dribble success
WAM (Wide Attacker / Winger) - goals, assists, xG, successful dribbles, key passes, shots on target
ST (Striker) - goals, xG, shots on target, big chances missed (inverted), penalty scored
When MatchAnalyzr's compare-players widget loads two players, it identifies their position group and surfaces the metrics that are actually meaningful for that role. Two strikers are compared on the axes that matter for strikers. Two full-backs on full-back metrics. The comparison reflects real performance in the context of each player's actual job.
For a full explanation of how position groups feed into player scoring, see the Player MA-Score article in the MatchAnalyzr knowledge base.
League Comparison: The League Adjustment
Comparing teams or players across different leagues introduces a complication that domestic comparison avoids entirely: not all leagues are equal in quality, and the same performance level means different things in different competitions.
A team finishing mid-table in the Premier League and a team winning Ligue 1 have very different opponents, very different depth of quality in their schedules, and very different levels of competition for every point they earn. Treating their xG numbers as directly comparable would be misleading.
MatchAnalyzr applies league strength coefficients to cross-league comparison, drawn from two independent sources: UEFA country coefficients (which reflect European performance over five seasons) and ClubElo ratings (which model team strength using Elo methodology across decades of results).
The current adjustment scale is:
Premier League: 1.00 (reference)
La Liga: 0.97
Bundesliga: 0.95
Serie A: 0.93
Ligue 1: 0.88
When you compare a Ligue 1 team to a Premier League team in the compare-leagues widget, xG numbers and performance metrics from Ligue 1 are adjusted upward by the coefficient gap before the comparison is made. This does not make Ligue 1 inferior as a football competition - it reflects that the average quality of opponent faced is lower, meaning a given performance level requires a proportional adjustment to be compared fairly.
The compare-leagues widget aggregates these adjusted figures to enable side-by-side league-level comparisons: average xG per match, goals per game, defensive compactness, pressing intensity, and pace of play. This is useful for understanding why a player who dominated domestically might face a steep step up when moving to a stronger league.
MatchAnalyzr Tip: compare-players Widget
The compare-players widget renders two player radar charts as a transparent overlay on the same axes, using position-aware per-90 metrics expressed as peer-group percentiles. Switch between any two players in your watchlist, toggle league-adjustment on or off, and see exactly where each player leads. Available on the Premium plan.
The Radar Chart as a Comparison Tool
The radar chart - also called a spider chart - is the most effective visual format for multi-dimensional player comparison. Each axis of the chart represents one metric, radiating outward from the centre. Values are plotted along each axis and connected to form a polygon. The shape of that polygon is the player's profile.
Reading a radar chart for comparison comes down to three things:
First, the outer edge means better on every axis. MatchAnalyzr constructs axes so that the outer edge always represents the best possible value. For goals, more is better and the axis points outward. For fouls committed, fewer is better - the axis is inverted so that a disciplined player's polygon extends further, not closer to the centre.
Second, the shape matters more than the area. A player whose polygon covers a large area might appear superior to one with a smaller polygon. But a striker whose shape peaks sharply on xG and shots while sitting low on defensive axes is an elite forward doing their job. A midfielder whose polygon is large but flat in the offensive axes is a different type of player - not necessarily better. The question is whether the shape fits the role you need filled.
Third, the overlay view is where comparison becomes most powerful. Placing two player radars on the same chart as a transparent overlay immediately reveals where they are similar and where they diverge. The areas where one player's polygon extends beyond the other show where they have an edge. Two players whose shapes almost perfectly overlap are genuine like-for-like alternatives. Two players whose shapes point in different directions suit different systems and roles.
All player and team comparison widgets in MatchAnalyzr use percentile rankings relative to the position peer group, not raw numbers. This means the outer edge of every axis represents the top of the peer group - you can interpret distance from the edge as a direct measure of how far below the best the player sits in that dimension.
MatchAnalyzr Tip: compare-leagues Widget
The compare-leagues widget aggregates league-level stats - average xG per match, defensive actions, pace of play, pressing intensity - and applies league coefficients for cross-competition comparison. Useful for understanding the context a player is moving from and into. Available on the Premium plan.
Per-90 Normalisation: The Foundation of Fair Comparison
Every player metric in MatchAnalyzr is expressed per 90 minutes of playing time. This normalisation is not a technical detail - it is the foundation on which all comparison rests.
Without it, a player who has started every league match has automatically accumulated more goals, assists, tackles, and key passes than a player who joined mid-season or has shared minutes with a squad competitor. Comparing their raw totals tells you primarily about playing time, not performance quality.
Dividing every counting statistic by the number of 90-minute periods played converts totals to rates. A player with 4 goals in 360 minutes produces the same 1.0 goals per 90 as a player with 12 goals in 1,080 minutes. Both are generating at the same rate - even though one appears far more productive in a raw count.
Rate-based metrics - pass completion percentage, duel win rate, shot conversion rate - do not require per-90 adjustment because they already account for volume. But goals, assists, shots, tackles, key passes, and any other counting statistic must be normalised before any comparison is valid.
A related but separate consideration is minimum thresholds. Per-90 stats from small samples are noisy. A player with 45 minutes played who scored once is mathematically at 2.0 goals per 90, but that number means almost nothing. MatchAnalyzr applies a minimum threshold of 450 minutes before displaying per-90 metrics in comparison tools, preventing small-sample distortions from contaminating the analysis.
Comparing Across Seasons
A single season is a snapshot. Comparing across multiple seasons reveals whether a performance level is genuine, improving, declining, or an anomaly.
The MatchAnalyzr season switcher enables historical comparison going back up to 3 seasons on the Pro plan and 10 seasons on Premium. This unlocks analysis that a single-season view cannot provide.
For teams, multi-season comparison answers questions like: is this squad's current xG output genuinely exceptional, or a return to a baseline level after an unusually bad previous season? Has their defensive improvement been consistent across several campaigns or is it a single-season sample? The team-season-compare widget visualises xG, xGA, xPTS, and form trajectories across multiple seasons in a single timeline chart, making trend identification straightforward.
For players, year-on-year comparison reveals development arcs. A young midfielder whose assists per 90 have increased each season over three years is demonstrating genuine creative development. A striker whose goals per 90 fluctuates wildly year to year but whose xG per 90 is consistent is showing that their underlying chance quality is stable - the fluctuation is finishing luck.
Cross-season comparison is also essential for transfer analysis. A player who produced outstanding numbers in a single season might be riding a finishing or creation spike. A player with three consecutive seasons at a similar level has demonstrated repeatability - which is far more valuable.
When comparing across seasons, one important caution applies: the league coefficient adjustments described above should also account for changes in league strength over time. A Bundesliga that was slightly weaker five seasons ago is not identical to the current Bundesliga. MatchAnalyzr updates league coefficients annually to reflect the rolling five-season UEFA and ClubElo data.
Practical Use Cases
The comparison tools in MatchAnalyzr are built for specific, recurring decisions that football fans, fantasy managers, and analysts face regularly.
For Fantasy Football: Evaluating Two Transfer Targets
Suppose you have a transfer slot open in your fantasy squad and two players at similar cost are available. Both play the same position. One has more goals on the season; the other has a better upcoming fixture run.
The compare-players widget gives you the full picture beyond headline numbers. Load both players, check their per-90 xG and assists to see who is generating the better underlying chance quality. Check their form scores (the last five-match rolling window) to see who is currently producing at a higher rate. Cross-reference with the upcoming fixture difficulty shown in the team-next-matches widget.
Often the player with fewer goals has a higher xG per 90 - meaning they are creating high-quality chances but have been unlucky with finishing or keeper saves. That player is more likely to regress toward their expected output (i.e. score more) than the one with more goals but lower underlying quality.
The MA-Score for players weights these factors systematically, giving you a single number that blends current form and underlying quality. The compare-players overlay shows you where specifically each player leads.
For Scouting: Cross-League Player Comparison
Identifying a transfer target from a lower-ranked league requires adjusting for the difference in competitive quality. A wide attacker dominating in Ligue 1 with elite xG and assist numbers is performing at a high level - but how does that translate to the Premier League?
MatchAnalyzr applies the league coefficient (0.88 for Ligue 1 vs. 1.00 for PL) when generating league-adjusted MA-Scores. This means the player's per-90 metrics are scaled before being ranked against Premier League peers, giving you a more realistic picture of where they might sit in a stronger environment.
The compare-players widget, when loaded with players from different leagues, applies this adjustment automatically. You can directly compare a Bundesliga midfielder and a Serie A midfielder on the same axes - coefficients applied, percentile rankings adjusted - and see a genuine indication of relative quality rather than a raw numbers comparison that flatters the player from the weaker competition.
For Pre-Match Analysis: Comparing Two Upcoming Opponents
Before a match, the compare-teams widget is the most direct tool. Load both teams and the widget surfaces radar charts and a stats table side by side: xG, xGA, xPTS, pressing intensity, defensive compactness, and form over the last five matches.
The head-to-head widget complements this with historical H2H data - goals, results, xG in previous meetings - which can reveal patterns that current-season metrics do not capture. Some teams consistently overperform or underperform their season xPTS in specific matchups due to tactical familiarity.
For a match involving teams from different leagues - a European fixture or a cup tie with a lower-division opponent - the league adjustment ensures the comparison is not distorted by the different competitive contexts each team comes from.
Frequently Asked Questions
Why do the same goals-per-game numbers mean different things in different leagues?
League quality varies significantly. Scoring 2.0 goals per match in the Premier League, where average defensive quality is higher and opponents are stronger throughout the table, is harder to achieve than the same rate in a less competitive league. MatchAnalyzr applies league strength coefficients (based on UEFA country rankings and ClubElo) when making cross-league comparisons, scaling metrics proportionally so that performances in weaker leagues are not overstated relative to stronger ones.
Can I compare a striker and a winger using the same comparison tool?
Yes, but MatchAnalyzr will select metrics appropriate to each player's position group. A striker and a wide attacker have different roles and are measured against their own peer groups. The comparison will show you where each leads relative to their own positional peers - which is more meaningful than a direct raw number comparison. If both players share enough overlapping metrics (such as xG and assists), those will appear on both axes. Metrics specific to one position group will differ.
What is per-90 normalisation and why does it matter for comparison?
Per-90 normalisation divides every counting statistic (goals, assists, tackles, key passes) by the number of 90-minute periods a player has appeared in. This converts totals to rates. Without it, players with more minutes automatically accumulate higher totals regardless of whether they perform at a higher level. A player with 4 goals in 360 minutes performs at exactly the same rate as one with 12 goals in 1,080 minutes - per-90 shows this; raw totals hide it.
How many seasons of data can I compare in MatchAnalyzr?
On the Pro plan, you have access to the current season and the previous 3 seasons. On the Premium plan, you can access up to 10 seasons of historical data. The season switcher appears in the team-season-compare widget, the player comparison tools, and on individual team and player analysis pages. Historical comparison is particularly valuable for identifying whether a player's current form is a genuine step change or a return to a long-term baseline.
What makes a football league 'stronger' - is it just the top teams?
Depth of quality matters more than top-end brilliance. A league where the bottom five clubs are well-organised, press effectively, and defend in a structured shape is genuinely more demanding to score in than a league where mid-table and lower teams are disorganised or lack athletic quality. UEFA coefficients measure European performance across all clubs in a league's representation, not just the top sides - which is why they capture depth more accurately than looking only at title winners.
Is the player with the larger radar polygon always the better player?
No. A large polygon means the player performs well across many dimensions simultaneously - which is valuable for all-round roles. But a player with a smaller polygon that peaks sharply on the axes most relevant to their specific role can be more valuable in that role than a larger all-round polygon suggests. A specialist finisher with a narrow but deep offensive spike is often more effective in their role than an all-rounder at the same position. Always read the shape and consider what the team or system needs.
Your football.
Your analysis data.
Your dashboards.
Turn raw data into real insights with MatchAnalyzr. Build your own personalised football dashboard with the leagues, teams and players you actually follow.