Full Back · Liverpool · season-by-season, by competition, and every match.
Below his 2022/23 peak but holding a solid level — the platform for a return is there.
The record covers 5 seasons (2021/22–2025/26) across 4 clubs, including a move abroad — 145 appearances with 16 goal contributions from defence.
His best campaign on record is 2022/23 at AZ Alkmaar — Season rating 52, 3 goals and 1 assist in 33 games. 2022/23 was the leap — Season rating up 42 points at AZ Alkmaar. Output has held steady across his last 3 full seasons (27 → 29). The gap to his peak is 23 Season points.
Made the jump to a higher division in 2022/23 (Eredivisie) and kept playing — 33 games that season.
| Season | Club | Apps | G | A | Rating | Season |
|---|---|---|---|---|---|---|
| 2025/26 | Liverpool | 34 | 2 | 1 | 88 | 29 |
| 2024/25 | Bournemouth | 38 | 2 | 5 | 100 | 38 |
| 2023/24 | Bournemouth | 31 | 0 | 1 | 85 | 27 |
| 2022/23 | AZ Alkmaar | 33 | 3 | 1 | 78 | 52 |
| 2021/22 | Jong AZ | 9 | 0 | 1 | 51 | 10 |
| Competition | Apps | Min | G | A | Rating |
|---|---|---|---|---|---|
| Premier League | 34 | 2301 | 2 | 1 | 6.6 |
| UEFA Champions League | 9 | 607 | 0 | 0 | 6.7 |
| Friendlies | 4 | 259 | 0 | 0 | 6.6 |
| FA Cup | 2 | 180 | 0 | 1 | 6.5 |
| League Cup | 2 | 99 | 0 | 0 | 6.3 |
| Community Shield | 1 | 84 | 0 | 0 | 7.3 |
| Friendlies Clubs | 1 | 11 | 0 | 0 | 6.7 |
| Date | Competition | Opponent | Res | Status | Min | G | A | Rating |
|---|---|---|---|---|---|---|---|---|
| Jul 13 | Friendlies Clubs | A Preston | 3-1 | Not in squad | — | |||
| Jul 26 | Friendlies Clubs | H AC Milan | 2-4 | Not in squad | — | |||
| Jul 30 | Friendlies Clubs | A Yokohama F. Marinos | 3-1 | Not in squad | — | |||
| Aug 4 | Friendlies Clubs | H Athletic Club | 3-2 | Not in squad | — | |||
| Aug 10 | Community Shield | A Crystal Palace | 2-2 | Played | 84 | 7.3 | ||
| Aug 15 | Premier League | H Bournemouth | 4-2 | Played | 60 | 6.9 | ||
| Aug 25 | Premier League | A Newcastle | 3-2 | Played | 90 | 6.5 | ||
| Aug 31 | Premier League | H Arsenal | 1-0 | Played | 90 | 7.9 | ||
| Sep 14 | Premier League | A Burnley | 1-0 | Played | 38 | 6.3 | ||
| Sep 17 | UEFA Champions League | H Atletico Madrid | 3-2 | Played | 11 | 6.6 | ||
| Sep 20 | Premier League | H Everton | 2-1 | Played | 90 | 6.9 | ||
| Sep 23 | League Cup | H Southampton | 2-1 | Played | 9 | 6.6 | ||
| Sep 27 | Premier League | A Crystal Palace | 1-2 | Played | 90 | 5.9 | ||
| Sep 30 | UEFA Champions League | A Galatasaray | 0-1 | Played | 90 | 6.2 | ||
| Oct 4 | Premier League | A Chelsea | 1-2 | Played | 55 | 6.2 | ||
| Oct 19 | Premier League | H Manchester United | 1-2 | Played | 90 | 6.3 | ||
| Oct 22 | UEFA Champions League | A Eintracht Frankfurt | 5-1 | Unused sub | 0 | — | ||
| Oct 25 | Premier League | A Brentford | 2-3 | Played | 61 | 1 | 6.9 | |
| Oct 29 | League Cup | H Crystal Palace | 0-3 | Played | 90 | 5.9 | ||
| Nov 1 | Premier League | H Aston Villa | 2-0 | Unused sub | 0 | — | ||
| Nov 4 | UEFA Champions League | H Real Madrid | 1-0 | Played | 8 | 6.7 | ||
| Nov 9 | Premier League | A Manchester City | 0-3 | Played | 34 | 6.3 | ||
| Nov 22 | Premier League | H Nottingham Forest | 0-3 | Played | 68 | 6.2 | ||
| Nov 26 | UEFA Champions League | H PSV Eindhoven | 1-4 | Played | 90 | 6.2 | ||
| Nov 30 | Premier League | A West Ham | 2-0 | Played | 85 | 6.9 | ||
| Dec 3 | Premier League | H Sunderland | 1-1 | Played | 13 | 6.7 | ||
| Dec 6 | Premier League | A Leeds | 3-3 | Played | 90 | 6.2 | ||
| Dec 9 | UEFA Champions League | A Inter | 1-0 | Unused sub | 0 | — | ||
| Dec 13 | Premier League | H Brighton | 2-0 | Played | 90 | 7.3 | ||
| Dec 20 | Premier League | A Tottenham | 2-1 | Played | 90 | 6.9 | ||
| Dec 27 | Premier League | H Wolves | 2-1 | Played | 90 | 6.6 | ||
| Jan 1 | Premier League | H Leeds | 0-0 | Played | 24 | 6.6 | ||
| Jan 4 | Premier League | A Fulham | 2-2 | Played | 90 | 6.2 | ||
| Jan 8 | Premier League | A Arsenal | 0-0 | Played | 90 | 7.7 | ||
| Jan 12 | FA Cup | H Barnsley | 4-1 | Unused sub | 0 | — | ||
| Jan 17 | Premier League | H Burnley | 1-1 | Played | 78 | 6.9 | ||
| Jan 21 | UEFA Champions League | A Marseille | 3-0 | Played | 90 | 7.3 | ||
| Jan 24 | Premier League | A Bournemouth | 2-3 | Played | 45 | 6.3 | ||
| Jan 28 | UEFA Champions League | H Qarabag | 6-0 | Unused sub | 0 | — | ||
| Jan 31 | Premier League | H Newcastle | 4-1 | Played | 90 | 1 | 6.6 | |
| Feb 8 | Premier League | H Manchester City | 1-2 | Played | 89 | 6.0 | ||
| Feb 11 | Premier League | A Sunderland | 1-0 | Unused sub | 0 | — | ||
| Feb 14 | FA Cup | H Brighton | 3-0 | Played | 90 | 1 | 7.3 | |
| Feb 22 | Premier League | A Nottingham Forest | 1-0 | Played | 83 | 6.9 | ||
| Feb 28 | Premier League | H West Ham | 5-2 | Played | 90 | 6.5 | ||
| Mar 3 | Premier League | A Wolves | 1-2 | Played | 65 | 6.7 | ||
| Mar 6 | FA Cup | A Wolves | 3-1 | Unused sub | 0 | — | ||
| Mar 10 | UEFA Champions League | A Galatasaray | 0-1 | Played | 60 | 6.2 | ||
| Mar 15 | Premier League | H Tottenham | 1-1 | Unused sub | 0 | — | ||
| Mar 18 | UEFA Champions League | H Galatasaray | 4-0 | Played | 90 | 7.7 | ||
| Mar 21 | Premier League | A Brighton | 1-2 | Played | 76 | 1 | 6.7 | |
| Apr 4 | FA Cup | A Manchester City | 0-4 | Played | 90 | 5.7 | ||
| Apr 8 | UEFA Champions League | A Paris Saint Germain | 0-2 | Played | 78 | 6.7 | ||
| Apr 11 | Premier League | H Fulham | 2-0 | Unused sub | 0 | — | ||
| Apr 14 | UEFA Champions League | H Paris Saint Germain | 0-2 | Played | 90 | 7.0 | ||
| Apr 19 | Premier League | A Everton | 2-1 | Played | 17 | 6.6 | ||
| Apr 25 | Premier League | H Crystal Palace | 3-1 | Played | 11 | 6.9 | ||
| May 3 | Premier League | A Manchester United | 2-3 | Played | 31 | 6.7 | ||
| May 9 | Premier League | H Chelsea | 1-1 | Played | 90 | 6.5 | ||
| May 15 | Premier League | A Aston Villa | 2-4 | Played | 90 | 5.9 | ||
| May 24 | Premier League | H Brentford | 1-1 | Played | 18 | 6.6 |