Compare soccer roles, production and available career shape. Goalkeepers are compared with goalkeepers; field players with field players. Scores measure resemblance in published statistics, not predicted success.
How the scores work
Defender comparisons use validated on-field context when both profiles have at least 270 reconstructed minutes and coverage of at least 70% of recorded minutes in the selected window. Defensive production compares opponent shots per 90 (50%), shots on goal per 90 (30%) and goals conceded per 90 (20%), using difference scales 12, 6 and 2. Defensive style compares the share of minutes in appearances with no goal conceded during that player’s intervals (40%), minutes per appearance (35%) and start share (25%). Offensive career shape is omitted and combined weights are renormalized. Defenders with sufficient coverage are compared against other defenders with sufficient coverage; otherwise the original model remains. These measures describe team performance while a player is on the field, not tackles, individual responsibility or defensive talent.
Starting lineups, substitutions and period lineups reconstruct on-field intervals. Events follow published clock order. Opponent shot and goal totals must match the box score, and each included player’s minutes must reconcile within rounding tolerance for multiple stints. Incomplete logs, dismissals and unsupported overtime are excluded. Coverage is shown for every defensive comparison. The saved baseline covers available 2022–2026 logs; current-season logs update automatically with official statistics. No. 39 is Riley Prier for 2026.
Combined score: 49.5% style, 27% production, 13.5% career shape and 10% position. Missing components are omitted and shared weights renormalized. Exact roles score 100; overlapping hybrid roles 85; adjacent defender/midfielder or midfielder/forward roles 50; defender/forward 0. Unknown positions receive no invented weight. Goalkeepers remain a separate comparison pool.
Field-player production compares goals (45%), assists (35%) and shots (20%). Style compares assist share of goals plus assists (30%), shots-on-goal percentage (25%), finishing rate (20%), minutes per appearance (15%) and start share (10%). Goalkeeper production compares saves and goals conceded equally; style compares save percentage (70%), minutes per appearance (20%) and win frequency (10%). Win frequency also reflects team context. Scoring rates use per 90 minutes when both profiles have minutes; otherwise both use per appearance. These are statistical style proxies; passing accuracy, tackles and expected goals are not supplied by these source tables.
Each metric score subtracts weighted, capped differences on fixed scales. Goals scale 0.8; assists 0.6; shots 4; saves 8; goals conceded 3. Ratio scales and full measured values are available in the code. Rates and fractions in the comparison tables are shown as decimals. No score is a probability.
Career shape uses sorted seasonal box-production values with weights 1, 0.95, 0.90 and so on, then applies 100 × (1 − twice the weighted difference / combined weighted value), bounded at zero. Field value is (points + 0.1 shots) / appearances; goalkeeper value is save percentage / (1 + goals conceded per appearance). This is a custom production proxy, not Win Shares or a validated talent model. If the value is unavailable or both values are zero, that component is omitted.
The target career stops at the selected year. Available-career opponents use all recorded seasons. Same-stage opponents use their first N recorded seasons; the first recorded year may not be the start of their college career. Selected-season comparisons search all available seasons for each opponent's best match. The current roster includes players without statistics; these players receive an availability message. A preseason baseline is labeled when a current player lacks current-season data. Archived comparisons use available official season profiles starting in 2012. Missing seasons and incomplete records are not filled with invented statistics. Position labels come from roster archives. Shutout definitions vary, so shutout frequency is excluded from similarity scoring.