
| 2026 | Major League Soccer | Charlotte | Midfielder | 9 | 294 | 0 | 0 | 3 | 0 | 0 | 91 | 2 | 0 | 6.60 |
| 2025 | Leagues Cup | Charlotte | Midfielder | 2 | 86 | 0 | 0 | 0 | 0 | 0 | — | 1 | 0 | 6.70 |
| 2025 | US Open Cup | Charlotte | Midfielder | 37 | 1757 | 1 | 0 | 17 | 3 | 10 | — | 3 | 0 | 6.81 |
| 2025 | Canadian Championship | Charlotte | Midfielder | 0 | 0 | 0 | 0 | 0 | 0 | 0 | — | 0 | 0 | — |
| 2025 | Major League Soccer | Charlotte | Midfielder | 27 | 1455 | 0 | 0 | 9 | 4 | 8 | — | 2 | 0 | 6.83 |
| 2024 | Major League Soccer | Charlotte | Midfielder | 31 | 1979 | 1 | 1 | 10 | 3 | 20 | — | 4 | 0 | 6.99 |
| 2024 | Leagues Cup | Charlotte | Midfielder | 0 | 0 | 0 | 0 | 0 | 0 | 0 | — | 0 | 0 | — |
| 2023 | National 3 - Group G | Caen II | Midfielder | 3 | 270 | 1 | 0 | 0 | 0 | 0 | — | 0 | 0 | — |
| 2023 | Ligue 2 | Caen | Midfielder | 2 | 72 | 0 | 0 | 1 | 0 | 1 | — | 0 | 0 | 6.95 |
| 2023 | Coupe de France | Caen | Midfielder | 1 | 5 | 0 | 0 | 0 | 0 | 0 | — | 0 | 0 | — |
| 2022 | National 2 - Group D | Caen II | Midfielder | 0 | 0 | 0 | 0 | 0 | 0 | 0 | — | 0 | 0 | — |
| 2022 | Ligue 2 | Caen | Midfielder | 37 | 1757 | 1 | 0 | 17 | 3 | 10 | — | 3 | 0 | 6.81 |
| 2022 | Coupe de France | Caen | Midfielder | 2 | 180 | 0 | 0 | 0 | 0 | 0 | — | 0 | 0 | — |
| 2021 | Ligue 2 | Caen | Midfielder | 17 | 1466 | 1 | 0 | 11 | 4 | 4 | 44 | 2 | 0 | 6.89 |
| 2021 | Super League | Grasshoppers | Midfielder | 15 | 834 | 2 | 0 | 4 | 4 | 3 | — | 4 | 0 | 6.91 |
| 2021 | Schweizer Cup | Grasshoppers | Midfielder | 1 | 90 | 0 | 0 | 0 | 0 | 0 | — | 0 | 0 | — |
| 2020 | Premiership | Livingston | Midfielder | 4 | 213 | 0 | 0 | 0 | 0 | 0 | — | 0 | 0 | 6.45 |
| 2020 | Challenge League | Grasshoppers | Midfielder | 0 | 0 | 0 | 0 | 0 | 0 | 0 | — | 0 | 0 | — |
| 2020 | FA Cup | Livingston | Midfielder | 1 | 7 | 0 | 0 | 0 | 0 | 0 | — | 0 | 0 | — |
| 2019 | Challenge League | Grasshoppers | Midfielder | 29 | 1969 | 1 | 0 | 0 | 0 | 0 | — | 5 | 0 | — |
| 2019 | Schweizer Cup | Grasshoppers | Midfielder | 2 | 180 | 0 | 0 | 0 | 0 | 0 | — | 0 | 0 | — |
| 2018 | Super League | Grasshoppers | Midfielder | 22 | 1710 | 0 | 0 | 0 | 0 | 0 | — | 8 | 0 | — |
| 2017 | National 2 - Group A | Lens II | Midfielder | 27 | 2283 | 3 | 0 | 0 | 0 | 0 | — | 5 | 0 | — |
| 2016 | National 2 - Group D | Lens II | Midfielder | 19 | 1183 | 1 | 0 | 0 | 0 | 0 | — | 4 | 0 | — |
| 2015 | National 2 - Group D | Lens II | Midfielder | 8 | 316 | 0 | 0 | 0 | 0 | 0 | — | 1 | 0 | — |