 
          | Season | League | Team | A | G | Assists | Y/YR/R | MP | 
|---|---|---|---|---|---|---|---|
| 2025/2026 | Pro League |  Union Saint-Gilloise | 5 | 0 | 1 | 0/0/0 | 111 | 
| 2024/2025 | Belgian Cup |  Union Saint-Gilloise | 2 | 0 | 0 | 1/0/0 | 28 | 
| 2024/2025 | Europa League |  Union Saint-Gilloise | 5 | 0 | 1 | 2/0/0 | 234 | 
| 2024/2025 | Super Cup |  Union Saint-Gilloise | 0 | 0 | 0 | 0/0/0 | 0 | 
| 2024/2025 | Pro League |  Union Saint-Gilloise | 18 | 0 | 3 | 4/0/0 | 676 | 
| 2024/2025 | Champions League |  Union Saint-Gilloise | 0 | 0 | 0 | 0/0/0 | 0 | 
| 2024 | Club Friendlies |  Union Saint-Gilloise | 0 | 0 | 0 | 0/0/0 | 0 | 
| 2023/2024 | Emir Cup |  Al Rayyan | 0 | 1 | 0 | 0/0/0 | 0 | 
| 2023/2024 | QSL Cup |  Al Rayyan | 1 | 0 | 0 | 0/0/0 | 67 | 
| 2023/2024 | Qatar Stars League |  Al Rayyan | 2 | 0 | 0 | 0/0/0 | 119 | 
| 2023 | Emir Cup |  Al Rayyan | 1 | 0 | 0 | 1/0/0 | 0 | 
| 2022/2023 | Qatar Stars League |  Al Rayyan | 9 | 3 | 2 | 4/0/0 | 797 | 
| 2022/2023 | Ligue 1 Uber Eats |  Angers SCO | 13 | 4 | 3 | 2/1/0 | 837 | 
| 2022 | Club Friendlies |  Angers SCO | 0 | 0 | 0 | 0/0/0 | 0 | 
| 2021/2022 | Coupe de France |  Angers SCO | 0 | 0 | 0 | 0/0/0 | 0 | 
| 2021/2022 | Ligue 1 Uber Eats |  Angers SCO | 29 | 8 | 4 | 6/0/0 | 2344 | 
| 2020/2021 | Ligue 1 Uber Eats |  Angers SCO | 14 | 1 | 0 | 3/0/0 | 736 | 
| 2020/2021 | Coupe de France |  Angers SCO | 0 | 0 | 0 | 0/0/0 | 0 | 
| 2019/2020 | Premier League |  Southampton | 20 | 0 | 2 | 2/0/0 | 759 | 
| 2019/2020 | Carabao Cup |  Southampton | 2 | 0 | 0 | 0/0/0 | 159 | 
| 2019/2020 | FA Cup |  Southampton | 3 | 1 | 0 | 0/0/0 | 164 | 
| 2019 | Club Friendlies |  Southampton | 1 | 1 | 0 | 0/0/0 | 0 | 
| 2018/2019 | La Liga |  Celta de Vigo | 35 | 3 | 3 | 6/0/0 | 2098 | 
| 2017/2018 | Premier League 2 Divison Two |  Southampton U23 | 1 | 0 | 0 | 0/1/1 | 58 | 
| 2017/2018 | Premier League |  Southampton | 26 | 2 | 2 | 1/0/0 | 1212 | 
| 2017/2018 | Carabao Cup |  Southampton | 1 | 0 | 0 | 0/0/0 | 76 | 
| 2017/2018 | FA Cup |  Southampton | 3 | 0 | 0 | 0/0/0 | 202 | 
| 2016/2017 | Europa League |  Southampton | 2 | 0 | 0 | 0/0/0 | 52 | 
| 2016/2017 | Carabao Cup |  Southampton | 3 | 1 | 1 | 0/0/0 | 17 | 
| 2016/2017 | Premier League |  Southampton | 24 | 1 | 0 | 5/0/0 | 1102 | 
| 2015/2016 | Ligue 1 Uber Eats |  Lille | 28 | 11 | 4 | 11/1/1 | 82 | 
| 2015/2016 | Coupe de la Ligue |  Lille | 5 | 1 | 0 | 0/0/0 | 0 | 
| 2014/2015 | Coupe de la Ligue |  Angers SCO | 2 | 0 | 0 | 1/0/0 | 0 | 
| 2014/2015 | Ligue 1 Uber Eats |  Lille | 14 | 3 | 6 | 1/0/0 | 0 | 
| 2014/2015 | Coupe de la Ligue |  Lille | 2 | 0 | 0 | 0/0/0 | 0 | 
| 2014/2015 | Ligue 2 |  Angers SCO | 16 | 4 | 0 | 2/0/0 | 1230 | 
| 2014/2015 | Coupe de France |  Angers SCO | 1 | 0 | 0 | 0/0/0 | 29 | 
| 2013/2014 | Ligue 2 |  Angers SCO | 28 | 0 | 0 | 7/0/0 | 1840 | 
| 2013/2014 | Coupe de France |  Angers SCO | 3 | 0 | 0 | 0/0/0 | 0 | 
| 2012/2013 | Ligue 2 |  Angers SCO | 2 | 0 | 0 | 0/0/0 | 18 | 
| Total: | 321 | 45 | 32 | 59/3/2 | 15047 | 
| Season | League | Team | A | G | Assists | Y/YR/R | MP | 
|---|---|---|---|---|---|---|---|
| 2025 | Africa Cup of Nations |  Morocco | 0 | 0 | 0 | 0/0/0 | 0 | 
| 2025 | Africa Cup of Nations Qualifications |  Morocco | 0 | 0 | 0 | 0/0/0 | 0 | 
| 2024 | Friendly International |  Morocco | 0 | 0 | 0 | 0/0/0 | 0 | 
| 2023 | Africa Cup of Nations |  Morocco | 3 | 0 | 0 | 0/0/0 | 140 | 
| 2023 | Friendly International |  Morocco | 3 | 1 | 0 | 0/0/1 | 164 | 
| 2022 | Friendly International |  Morocco | 3 | 2 | 0 | 0/0/0 | 242 | 
| 2022 | World Cup |  Morocco | 7 | 0 | 0 | 1/0/0 | 482 | 
| 2022 | World Cup Qualification Africa |  Morocco | 8 | 1 | 1 | 1/0/0 | 187 | 
| 2021 | Arab Cup |  Morocco | 0 | 0 | 0 | 0/0/0 | 0 | 
| 2021 | Africa Cup of Nations |  Morocco | 5 | 3 | 0 | 0/0/0 | 346 | 
| 2020 | African Nations Championship |  Morocco | 0 | 0 | 0 | 0/0/0 | 0 | 
| 2019 | Africa Cup of Nations Qualifications |  Morocco | 1 | 0 | 0 | 0/0/0 | 60 | 
| 2019 | Africa Cup of Nations |  Morocco | 3 | 0 | 0 | 0/0/0 | 78 | 
| 2019 | Friendly International |  Morocco | 4 | 0 | 0 | 0/0/0 | 182 | 
| 2018 | Friendly International |  Morocco | 2 | 0 | 0 | 0/0/0 | 134 | 
| 2018 | World Cup Qualification Africa |  Morocco | 1 | 0 | 0 | 0/0/0 | 86 | 
| 2017 | Friendly International |  Morocco | 1 | 0 | 0 | 0/0/0 | 60 | 
| African Nations Championship |  Morocco | 2 | 0 | 0 | 0/0/0 | 136 | |
| Total: | 43 | 7 | 1 | 2/0/1 | 2297 | 
| From | To | Date | Amount | 
|---|---|---|---|
|  Union Saint-Gilloise |  Al Rayyan | 02/09/2024 | N/a | 
|  Al Rayyan |  Angers SCO | 01/02/2023 | N/a | 
|  Angers SCO |  Southampton | 05/10/2020 | N/a | 
|  Southampton |  Celta de Vigo | 01/07/2019 | N/a | 
|  Celta de Vigo |  Southampton | 20/07/2018 | Loan | 
|  Southampton |  Lille | 29/08/2016 | 24.5M € | 
|  Lille |  Angers SCO | 10/01/2015 | 3M € |