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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2013 | 27 | POR | 3,356 | 0 | 2 | 10 | 3 | 29 | 1.38 | 2.70 | 0.00 | 7 |
| 2014 | 28 | POR | 2,931 | 2 | 3 | 9 | 5 | 25 | 0.29 | 1.26 | 0.89 | 8.6 |
| 2015 | 29 | POR | 3,057 | 3 | 0 | 12 | 8 | 17 | 1.39 | 1.36 | 0.05 | 7.3 |
| 2016 | 30 | POR | 2,827 | 0 | 1 | 9 | 2 | 16 | 0.34 | 1.65 | 0.00 | 5.8 |
| 2017 | 31 | POR | 2,805 | 1 | 1 | 5 | 2 | 25 | 0.99 | 1.91 | 0.48 | 6.9 |
| 2018 | 32 | POR | 3,269 | 2 | 1 | 9 | 3 | 28 | 1.42 | 2.16 | 0.61 | 7.6 |
| 2019 | 33 | POR | 3,003 | 0 | 1 | 7 | 1 | 25 | 1.31 | 1.57 | 0.00 | 6.8 |
| 2020 | 34 | POR | 2,503 | 1 | 5 | 3 | 1 | 15 | 0.75 | 1.70 | 0.50 | 7.5 |
| 2021 | 35 | POR | 3,141 | 2 | 1 | 4 | 2 | 27 | 0.44 | 1.96 | 0.57 | 7.7 |
| 2022 | 36 | POR | 2,706 | 0 | 1 | 4 | 0 | 13 | 0.39 | 1.49 | 0.00 | 5.6 |
| 2023 | 37 | POR | 2,848 | 0 | 0 | 2 | 0 | 7 | 0.07 | 0.31 | 0.00 | 5.3 |
| 2024 | 38 | POR | 2,778 | 0 | 0 | 1 | 0 | 13 | 0.03 | 0.78 | 0.00 | 5.3 |
| 2025 | 39 | POR | 1,762 | 0 | 1 | 2 | 0 | 11 | 0.04 | 1.07 | 0.00 | 3.7 |
Gave the Portland Timbers FC an entire corpus-attributed career — 13 seasons (2013–2025), one crest. The rarest loyalty in the sport.