Central · Nottingham Forest · season-by-season, by competition, and every match.
Below his 2021/22 peak but holding a solid level — the platform for a return is there.
The record covers 6 seasons (2020/21–2025/26) across 2 clubs, including a move abroad — 157 appearances, 11 goals and 7 assists.
His best campaign on record is 2021/22 at PSV Eindhoven — Season rating 59, 3 goals and 2 assists in 29 games. 2025/26 was the leap — Season rating up 28 points at Nottingham Forest. Form is on a climb — up 25 Season points across his last 3 full seasons. The gap to his peak is 19 Season points.
2025/26 was disrupted — 7 fixtures missed through injury or absence. A streaky profile — form has swung hard between campaigns (spread of ±17 points), so the peak and the trough are far apart.
| Season | Club | Apps | G | A | Rating | Season |
|---|---|---|---|---|---|---|
| 2025/26 | Nottingham Forest | 28 | 2 | 2 | 58 | 40 |
| 2024/25 | Nottingham Forest | 18 | 0 | 1 | 66 | 12 |
| 2023/24 | Nottingham Forest | 24 | 0 | 0 | 67 | 16 |
| 2022/23 | PSV Eindhoven | 29 | 5 | 1 | 74 | 48 |
| 2021/22 | PSV Eindhoven | 29 | 3 | 2 | 75 | 59 |
| 2020/21 | PSV Eindhoven | 29 | 1 | 1 | 73 | 47 |
| Competition | Apps | Min | G | A | Rating |
|---|---|---|---|---|---|
| Premier League | 28 | 2080 | 2 | 2 | 7.0 |
| UEFA Europa League | 14 | 747 | 0 | 1 | 7.0 |
| Africa Cup of Nations | 4 | 331 | 0 | 0 | 6.8 |
| Friendlies | 2 | 77 | 0 | 0 | 7.5 |
| League Cup | 1 | 14 | 0 | 0 | 6.5 |
| Date | Competition | Opponent | Res | Status | Min | G | A | Rating |
|---|---|---|---|---|---|---|---|---|
| Jul 26 | Friendlies Clubs | A Fulham | 1-3 | Not in squad | — | |||
| Aug 2 | Friendlies Clubs | A Birmingham | 0-1 | Not in squad | — | |||
| Aug 5 | Friendlies Clubs | H Fiorentina | 0-0 | Not in squad | — | |||
| Aug 9 | Friendlies Clubs | H Al Qadsia | 0-0 | Not in squad | — | |||
| Aug 17 | Premier League | H Brentford | 3-1 | Played | 90 | 6.3 | ||
| Aug 24 | Premier League | A Crystal Palace | 1-1 | Played | 88 | 6.7 | ||
| Aug 31 | Premier League | H West Ham | 0-3 | Played | 89 | 6.3 | ||
| Sep 13 | Premier League | A Arsenal | 0-3 | Played | 73 | 6.6 | ||
| Sep 17 | League Cup | A Swansea | 2-3 | Played | 14 | 6.5 | ||
| Sep 20 | Premier League | A Burnley | 1-1 | Played | 14 | 6.9 | ||
| Sep 24 | UEFA Europa League | A Real Betis | 2-2 | Played | 82 | 6.6 | ||
| Sep 27 | Premier League | H Sunderland | 0-1 | Unused sub | 0 | — | ||
| Oct 2 | UEFA Europa League | H FC Midtjylland | 2-3 | Played | 90 | 7.3 | ||
| Oct 5 | Premier League | A Newcastle | 0-2 | Unused sub | 0 | — | ||
| Oct 18 | Premier League | H Chelsea | 0-3 | Played | 90 | 7.2 | ||
| Oct 23 | UEFA Europa League | H FC Porto | 2-0 | Played | 1 | — | ||
| Oct 26 | Premier League | A Bournemouth | 0-2 | Unused sub | 0 | — | ||
| Nov 1 | Premier League | H Manchester United | 2-2 | Played | 1 | — | ||
| Nov 6 | UEFA Europa League | A Sturm Graz | 0-0 | Played | 90 | 7.2 | ||
| Nov 9 | Premier League | H Leeds | 3-1 | Played | 59 | 1 | 7.7 | |
| Nov 22 | Premier League | A Liverpool | 3-0 | Played | 90 | 7.2 | ||
| Nov 27 | UEFA Europa League | H Malmo FF | 3-0 | Played | 66 | 7.2 | ||
| Nov 30 | Premier League | H Brighton | 0-2 | Played | 74 | 7.6 | ||
| Dec 3 | Premier League | A Wolves | 1-0 | Played | 67 | 6.9 | ||
| Dec 6 | Premier League | A Everton | 0-3 | Played | 45 | 6.3 | ||
| Dec 11 | UEFA Europa League | A Utrecht | 2-1 | Played | 45 | 6.9 | ||
| Dec 14 | Premier League | H Tottenham | 3-0 | Played | 90 | 1 | 2 | 9.9 |
| Dec 22 | Premier League | A Fulham | 0-1 | International duty | — | |||
| Dec 27 | Premier League | H Manchester City | 1-2 | International duty | — | |||
| Dec 30 | Premier League | H Everton | 0-2 | International duty | — | |||
| Jan 3 | Premier League | A Aston Villa | 1-3 | International duty | — | |||
| Jan 6 | Premier League | A West Ham | 2-1 | International duty | — | |||
| Jan 9 | FA Cup | A Wrexham | 3-3 | Not in squad | — | |||
| Jan 17 | Premier League | H Arsenal | 0-0 | Played | 90 | 7.3 | ||
| Jan 22 | UEFA Europa League | A SC Braga | 0-1 | Played | 15 | 6.3 | ||
| Jan 25 | Premier League | A Brentford | 2-0 | Played | 90 | 7.2 | ||
| Jan 29 | UEFA Europa League | H Ferencvarosi TC | 4-0 | Played | 66 | 1 | 8.2 | |
| Feb 1 | Premier League | H Crystal Palace | 1-1 | Played | 90 | 6.7 | ||
| Feb 6 | Premier League | A Leeds | 1-3 | Played | 90 | 6.5 | ||
| Feb 11 | Premier League | H Wolves | 0-0 | Played | 90 | 6.9 | ||
| Feb 19 | UEFA Europa League | A Fenerbahçe | 3-0 | Played | 90 | 6.6 | ||
| Feb 22 | Premier League | H Liverpool | 0-1 | Played | 90 | 7.0 | ||
| Feb 26 | UEFA Europa League | H Fenerbahçe | 1-2 | Played | 45 | 6.6 | ||
| Mar 1 | Premier League | A Brighton | 1-2 | Played | 90 | 6.6 | ||
| Mar 4 | Premier League | A Manchester City | 2-2 | Played | 90 | 6.3 | ||
| Mar 12 | UEFA Europa League | H FC Midtjylland | 0-1 | Played | 21 | 6.9 | ||
| Mar 15 | Premier League | H Fulham | 0-0 | Played | 90 | 7.0 | ||
| Mar 19 | UEFA Europa League | A FC Midtjylland | 2-1 | Played | 30 | 7.0 | ||
| Mar 22 | Premier League | A Tottenham | 3-0 | Played | 90 | 6.6 | ||
| Apr 9 | UEFA Europa League | A FC Porto | 1-1 | Played | 16 | 6.6 | ||
| Apr 12 | Premier League | H Aston Villa | 1-1 | Played | 90 | 6.6 | ||
| Apr 16 | UEFA Europa League | H FC Porto | 1-0 | Played | 90 | 8.0 | ||
| Apr 19 | Premier League | H Burnley | 4-1 | Played | 90 | 7.3 | ||
| Apr 24 | Premier League | A Sunderland | 5-0 | Played | 45 | 6.9 | ||
| Apr 30 | UEFA Europa League | H Aston Villa | 1-0 | Not in squad | — | |||
| May 4 | Premier League | A Chelsea | 3-1 | Injury | — | |||
| May 7 | UEFA Europa League | A Aston Villa | 0-4 | Unused sub | 0 | — | ||
| May 10 | Premier League | H Newcastle | 1-1 | Injury | — | |||
| May 17 | Premier League | A Manchester United | 2-3 | Played | 20 | 6.9 | ||
| May 24 | Premier League | H Bournemouth | 1-1 | Played | 65 | 6.7 |