| Saison | Compétition | Club | MJ. | B | P | J/JR/R | Min. J. | 
|---|---|---|---|---|---|---|---|
| 2024/2025 | Challenge Cup |  Airdrieonians | 1 | 0 | 0 | 0/0/0 | 0 | 
| 2024/2025 | Championship |  Airdrieonians | 1 | 0 | 0 | 0/0/0 | 0 | 
| 2024/2025 | League Cup |  Airdrieonians | 0 | 0 | 0 | 0/0/0 | 0 | 
| 2023/2024 | Challenge Cup |  Airdrieonians | 0 | 0 | 0 | 0/0/0 | 0 | 
| 2023/2024 | Championship |  Airdrieonians | 11 | 0 | 0 | 1/0/0 | 956 | 
| 2023/2024 | League Cup |  Airdrieonians | 5 | 0 | 0 | 0/0/0 | 450 | 
| 2023/2024 | Coupe d'Écosse |  Airdrieonians | 1 | 0 | 0 | 0/0/0 | 90 | 
| 2023/2024 | Premiership Play-Offs |  Airdrieonians | 0 | 0 | 0 | 0/0/0 | 0 | 
| 2022/2023 | Championship Play-Offs |  Airdrieonians | 3 | 1 | 1 | 0/0/0 | 54 | 
| 2022/2023 | Coupe d'Écosse |  Airdrieonians | 1 | 0 | 0 | 0/0/0 | 0 | 
| 2022/2023 | Challenge Cup |  Airdrieonians | 1 | 0 | 0 | 0/0/0 | 90 | 
| 2022/2023 | League One |  Airdrieonians | 17 | 0 | 1 | 1/0/0 | 556 | 
| 2021/2022 | League One |  Falkirk | 16 | 1 | 0 | 0/0/0 | 1279 | 
| 2020/2021 | Premiership |  Livingston | 6 | 0 | 0 | 1/0/0 | 432 | 
| 2020/2021 | League Cup |  Livingston | 4 | 1 | 0 | 1/0/0 | 175 | 
| 2020/2021 | Coupe d'Écosse |  Livingston | 1 | 0 | 0 | 0/0/0 | 14 | 
| 2019/2020 | Premiership |  Livingston | 14 | 2 | 0 | 1/0/0 | 1048 | 
| 2018/2019 | League Two |  Crewe Alexandra | 8 | 2 | 0 | 1/0/0 | 122 | 
| 2018/2019 | Premiership |  Motherwell | 6 | 0 | 0 | 0/0/0 | 114 | 
| 2018/2019 | League Cup |  Motherwell | 2 | 0 | 0 | 0/0/0 | 115 | 
| 2017/2018 | League One |  Plymouth Argyle | 24 | 0 | 0 | 3/0/0 | 1091 | 
| 2017/2018 | FA Cup |  Plymouth Argyle | 2 | 0 | 0 | 0/0/0 | 180 | 
| 2017/2018 | EFL Trophy |  Plymouth Argyle | 2 | 0 | 2 | 0/0/0 | 180 | 
| 2017/2018 | Carabao Cup |  Plymouth Argyle | 1 | 0 | 0 | 0/0/0 | 90 | 
| 2016/2017 | League Two |  Doncaster Rovers | 4 | 0 | 0 | 0/0/0 | 152 | 
| 2015/2016 | FA Cup |  Doncaster Rovers | 3 | 0 | 0 | 0/0/0 | 0 | 
| 2015/2016 | Carabao Cup |  Doncaster Rovers | 2 | 0 | 0 | 0/0/0 | 0 | 
| 2015/2016 | League One |  Doncaster Rovers | 43 | 2 | 2 | 0/0/0 | 3592 | 
| 2013/2014 | Premiership |  Partick Thistle | 36 | 2 | 0 | 5/0/1 | 3227 | 
| 2013/2014 | League Cup |  Partick Thistle | 3 | 0 | 0 | 0/0/0 | 0 | 
| 2012/2013 | Championship |  Partick Thistle | 28 | 1 | 0 | 2/0/0 | 0 | 
| 2012/2013 | Coupe d'Écosse |  Partick Thistle | 2 | 0 | 0 | 0/0/0 | 0 | 
| 2012/2013 | Challenge Cup |  Partick Thistle | 1 | 1 | 0 | 0/0/0 | 0 | 
| 2012/2013 | League Cup |  Partick Thistle | 2 | 0 | 0 | 0/0/0 | 0 | 
| 2011/2012 | Championship |  Partick Thistle | 28 | 1 | 0 | 4/0/0 | 0 | 
| 2011/2012 | Challenge Cup |  Partick Thistle | 2 | 0 | 0 | 1/0/0 | 0 | 
| 2011/2012 | Coupe d'Écosse |  Partick Thistle | 3 | 0 | 0 | 1/0/0 | 0 | 
| Total: | 284 | 14 | 6 | 22/0/1 | 14007 | 
| Saison | Compétition | Club | MJ. | B | P | J/JR/R | Min. J. | 
|---|---|---|---|---|---|---|---|
| 2023/2024 | Ligue des Nations CONCACAF |  Antigua-et-Barbuda | 4 | 0 | 0 | 1/0/0 | 239 | 
| 2023 | CONCACAF Gold Cup Qualification |  Antigua-et-Barbuda | 1 | 0 | 0 | 0/0/0 | 90 | 
| 2022 | Coupe du Monde Qualification Concacaf |  Antigua-et-Barbuda | 2 | 0 | 0 | 0/0/0 | 90 | 
| 2021/2022 | Ligue des Nations CONCACAF |  Antigua-et-Barbuda | 6 | 0 | 0 | 0/0/0 | 540 | 
| 2018/2019 | Ligue des Nations CONCACAF Qualifications |  Antigua-et-Barbuda | 0 | 0 | 0 | 0/0/0 | 0 | 
| Total: | 13 | 0 | 0 | 1/0/0 | 959 | 
| De | À | Date | Montant | 
|---|---|---|---|
|  Falkirk |  Airdrieonians | 02/09/2022 | Gratuit | 
|  Falkirk |  Airdrieonians | 01/09/2022 | Gratuit | 
|  Motherwell |  Livingston | 08/11/2019 | Gratuit | 
|  Motherwell |  Crewe Alexandra | 30/01/2019 | Prêt | 
|  Plymouth Argyle |  Motherwell | 01/07/2018 | N/a | 
|  Doncaster Rovers |  Plymouth Argyle | 28/06/2017 | Gratuit | 
|  Wigan Athletic |  Doncaster Rovers | 20/07/2015 | N/a | 
|  Partick Thistle |  Wigan Athletic | 01/07/2014 | Gratuit | 
|  Montrose |  Partick Thistle | 01/07/2011 | N/a |