 
          | Season | League | Team | A | G | Assists | Y/YR/R | MP | 
|---|---|---|---|---|---|---|---|
| 2024/2025 | Super League |  Aris | 12 | 1 | 2 | 3/0/0 | 1051 | 
| 2024/2025 | Belgian Cup |  OH Leuven | 2 | 0 | 0 | 1/0/0 | 65 | 
| 2024/2025 | Pro League |  OH Leuven | 12 | 0 | 1 | 1/0/0 | 581 | 
| 2023/2024 | Belgian Cup |  OH Leuven | 1 | 0 | 0 | 1/0/0 | 14 | 
| 2023/2024 | Pro League |  OH Leuven | 26 | 3 | 1 | 9/1/0 | 1698 | 
| 2022/2023 | Belgian Cup |  OH Leuven | 2 | 0 | 0 | 0/0/1 | 105 | 
| 2022/2023 | Pro League |  OH Leuven | 28 | 0 | 4 | 9/0/1 | 2067 | 
| 2020/2021 | Bundesliga |  Schalke 04 | 3 | 0 | 0 | 1/0/0 | 94 | 
| 2020/2021 | German Cup |  Schalke 04 | 2 | 0 | 0 | 0/0/0 | 77 | 
| 2019/2020 | Ligue 1 Uber Eats |  Dijon | 18 | 1 | 0 | 7/0/1 | 1442 | 
| 2019/2020 | Coupe de France |  Dijon | 2 | 0 | 0 | 1/0/0 | 180 | 
| 2019/2020 | National 3: Group I |  Dijon II | 1 | 0 | 0 | 0/0/0 | 46 | 
| 2018/2019 | Champions League |  Schalke 04 | 6 | 0 | 0 | 0/0/0 | 367 | 
| 2018/2019 | Bundesliga |  Schalke 04 | 9 | 0 | 0 | 5/0/0 | 546 | 
| 2018/2019 | German Cup |  Schalke 04 | 1 | 0 | 0 | 0/0/0 | 90 | 
| 2017/2018 | Ligue 1 Uber Eats |  Lille | 12 | 0 | 0 | 2/0/1 | 855 | 
| 2017/2018 | Coupe de la Ligue |  Lille | 1 | 0 | 0 | 0/0/0 | 90 | 
| 2017/2018 | Coupe de France |  Lille | 1 | 0 | 0 | 1/0/0 | 90 | 
| 2016/2017 | Ligue 1 Uber Eats |  Lille | 1 | 0 | 0 | 0/0/0 | 11 | 
| 2016/2017 | Coupe de France |  Lille | 1 | 0 | 0 | 0/0/0 | 90 | 
| Total: | 141 | 5 | 8 | 41/1/4 | 9559 | 
| Season | League | Team | A | G | Assists | Y/YR/R | MP | 
|---|---|---|---|---|---|---|---|
| 2021 | Africa Cup of Nations Qualifications |  Morocco | 0 | 0 | 0 | 0/0/0 | 0 | 
| 2019 | Friendly International |  Morocco | 2 | 0 | 0 | 0/0/0 | 180 | 
| 2018 | World Cup Qualification Africa |  Morocco | 2 | 0 | 0 | 0/0/0 | 93 | 
| 2018 | World Cup |  Morocco | 0 | 0 | 0 | 0/0/0 | 0 | 
| 2018 | Friendly International |  Morocco | 3 | 0 | 0 | 0/0/0 | 270 | 
| 2017 | Africa Cup of Nations |  Morocco | 4 | 0 | 0 | 0/0/0 | 360 | 
| 2016 | Friendly International |  Morocco | 1 | 0 | 1 | 0/0/0 | 90 | 
| Total: | 12 | 0 | 1 | 0/0/0 | 993 | 
| From | To | Date | Amount | 
|---|---|---|---|
|  Aris |  OH Leuven | 16/01/2025 | Free | 
|  OH Leuven |  Gaziantep F.K. | 05/07/2022 | Free | 
|  Schalke 04 |  Gaziantep F.K. | 01/07/2022 | N/a | 
|  Gaziantep F.K. |  Schalke 04 | 24/07/2021 | Loan | 
|  Schalke 04 |  Dijon | 01/07/2020 | N/a | 
|  Dijon |  Schalke 04 | 21/08/2019 | Loan | 
|  Schalke 04 |  Lille | 17/08/2018 | N/a |