 
          | Season | League | Team | A | G | Assists | Y/YR/R | MP | 
|---|---|---|---|---|---|---|---|
| 2024/2025 | Premiership Play-Offs |  Partick Thistle | 3 | 0 | 1 | 0/0/0 | 76 | 
| 2024/2025 | Championship |  Partick Thistle | 5 | 1 | 0 | 0/0/0 | 123 | 
| 2023/2024 | Scottish Cup |  Dunfermline Athletic | 1 | 0 | 0 | 0/0/0 | 52 | 
| 2023/2024 | Championship |  Dunfermline Athletic | 27 | 2 | 3 | 1/0/0 | 1471 | 
| 2022/2023 | Championship |  Dundee | 20 | 6 | 2 | 2/0/0 | 1027 | 
| 2022/2023 | Scottish Cup |  Dundee | 2 | 0 | 0 | 0/0/0 | 65 | 
| 2022/2023 | Challenge Cup |  Dundee | 3 | 0 | 1 | 0/0/0 | 38 | 
| 2022/2023 | League Cup |  Dundee | 5 | 4 | 0 | 0/0/0 | 284 | 
| 2021/2022 | Championship |  Partick Thistle | 11 | 1 | 1 | 1/0/0 | 596 | 
| 2021/2022 | Scottish Cup |  Partick Thistle | 1 | 0 | 0 | 0/0/0 | 79 | 
| 2021/2022 | Premiership Play-Offs |  Partick Thistle | 2 | 0 | 0 | 0/0/0 | 118 | 
| 2021/2022 | Scottish Cup |  Dundee | 0 | 0 | 0 | 0/0/0 | 0 | 
| 2021/2022 | Premiership |  Dundee | 7 | 0 | 0 | 0/0/0 | 248 | 
| 2021/2022 | League Cup |  Dundee | 3 | 1 | 0 | 0/0/0 | 119 | 
| 2020/2021 | Premiership Play-Offs |  Dundee | 0 | 0 | 0 | 0/0/0 | 0 | 
| 2020/2021 | League Cup |  Dundee | 1 | 0 | 0 | 0/0/0 | 90 | 
| 2020/2021 | Championship |  Dundee | 4 | 0 | 0 | 0/0/0 | 174 | 
| 2019/2020 | FA Cup |  Gillingham | 2 | 0 | 0 | 0/0/0 | 138 | 
| 2019/2020 | EFL Trophy |  Gillingham | 3 | 1 | 0 | 1/0/0 | 131 | 
| 2019/2020 | Scottish Cup |  St. Mirren | 3 | 1 | 0 | 0/0/0 | 199 | 
| 2019/2020 | Carabao Cup |  Gillingham | 1 | 0 | 0 | 0/0/0 | 70 | 
| 2019/2020 | League One |  Gillingham | 24 | 6 | 1 | 0/0/0 | 1047 | 
| 2019/2020 | Premiership |  St. Mirren | 7 | 0 | 0 | 0/0/0 | 334 | 
| 2018/2019 | Championship |  Falkirk | 15 | 5 | 0 | 1/0/0 | 1216 | 
| 2018/2019 | EFL Trophy |  Bristol Rovers | 6 | 3 | 0 | 0/0/0 | 312 | 
| 2018/2019 | League One |  Bristol Rovers | 38 | 2 | 3 | 2/0/0 | 127 | 
| 2017/2018 | Championship |  Falkirk | 15 | 5 | 2 | 1/0/0 | 1215 | 
| 2016/2017 | League One |  Fleetwood Town | 3 | 0 | 0 | 0/0/0 | 87 | 
| 2016/2017 | EFL Trophy |  Fleetwood Town | 2 | 1 | 0 | 0/0/0 | 180 | 
| 2016/2017 | League Two |  Wycombe Wanderers | 10 | 1 | 0 | 0/0/0 | 404 | 
| 2014/2015 | Carabao Cup |  Oxford United | 1 | 0 | 0 | 0/0/0 | 0 | 
| 2014/2015 | League Two |  Dagenham & Redbridge | 23 | 4 | 0 | 2/0/0 | 922 | 
| 2014/2015 | League Two |  Oxford United | 9 | 1 | 0 | 0/0/0 | 0 | 
| 2013/2014 | Championship |  Watford | 1 | 0 | 0 | 0/0/0 | 58 | 
| 2013/2014 | National League |  Braintree Town | 11 | 1 | 0 | 0/0/0 | 0 | 
| Total: | 269 | 46 | 14 | 11/0/0 | 11000 | 
| From | To | Date | Amount | 
|---|---|---|---|
|  Dunfermline Athletic |  Dundee | 08/09/2023 | Free | 
|  Dundee |  Partick Thistle | 01/07/2022 | N/a | 
|  Partick Thistle |  Dundee | 31/01/2022 | Loan | 
|  Dundee |  Watford | 05/08/2020 | Free | 
|  Watford |  St. Mirren | 01/07/2020 | N/a | 
|  St. Mirren |  Watford | 31/01/2020 | Loan | 
|  Gillingham |  Watford | 26/07/2019 | Loan | 
|  Bristol Rovers |  Watford | 09/08/2018 | Loan | 
|  Falkirk |  Watford | 11/01/2018 | Loan | 
|  Watford |  Wycombe Wanderers | 01/07/2017 | N/a | 
|  Oxford United |  Watford | 13/08/2014 | Loan | 
|  Watford |  Braintree Town | 16/04/2014 | N/a |