plays for Exeter
| Match | Mins | Goals | Assists | Shots (on) | Rating |
|---|---|---|---|---|---|
| Exeter v Bolton Β· Feb 28, 26 Β· EL1 | 81 | 0 | 0 | β | 5.7 |
| Mansfield v Exeter Β· Feb 7, 26 Β· EL1 | 45 | 0 | 0 | β | 7.0 |
| Exeter v Rotherham Β· Jan 31, 26 Β· EL1 | 90 | 0 | 0 | 1 | 6.3 |
| Reading v Exeter Β· Jan 27, 26 Β· EL1 | 90 | 0 | 0 | β | 6.3 |
| Port Vale v Exeter Β· Jan 24, 26 Β· EL1 | 90 | 0 | 0 | β | 6.9 |
| Exeter v Stevenage Β· Jan 17, 26 Β· EL1 | 90 | 0 | 0 | β | 7.9 |
| Huddersfield v Exeter Β· Jan 4, 26 Β· EL1 | 90 | 0 | 0 | β | 7.0 |
| Exeter v Luton Β· Jan 1, 26 Β· EL1 | 90 | 0 | 0 | 1 (1) | 7.5 |
| AFC Wimbledon v Exeter Β· Dec 29, 25 Β· EL1 | 90 | 0 | 0 | 1 | 7.0 |
| Cardiff v Exeter Β· Dec 26, 25 Β· EL1 | 90 | 0 | 0 | β | 6.9 |
| Exeter v Barnsley Β· Dec 20, 25 Β· EL1 | 90 | 0 | 0 | 2 | 7.7 |
| Exeter v AFC Wimbledon Β· Dec 9, 25 Β· EL1 | 90 | 0 | 0 | β | 7.6 |
| Bradford v Exeter Β· Nov 29, 25 Β· EL1 | 90 | 0 | 0 | 1 | 6.6 |
| Leyton Orient v Exeter Β· Nov 15, 25 Β· EL1 | 90 | 0 | 0 | β | 6.5 |
| Exeter v Wigan Β· Nov 8, 25 Β· EL1 | 90 | 0 | 0 | 2 | 6.9 |
| Match | blocks | conceded | dribbles past | duels | duels won | fouls committed | fouls drawn | interceptions | key passes | passes | red | tackles | yellow |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Exeter v Bolton | β | 0 | 1 | 9 | 3 | 2 | 1 | 2 | β | 36 | 0 | 1 | 1 |
| Mansfield v Exeter | β | 0 | β | 4 | 3 | β | β | β | β | 39 | 0 | β | 0 |
| Exeter v Rotherham | β | 0 | β | 5 | 4 | β | β | 2 | 1 | 99 | 0 | β | 0 |
| Reading v Exeter | 1 | 0 | β | 7 | 6 | β | β | 2 | β | 54 | 0 | 4 |
| Season | Team | Apps | Goals | Assists | Minutes | Avg rating |
|---|---|---|---|---|---|---|
| 2025-26 Β· EFL League One | Exeter | 29 | 1 | 1 | 2,556 | 7.07 |
| 2024-25 Β· EFL League One | Exeter | 14 | 0 | 0 | 930 | 6.62 |
| 2022-23 Β· Scottish Premiership | Livingston | 28 | 1 | 0 | 2,253 | 6.64 |
| 2021-22 Β· Scottish Premiership | Livingston | 38 | 3 | 0 | 3,363 | 6.91 |
| 2020-21 Β· Scottish Premiership | Livingston | 20 | 1 | 1 | 1,734 | 6.68 |
only matches where we hold the full stat line β coverage grows as the history backfill runs
| 0 |
| Port Vale v Exeter | 1 | 0 | 1 | 11 | 5 | 1 | β | 2 | β | 36 | 0 | β | 0 |
| Exeter v Stevenage | β | 0 | β | 10 | 9 | 1 | 3 | 1 | β | 41 | 0 | 2 | 0 |
| Huddersfield v Exeter | 2 | 0 | 1 | 9 | 6 | 1 | β | 2 | β | 81 | 0 | 2 | 0 |
| Exeter v Luton | β | 0 | β | 5 | 4 | β | 1 | 1 | β | 34 | 0 | 1 | 0 |
| AFC Wimbledon v Exeter | 1 | 0 | β | 5 | 3 | β | β | 1 | β | 47 | 0 | β | 0 |
| Cardiff v Exeter | 2 | 0 | β | 4 | 2 | 1 | β | 1 | β | 29 | 0 | 2 | 0 |
| Exeter v Barnsley | 3 | 0 | β | 3 | 2 | 1 | β | β | β | 59 | 0 | 1 | 0 |
| Exeter v AFC Wimbledon | 3 | 0 | β | 6 | 4 | 1 | 1 | 1 | β | 75 | 0 | β | 1 |
| Bradford v Exeter | β | 0 | 1 | 12 | 7 | β | 1 | 1 | β | 40 | 0 | 2 | 0 |
| Leyton Orient v Exeter | β | 0 | β | 4 | 3 | β | β | β | β | 35 | 0 | 1 | 0 |
| Exeter v Wigan | 1 | 0 | β | 14 | 8 | 3 | 2 | 1 | β | 89 | 0 | 2 | 0 |