J. Willis · career
Jordan Kenneth Willis
Center Back · Northampton · season-by-season, by competition, and every match.
Career report
Below his 2023/24 peak but holding a solid level — the platform for a return is there.
Peak: 2023/24Holding levelRemarkably consistent
The record covers 5 seasons (2020/21–2025/26) across 3 clubs — 96 appearances with 2 goal contributions from defence.
His best campaign on record is 2023/24 at Northampton — Season rating 11, 0 goals and 0 assists in 29 games. Output has held steady across his last 3 full seasons (11 → 7). The gap to his peak is 4 Season points.
Season-to-season output barely moves — his form has stayed within a tight band (±2 points) across 5 campaigns.
By season
| Season | Club | Apps | G | A | Rating | Season |
|---|---|---|---|---|---|---|
| 2025/26 | Northampton | 16 | 1 | 0 | 17 | 7 |
| 2024/25 | Northampton | 21 | 0 | 0 | 24 | 6 |
| 2023/24 | Northampton | 29 | 0 | 0 | 31 | 11 |
| 2022/23 | Wycombe | 15 | 0 | 0 | 30 | 4 |
| 2020/21 | Sunderland | 15 | 0 | 1 | 41 | 10 |
| 2019/20 | Sunderland | 35 | 2 | 1 | — | — |
| 2018/19 | Coventry | 38 | 1 | 0 | — | — |
| 2017/18 | Coventry | 37 | 1 | 0 | — | — |
| 2016/17 | Coventry | 36 | 3 | 0 | — | — |
| 2015/16 | Coventry | 4 | 0 | 0 | — | — |
| 2014/15 | Coventry | 34 | 0 | 0 | — | — |
| 2013/14 | Coventry | 28 | 0 | 0 | — | — |
| 2012/13 | Coventry | 1 | 0 | 0 | — | — |
| 2011/12 | Coventry | 3 | 0 | 0 | — | — |
Honours
EFL Trophy×3
By competition
| Competition | Apps | Min | G | A | Rating |
|---|---|---|---|---|---|
| League One | 16 | 735 | 1 | 0 | 6.8 |
| EFL Trophy | 6 | 383 | 0 | 0 | 6.8 |
| League Cup | 1 | 64 | 0 | 0 | 6.3 |
Schedule · 2025/26
22 played10 unused sub· 1182 min, 1g 0a
| Date | Competition | Opponent | Res | Status | Min | G | A | Rating |
|---|---|---|---|---|---|---|---|---|
| Aug 2 | League One | A Wigan | 1-3 | Played | 1 | — | ||
| Aug 9 | League One | H Bradford | 0-0 | Unused sub | 0 | — | ||
| Aug 12 | League Cup | H Southampton | 0-1 | Played | 64 | 6.3 | ||
| Aug 16 | League One | A Stevenage | 0-2 | Unused sub | 0 | — | ||
| Aug 19 | League One | H Lincoln | 0-1 | Unused sub | 0 | — | ||
| Aug 23 | League One | H Exeter City | 2-0 | Unused sub | 0 | — | ||
| Sep 27 | League One | H Bolton | 2-0 | Unused sub | 0 | — | ||
| Oct 4 | League One | A Port Vale | 0-0 | Unused sub | 0 | — | ||
| Oct 7 | EFL Trophy | A Walsall | 1-0 | Played | 90 | 7.2 | ||
| Oct 11 | League One | H Rotherham | 1-2 | Unused sub | 0 | — | ||
| Oct 18 | League One | A Doncaster | 2-1 | Played | 45 | 6.7 | ||
| Oct 21 | League One | A Reading | 0-1 | Played | 72 | 6.7 | ||
| Oct 25 | League One | H Luton | 0-1 | Played | 23 | 6.2 | ||
| Nov 8 | League One | H Mansfield Town | 2-1 | Played | 90 | 7.0 | ||
| Nov 11 | EFL Trophy | H Shrewsbury | 2-1 | Unused sub | 0 | — | ||
| Nov 22 | League One | H Cardiff | 1-3 | Unused sub | 0 | — | ||
| Nov 29 | League One | A Plymouth | 3-0 | Played | 15 | 1 | 7.9 | |
| Dec 2 | EFL Trophy | H Wycombe | 2-0 | Played | 54 | 7.2 | ||
| Dec 26 | League One | A Burton Albion | 1-5 | Played | 45 | 6.9 | ||
| Dec 29 | League One | A Huddersfield | 0-2 | Unused sub | 0 | — | ||
| Jan 1 | League One | H Stockport County | 0-0 | Played | 61 | 6.5 | ||
| Jan 4 | League One | A Bolton | 0-0 | Played | 25 | 7.0 | ||
| Jan 14 | EFL Trophy | H Walsall | 4-2 | Played | 90 | 6.6 | ||
| Jan 17 | League One | H Wycombe | 1-2 | Played | 29 | 6.7 | ||
| Jan 24 | League One | A Blackpool | 0-2 | Played | 9 | 6.9 | ||
| Jan 27 | League One | A Rotherham | 1-2 | Played | 71 | 6.7 | ||
| Feb 3 | League One | A Barnsley | 2-2 | Played | 59 | 6.9 | ||
| Feb 10 | EFL Trophy | A AFC Wimbledon | 2-1 | Played | 80 | 6.6 | ||
| Feb 17 | League One | A Lincoln | 0-4 | Played | 55 | 6.2 | ||
| Mar 4 | EFL Trophy | A Luton | 1-2 | Played | 69 | 6.5 | ||
| Mar 21 | League One | A Mansfield Town | 1-4 | Played | 45 | 6.3 | ||
| May 2 | League One | H Plymouth | 2-3 | Played | 90 | 6.9 |