| Temporada | Equipo | Competición | PJ | G | A | Nota | ||
|---|---|---|---|---|---|---|---|---|
| 2025/2026 | Barrow | League Two | 11 | 0 | 1 | 2 | 0 | 6.5 |
| 2024/2025 | Exeter | League One | 15 | 1 | 0 | 4 | 0 | 7.0 |
| 2024/2025 | Aberdeen | Premiership | 5 | 0 | 0 | 0 | 0 | 6.6 |
| 2023/2024 | Aberdeen | Premiership | 20 | 0 | 0 | 1 | 1 | 6.8 |
| 2022/2023 | Aberdeen | Premiership | 15 | 0 | 0 | 2 | 0 | 6.9 |
| 2022/2023 | Swindon | League Two | 16 | 0 | 0 | 5 | 0 | 6.9 |
| 2021/2022 | Rotherham | League One | 7 | 0 | 0 | 0 | 1 | 6.6 |
| 2020/2021 | Rotherham | Championship | 39 | 1 | 0 | 9 | 0 | 6.7 |
| 2019/2020 | Hull | Championship | 5 | 0 | 0 | 0 | 0 | 6.8 |
| 2018/2019 | Hull | Championship | 1 | 0 | 0 | 0 | 0 | 6.7 |
| 2017/2018 | Hull | Championship | 12 | 0 | 0 | 2 | 0 | 6.6 |
| 2017/2018 | Barnsley | Championship | 11 | 0 | 0 | 0 | 1 | 6.6 |
| 2016/2017 | Barnsley | Championship | 39 | 1 | 1 | 7 | 0 | 7.2 |
| 2015/2016 | Torquay | National League | 32 | 2 | 0 | 9 | 0 | – |
| 2014/2015 | Torquay | Vanarama Conference | 10 | 1 | 0 | 10 | 1 | – |
| 2013/2014 | Salisbury | The Skrill Premier | 10 | 2 | 0 | 7 | 2 | – |
| 2012/2013 | Torquay | League Two | 7 | 0 | 0 | 4 | 0 | – |
| 2012/2013 | AFC Wimbledon | League Two | 2 | 0 | 0 | 0 | 0 | – |
| 2011/2012 | Torquay | League Two | 3 | 0 | 0 | 1 | 0 | – |
| Total | 260 | 8 | 2 | 63 | 6 | – | ||
| Fecha | Desde | Hacia | Tipo | |
|---|---|---|---|---|
| 03 may 2026 | Exeter | Barrow | Free agent | |
| 02 mar 2025 | Aberdeen | Exeter | Free agent | |
| - | Swindon | Aberdeen | Free agent | |
| - | Rotherham | Swindon | Free agent | |
| - | Hull | Rotherham | Free agent | |
| - | Barnsley | Hull | Transfer | |
| 08 feb 2016 | Torquay | Barnsley | Transfer | |
| - | Salisbury | Torquay | Free agent | |
| - | Reading | Salisbury | Free agent | |
| - | Torquay | Reading | Return from loan | |
| - | Reading | Torquay | Loan | |
| - | AFC Wimbledon | Reading | Return from loan | |
| - | Reading | AFC Wimbledon | Loan | |
| - | Torquay | Reading | Return from loan | |
| 02 ago 2012 | Reading | Torquay | Loan | |
| 02 ene 2012 | Basingstoke | Reading | Return from loan | |
| - | Reading | Basingstoke | Loan |
A. MacDonald career history shows progression across clubs and competitions, including club timeline, national team appearances and overall career totals.