plays for Oldham
| Match | Mins | Goals | Assists | Shots (on) | Rating |
|---|---|---|---|---|---|
| Shrewsbury v Oldham Β· Apr 11, 26 Β· EL2 | 57 | 0 | 0 | β | 6.7 |
| Oldham v Milton Keynes Dons Β· Apr 6, 26 Β· EL2 | 90 | 0 | 0 | β | 7.0 |
| Colchester v Oldham Β· Apr 3, 26 Β· EL2 | 90 | 1 | 0 | 1 (1) | 7.2 |
| Crewe v Oldham Β· Mar 28, 26 Β· EL2 | 90 | 0 | 0 | 1 | 6.2 |
| Oldham v Notts County Β· Mar 24, 26 Β· EL2 | 90 | 0 | 0 | 1 | 6.9 |
| Oldham v Harrogate Β· Mar 21, 26 Β· EL2 | 90 | 0 | 0 | 1 | 6.9 |
| Chesterfield v Oldham Β· Mar 17, 26 Β· EL2 | 90 | 0 | 0 | β | 7.6 |
| Oldham v Grimsby Β· Mar 14, 26 Β· EL2 | 90 | 0 | 0 | 1 | 6.7 |
| Tranmere v Oldham Β· Mar 7, 26 Β· EL2 | 90 | 0 | 0 | β | 6.9 |
| Bromley v Oldham Β· Mar 3, 26 Β· EL2 | 90 | 0 | 0 | 1 | 7.2 |
| Oldham v Crawley Town Β· Feb 28, 26 Β· EL2 | 90 | 0 | 0 | 1 (1) | 7.3 |
| Gillingham v Oldham Β· Feb 21, 26 Β· EL2 | 90 | 0 | 0 | β | 7.0 |
| Oldham v Fleetwood Town Β· Feb 14, 26 Β· EL2 | 90 | 0 | 0 | β | 7.5 |
| Swindon v Oldham Β· Feb 7, 26 Β· EL2 | 90 | 0 | 0 | β | 5.9 |
| Oldham v Cambridge Β· Jan 31, 26 Β· EL2 | 90 | 0 | 0 | β | 6.5 |
| Match | blocks | conceded | duels | duels won | fouls committed | fouls drawn | interceptions | passes | red | tackles | yellow |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Shrewsbury v Oldham | β | 0 | 3 | 3 | β | β | 1 | 19 | 0 | 1 | 0 |
| Oldham v Milton Keynes Dons | 1 | 0 | 6 | 5 | β | β | 2 | 43 | 0 | 2 | 0 |
| Colchester v Oldham | 1 | 0 | 10 | 6 | 1 | 2 | β | 25 | 0 | 2 | 0 |
| Crewe v Oldham | β | 0 | 6 | 3 | β | 1 | 1 | 26 | 0 | 1 | 0 |
| Oldham v Notts County | β | 0 | 9 | 7 | β | β | 1 | 23 |
| Season | Team | Apps | Goals | Assists | Minutes | Avg rating |
|---|---|---|---|---|---|---|
| 2025-26 Β· EFL League Two | Oldham | 37 | 1 | 0 | 3,232 | 6.86 |
| 2024-25 Β· EFL League Two | Walsall | 7 | 0 | 0 | 379 | 6.67 |
| 2023-24 Β· EFL League Two | Walsall | 35 | 1 | 2 | 3,107 | 6.96 |
| 2022-23 Β· EFL League Two | Walsall | 39 | 2 | 0 | 3,293 | 6.84 |
| 2021-22 Β· EFL League Two | Walsall | 17 | 1 | 0 | 1,406 | 6.94 |
only matches where we hold the full stat line β coverage grows as the history backfill runs
| 0 |
| 4 |
| 0 |
| Oldham v Harrogate | β | 0 | 4 | 2 | β | 1 | 2 | 31 | 0 | β | 0 |
| Chesterfield v Oldham | 1 | 0 | 9 | 7 | β | β | 1 | 23 | 0 | 2 | 0 |
| Oldham v Grimsby | 1 | 0 | 9 | 4 | 1 | 1 | β | 22 | 0 | β | 0 |
| Tranmere v Oldham | 3 | 0 | 16 | 7 | 1 | 1 | 1 | 38 | 0 | β | 0 |
| Bromley v Oldham | 1 | 0 | 11 | 5 | 2 | 2 | β | 30 | 0 | 1 | 0 |
| Oldham v Crawley Town | 1 | 0 | 2 | 2 | β | β | 1 | 24 | 0 | β | 0 |
| Gillingham v Oldham | β | 0 | 7 | 4 | β | 1 | 2 | 20 | 0 | 1 | 0 |
| Oldham v Fleetwood Town | 2 | 0 | 22 | 13 | β | 3 | β | 33 | 0 | 2 | 0 |
| Swindon v Oldham | β | 0 | 9 | 4 | 1 | 2 | β | 24 | 0 | 1 | 1 |
| Oldham v Cambridge | 1 | 0 | 8 | 6 | β | 2 | 1 | 30 | 0 | β | 0 |