Output is real: finishing sits in line with xG.
Small sample — 8 apps, 667 min. Treat the percentiles with caution.
Holding a steady profile vs last season at 31.
| Season | Team | League | Min | Apps | Tk/90 | Int/90 | KP/90 |
|---|---|---|---|---|---|---|---|
| 2026-27 | Chicago Fire | Major League Soccer | 667 | 8 | 0.81 | 0.81 | 0.54 |
| 2025-26 | Chicago Fire | Major League Soccer | 3,218 | 35 | 1.23 | 1.01 | 0.28 |
| 2024-25 | Philadelphia Union | Major League Soccer | 2,394 | 28 | 1.69 | 1.28 | 0.15 |
| 2023-24 | Philadelphia Union | Major League Soccer | 3,061 | 36 | 1.26 | 1.50 | 0.29 |
| 2022-23 | Philadelphia Union | Major League Soccer | 3,162 | 35 | 1.59 | 1.28 | 0.23 |
| 2021-22 | Philadelphia Union | Major League Soccer | 3,210 | 35 | 1.65 | 1.68 | 0.22 |
| 2020-21 | Philadelphia Union | Major League Soccer | 1,274 | 21 | 2.33 | 1.48 | 0.21 |
Profiles like Fabrício Bruno — defenders with this shape at 31.
Watch the downside: aerial (1st pct) is a real weakness for the role.
Reliable: form in line with his season rate — no meaningful swings.
Top underlying game: 0.25 xG vs Atlanta United FC.