Sport-specific career totals from the active profile tables, with VAL shown whenever the sport has a value file.
| Season | Age | Team | Min | G | A | Sh | SoT | KP | xG | xA | g+ | VAL |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2017 | 20 | POR | 495 | 1 | 2 | 8 | 3 | 9 | 1.41 | 1.15 | 0.43 | 2.7 |
| 2018 | 21 | POR | 1,017 | 3 | 1 | 18 | 7 | 7 | 3.40 | 0.70 | 0.74 | 4.1 |
| 2019 | 22 | POR | 2,608 | 11 | 1 | 52 | 21 | 21 | 9.83 | 2.01 | 5.80 | 14.4 |
| 2020 | 23 | POR | 1,498 | 9 | 2 | 43 | 19 | 12 | 4.73 | 1.05 | 3.86 | 9.7 |
| 2021 | 24 | WBLMvYAQxe0KPqjA456v | 1,887 | 5 | 0 | 48 | 26 | 11 | 7.03 | 0.58 | 4.26 | 9.9 |
| 2022 | 25 | SJE | 3,174 | 17 | 2 | 103 | 46 | 26 | 15.84 | 2.45 | 11.13 | 20.3 |
| 2023 | 26 | SJE | 3,331 | 10 | 2 | 64 | 21 | 29 | 9.41 | 2.97 | 4.82 | 14.5 |
| 2024 | 27 | SJE | 2,117 | 6 | 1 | 45 | 17 | 25 | 6.37 | 2.75 | 2.58 | 9.1 |
| 2025 | 28 | LAFC | 1,007 | 5 | 1 | 20 | 10 | 8 | 3.97 | 1.15 | 1.04 | 5.4 |
Wore 3 distinct franchise crests across 9 seasons (2017β2025) β a true nomad. The crest trail: