Full Back · Manchester City · season-by-season, by competition, and every match.
Past his 2024/25 peak — the recent trend is downward, so buyers are paying for what's left, not what was.
The record covers 5 seasons (2021/22–2025/26) across 2 clubs, including a move abroad — 152 appearances with 19 goal contributions from defence.
His best campaign on record is 2024/25 at Manchester City — Season rating 54, 5 goals and 0 assists in 38 games. Form has slipped 18 Season points across his last 3 full seasons. The gap to his peak is 28 Season points.
2025/26 was disrupted — 18 fixtures missed through injury or absence.
| Season | Club | Apps | G | A | Rating | Season |
|---|---|---|---|---|---|---|
| 2025/26 | Manchester City | 18 | 2 | 2 | 86 | 26 |
| 2024/25 | Manchester City | 38 | 5 | 0 | 99 | 54 |
| 2023/24 | Manchester City | 35 | 4 | 1 | 94 | 44 |
| 2022/23 | RB Leipzig | 32 | 1 | 0 | 84 | 35 |
| 2021/22 | RB Leipzig | 29 | 2 | 2 | 86 | 47 |
| Competition | Apps | Min | G | A | Rating |
|---|---|---|---|---|---|
| Premier League | 18 | 1386 | 2 | 2 | 7.0 |
| UEFA Champions League | 5 | 440 | 0 | 1 | 7.4 |
| FIFA Club World Cup | 3 | 53 | 0 | 0 | 6.9 |
| League Cup | 2 | 52 | 0 | 1 | 6.9 |
| Date | Competition | Opponent | Res | Status | Min | G | A | Rating |
|---|---|---|---|---|---|---|---|---|
| Jun 18 | FIFA Club World Cup | H Wydad AC | 2-0 | Unused sub | 0 | — | ||
| Jun 23 | FIFA Club World Cup | H Al Ain | 6-0 | Played | 74 | 7.3 | ||
| Jun 26 | FIFA Club World Cup | A Juventus | 5-2 | Unused sub | 0 | — | ||
| Jul 1 | FIFA Club World Cup | H Al-Hilal Saudi FC | 3-4 | Played | 53 | 6.9 | ||
| Aug 9 | Friendlies Clubs | A Palermo | 3-0 | Not in squad | — | |||
| Aug 16 | Premier League | A Wolves | 4-0 | Contusion | — | |||
| Aug 23 | Premier League | H Tottenham | 0-2 | Contusion | — | |||
| Aug 31 | Premier League | A Brighton | 1-2 | Contusion | — | |||
| Sep 14 | Premier League | H Manchester United | 3-0 | Played | 90 | 6.9 | ||
| Sep 18 | UEFA Champions League | H Napoli | 2-0 | Played | 80 | 8.0 | ||
| Sep 21 | Premier League | A Arsenal | 1-1 | Played | 90 | 7.2 | ||
| Sep 24 | League Cup | A Huddersfield | 2-0 | Not in squad | — | |||
| Sep 27 | Premier League | H Burnley | 5-1 | Played | 70 | 6.9 | ||
| Oct 1 | UEFA Champions League | A Monaco | 2-2 | Played | 90 | 1 | 7.7 | |
| Oct 5 | Premier League | A Brentford | 1-0 | Played | 90 | 1 | 7.7 | |
| Oct 18 | Premier League | H Everton | 2-0 | Unused sub | 0 | — | ||
| Oct 21 | UEFA Champions League | A Villarreal | 2-0 | Played | 90 | 7.3 | ||
| Oct 26 | Premier League | A Aston Villa | 0-1 | Played | 90 | 6.5 | ||
| Oct 29 | League Cup | A Swansea | 3-1 | Played | 27 | 1 | 6.9 | |
| Nov 2 | Premier League | H Bournemouth | 3-1 | Played | 90 | 6.6 | ||
| Nov 5 | UEFA Champions League | H Borussia Dortmund | 4-1 | Played | 90 | 6.9 | ||
| Nov 9 | Premier League | H Liverpool | 3-0 | Played | 90 | 7.2 | ||
| Nov 22 | Premier League | A Newcastle | 1-2 | Played | 90 | 6.5 | ||
| Nov 25 | UEFA Champions League | H Bayer Leverkusen | 0-2 | Unused sub | 0 | — | ||
| Nov 29 | Premier League | H Leeds | 3-2 | Played | 90 | 1 | 6.3 | |
| Dec 2 | Premier League | A Fulham | 5-4 | Played | 90 | 6.6 | ||
| Dec 6 | Premier League | H Sunderland | 3-0 | Played | 70 | 1 | 8.3 | |
| Dec 10 | UEFA Champions League | A Real Madrid | 2-1 | Played | 90 | 7.2 | ||
| Dec 14 | Premier League | A Crystal Palace | 3-0 | Played | 90 | 7.2 | ||
| Dec 17 | League Cup | H Brentford | 2-0 | Played | 25 | 6.9 | ||
| Dec 20 | Premier League | H West Ham | 3-0 | Played | 90 | 7.3 | ||
| Dec 27 | Premier League | A Nottingham Forest | 2-1 | Played | 90 | 1 | 7.3 | |
| Jan 1 | Premier League | A Sunderland | 0-0 | Played | 33 | 6.6 | ||
| Jan 4 | Premier League | H Chelsea | 1-1 | Played | 51 | 7.3 | ||
| Jan 7 | Premier League | H Brighton | 1-1 | Not in squad | — | |||
| Jan 10 | FA Cup | H Exeter City | 10-1 | Not in squad | — | |||
| Jan 13 | League Cup | A Newcastle | 2-0 | Not in squad | — | |||
| Jan 17 | Premier League | A Manchester United | 0-2 | Broken Leg | — | |||
| Jan 20 | UEFA Champions League | A Bodo/Glimt | 1-3 | Not in squad | — | |||
| Jan 24 | Premier League | H Wolves | 2-0 | Broken Leg | — | |||
| Jan 28 | UEFA Champions League | H Galatasaray | 2-0 | Not in squad | — | |||
| Feb 1 | Premier League | A Tottenham | 2-2 | Broken Leg | — | |||
| Feb 4 | League Cup | H Newcastle | 3-1 | Not in squad | — | |||
| Feb 8 | Premier League | A Liverpool | 2-1 | Broken Leg | — | |||
| Feb 11 | Premier League | H Fulham | 3-0 | Broken Leg | — | |||
| Feb 14 | FA Cup | H Salford City | 2-0 | Not in squad | — | |||
| Feb 21 | Premier League | H Newcastle | 2-1 | Broken Leg | — | |||
| Feb 28 | Premier League | A Leeds | 1-0 | Broken Leg | — | |||
| Mar 4 | Premier League | H Nottingham Forest | 2-2 | Broken Leg | — | |||
| Mar 7 | FA Cup | A Newcastle | 3-1 | Not in squad | — | |||
| Mar 11 | UEFA Champions League | A Real Madrid | 0-3 | Not in squad | — | |||
| Mar 14 | Premier League | A West Ham | 1-1 | Broken Leg | — | |||
| Mar 17 | UEFA Champions League | H Real Madrid | 1-2 | Not in squad | — | |||
| Mar 22 | League Cup | A Arsenal | 2-0 | Not in squad | — | |||
| Apr 4 | FA Cup | H Liverpool | 4-0 | Not in squad | — | |||
| Apr 12 | Premier League | A Chelsea | 3-0 | Broken Leg | — | |||
| Apr 19 | Premier League | H Arsenal | 2-1 | Broken Leg | — | |||
| Apr 22 | Premier League | A Burnley | 1-0 | Broken Leg | — | |||
| Apr 25 | FA Cup | H Southampton | 2-1 | Not in squad | — | |||
| May 4 | Premier League | A Everton | 3-3 | Broken Leg | — | |||
| May 9 | Premier League | H Brentford | 3-0 | Broken Leg | — | |||
| May 13 | Premier League | H Crystal Palace | 3-0 | Played | 58 | 6.9 | ||
| May 16 | FA Cup | A Chelsea | 1-0 | Not in squad | — | |||
| May 19 | Premier League | A Bournemouth | 1-1 | Unused sub | 0 | — | ||
| May 24 | Premier League | H Aston Villa | 1-2 | Played | 12 | 6.6 |