| Saison | Compétition | Club | MJ. | B | P | J/JR/R | Min. J. | 
|---|---|---|---|---|---|---|---|
| 2024/2025 | Coupe d'Écosse |  Arbroath | 1 | 0 | 0 | 0/0/0 | 24 | 
| 2024/2025 | Challenge Cup |  Arbroath | 2 | 0 | 0 | 0/0/0 | 28 | 
| 2024/2025 | League One |  Arbroath | 21 | 7 | 2 | 0/0/0 | 337 | 
| 2024/2025 | League Cup |  Arbroath | 1 | 1 | 0 | 0/0/0 | 35 | 
| 2023/2024 | Coupe d'Écosse |  Queen of the South | 1 | 1 | 0 | 0/0/0 | 83 | 
| 2023/2024 | Challenge Cup |  Queen of the South | 1 | 1 | 0 | 0/0/0 | 14 | 
| 2023/2024 | League One |  Queen of the South | 30 | 9 | 5 | 4/0/0 | 329 | 
| 2023/2024 | League Cup |  Queen of the South | 4 | 3 | 0 | 0/0/0 | 350 | 
| 2022/2023 | League Cup |  Queen of the South | 1 | 0 | 0 | 0/0/0 | 67 | 
| 2022/2023 | Coupe d'Écosse |  Queen of the South | 1 | 0 | 0 | 1/0/0 | 0 | 
| 2022/2023 | Challenge Cup |  Queen of the South | 2 | 0 | 0 | 0/0/0 | 0 | 
| 2022/2023 | League One |  Queen of the South | 17 | 5 | 6 | 1/0/0 | 967 | 
| 2022/2023 | League Two |  Stenhousemuir | 11 | 2 | 0 | 1/0/0 | 212 | 
| 2021/2022 | League Cup |  Livingston | 3 | 0 | 0 | 0/0/0 | 46 | 
| 2021/2022 | Premiership |  Livingston | 1 | 0 | 0 | 0/0/0 | 18 | 
| 2021/2022 | Coupe d'Écosse |  Greenock Morton | 3 | 1 | 0 | 0/0/0 | 90 | 
| 2021/2022 | Challenge Cup |  Greenock Morton | 3 | 0 | 1 | 0/0/0 | 163 | 
| 2021/2022 | Championship |  Greenock Morton | 29 | 5 | 2 | 1/0/0 | 2224 | 
| 2021/2022 | League Cup |  Greenock Morton | 0 | 0 | 0 | 0/0/0 | 0 | 
| 2021 | Matchs Amicaux équipes |  Greenock Morton | 0 | 0 | 0 | 0/0/0 | 0 | 
| 2020/2021 | Championship Play-Offs |  Greenock Morton | 0 | 0 | 0 | 0/0/0 | 0 | 
| 2020/2021 | League Two |  Carlisle United | 16 | 0 | 0 | 1/0/0 | 414 | 
| 2020/2021 | FA Cup |  Carlisle United | 2 | 0 | 0 | 0/0/0 | 90 | 
| 2020/2021 | Carabao Cup |  Carlisle United | 1 | 0 | 0 | 0/0/0 | 44 | 
| 2020/2021 | EFL Trophy |  Carlisle United | 2 | 1 | 0 | 0/0/0 | 180 | 
| 2020/2021 | Premiership |  Livingston | 5 | 0 | 0 | 0/0/0 | 198 | 
| 2020/2021 | League Cup |  Livingston | 2 | 0 | 0 | 0/0/0 | 42 | 
| 2019/2020 | League Two |  Cheltenham Town | 21 | 4 | 2 | 0/0/0 | 1380 | 
| 2019/2020 | FA Cup |  Cheltenham Town | 1 | 0 | 0 | 0/0/0 | 45 | 
| 2019/2020 | League One |  Bristol Rovers | 4 | 0 | 0 | 0/0/0 | 152 | 
| 2018/2019 | Carabao Cup |  Bristol Rovers | 1 | 0 | 0 | 0/0/0 | 0 | 
| 2018/2019 | League One |  Bristol Rovers | 30 | 4 | 0 | 1/0/0 | 226 | 
| 2018/2019 | EFL Trophy |  Bristol Rovers | 4 | 0 | 0 | 0/0/0 | 192 | 
| 2017/2018 | Championship |  St. Mirren | 34 | 11 | 3 | 1/0/0 | 2281 | 
| 2017/2018 | Coupe d'Écosse |  St. Mirren | 1 | 3 | 0 | 0/0/0 | 67 | 
| 2017/2018 | Challenge Cup |  St. Mirren | 3 | 1 | 0 | 1/0/0 | 201 | 
| 2017 | League Cup |  St. Mirren | 1 | 2 | 0 | 0/0/0 | 69 | 
| 2016/2017 | Coupe d'Écosse |  Dunfermline Athletic | 2 | 0 | 0 | 0/0/0 | 141 | 
| 2016/2017 | Challenge Cup |  Dunfermline Athletic | 2 | 1 | 0 | 0/0/0 | 0 | 
| 2016/2017 | Championship |  Dunfermline Athletic | 22 | 1 | 1 | 0/0/0 | 0 | 
| 2015/2016 | Premiership |  Hearts | 28 | 4 | 0 | 0/0/1 | 0 | 
| 2015/2016 | League Cup |  Hearts | 2 | 0 | 0 | 0/0/0 | 0 | 
| 2015/2016 | Coupe d'Écosse |  Hearts | 2 | 0 | 0 | 0/0/0 | 0 | 
| Total: | 318 | 67 | 22 | 12/0/1 | 10709 | 
| De | À | Date | Montant | 
|---|---|---|---|
|  Queen of the South |  Arbroath | 14/06/2024 | Gratuit | 
|  Stenhousemuir |  Queen of the South | 01/07/2023 | N/a | 
|  Queen of the South |  Stenhousemuir | 23/02/2023 | Prêt | 
|  Livingston |  Queen of the South | 01/07/2022 | Gratuit | 
|  Livingston |  Greenock Morton | 30/08/2021 | Prêt | 
|  Carlisle United |  Livingston | 05/01/2021 | N/a | 
|  Bristol Rovers |  Carlisle United | 04/08/2020 | Gratuit | 
|  Cheltenham Town |  Bristol Rovers | 11/01/2020 | N/a | 
|  Bristol Rovers |  Cheltenham Town | 01/08/2019 | Prêt | 
|  St. Mirren |  Bristol Rovers | 03/07/2018 | Gratuit | 
|  Hearts |  St. Mirren | 01/07/2017 | Gratuit | 
|  Dunfermline Athletic |  Hearts | 01/06/2017 | N/a | 
|  Hearts |  Dunfermline Athletic | 01/07/2016 | Prêt | 
|  Queen of the South |  Hearts | 01/07/2015 | N/a |