| | Nevis Range - 10 under the Ben | | Fort William | 19-39 | | 169 | TEAM: Bike Trossachs/Genesis Bicycle Clu | 1 / 10 | 100% | 10h11:42.00 | 5h41:12.00 | 79.3% | - | - | |
| | British Cycling - UK XC National Champs '21 | | Newnham Park | Senior Champs | | 48 | Bike Trossachs | 2 / 16 | 93% | 1h29:10.30 | 1h22:47.50 | 7.7% | - | - | |
| | 2021 HSBC UK | XC National Series #2 | | Sunnybank Farm | Elite | | 31 | | DNF / 13 | 0% | DNF | 1h39:36.10 | - | - | - | |
| | Tweedlove - Pirelli Glentress 7 | | Glentress | Solo: 35-49 | | 75 | | 1 / 11 | 100% | 6h45:21.00 | 6h45:21.00 | 0% | - | - | |
| | 2021 Scottish XC #1 | | Cathkin Braes Country Park | Fast | | 25 | | 20 / 40 | 51% | - | | - | - | - | |
| | 2021 HSBC UK | XC National Series #1 | | Woody's Bike Park | Elite | | 31 | | 2 / 15 | 93% | 1h37:29.40 | 1h29:12.00 | 9.3% | - | - | |
| | 2020 HSBC UK | CX National Trophy Series #1 | | Westmorland County Showground | Elite | | 18 | | DNF / 10 | 0% | DNF | 40:56.20 | - | - | - | |
| | 2019 HSBC UK | CX National Trophy Series #3 | | Beach Park, Irvine | Elite | | 32 | | 3 / 14 | 85% | 51:07.10 | 48:04.70 | 6.3% | - | - | |
| | 2019 Scottish XC #6 | | Glentress | Elite/Expert | | 301 | | 1 / 3 | 100% | 1h26:08.40 | 1h26:08.40 | 0% | - | - | |
| | 2019 Scottish XC #5 | | Lochore Meadows Country Park | Senior Champs | | 301 | | 1 / 3 | 100% | 1h27:00.65 | 1h27:00.65 | 0% | - | - | |
| | British Cycling - UK XC National Champs '19 | | Cannock Chase | Elite | | 43 | | 3 / 19 | 89% | 1h39:37.00 | 1h30:04.00 | 10.6% | - | - | |
| | 2019 HSBC UK | XC National Series #5 | | Thickthorn, Norwich | Elite | | 21 | | 1 / 10 | 100% | 1h39:29.40 | 1h39:29.40 | 0% | - | - | |
| | 2019 Scottish XC #4 | | Kirkhill | Elite/Expert | | 301 | | 1 / 4 | 100% | 1h29:21.25 | 1h29:21.25 | 0% | - | - | |
| | 2019 Mercedes-Benz UCI World Cup XC #2 | | Nové Mesto | Elite | 10009167288 & 1986 | 77 | | 68 / 78 | 13% | - | 1h27:31.00 | - | - | - | |
| | 2019 HSBC UK | XC National Series #3 | | Cannock Chase | Elite | | 32 | | 3 / 21 | 90% | 1h36:45.00 | 1h29:23.00 | 8.2% | - | - | |
| | 2019 HSBC UK | XC National Series #2 | | Hadleigh Park | Elite | | 41 | | 1 / 15 | 100% | 1h35:42.00 | 1h35:42.00 | 0% | - | - | |
| | 2019 HSBC UK | XC National Series #1 | | Sherwood Pines | Elite | | 37 | | DNF / 23 | 0% | DNF | 1h37:19.00 | - | - | - | |
| | 2018 HSBC UK | CX National Trophy Series #2 | | Beach Park, Irvine | Elite | | 20 | | 5 / 20 | 79% | 42:42.00 | 40:18.60 | 5.9% | - | - | |
| | 2018 Scottish XC #5 | | Dunoon | 19-39 | | 300 | | 1 / 3 | 100% | 1h30:08.00 | 1h30:08.00 | 0% | - | - | |
| | 2018 British Cycling MTB XC #5 | | Royal Welsh Showground | Elite | | 62 | | 2 / 13 | 92% | 1h38:24.00 | 1h32:54.00 | 5.9% | - | - | |
| | British Cycling - UK XC National Champs '18 | | Hadleigh Park | Senior Champs | | 42 | | 2 / 12 | 91% | 1h25:10.00 | 1h19:09.00 | 7.6% | - | - | |
| | 2018 Mercedes-Benz UCI World Cup XC #4 | | Val di Sole | Elite | 10009167288 & 1986 | 46 | | 55 / 77 | 29% | - | 1h30:51.00 | - | - | - | |
| | 2018 British Cycling MTB XC #4 | | Phoenix Bike Park, Kentford | Elite | | 31 | | 2 / 9 | 88% | 1h26:58.00 | 1h24:26.00 | 3% | - | - | |
| | 2018 Mercedes-Benz UCI World Cup XC #3 | | Nové Mesto | Elite | 10009167288 & 1986 | ? | | 49 / 72 | 32% | 1h32:18.00 | 1h20:37.00 | 14.5% | - | - | |
| | 2018 British Cycling MTB XC #3 | | Glentress | Elite | | 52 | | 2 / 11 | 90% | 1h40:17.00 | 1h37:12.00 | 3.2% | - | - | |
| | 2018 Scottish XC #3 | | Cathkin Braes Country Park | Elite/Expert | | 302 | | 1 / 4 | 100% | 1h19:41.51 | 1h19:41.51 | 0% | - | - | |
| | 2018 British Cycling MTB XC #2 | | Dalby Forest | Elite | | 52 | | 2 / 16 | 93% | 1h28:02.00 | 1h27:09.00 | 1% | - | - | |
| | 2018 British Cycling MTB XC #1 | | Sherwood Pines | Elite | | 53 | | 3 / 18 | 88% | 1h45:38.00 | 1h42:05.00 | 3.5% | - | - | |
| | 2017 UCI World Cup XC #6 | | Val di Sole | Elite | 10009167288 & 1986 | 54 | | 66 / 70 | 6% | - | 1h26:58.00 | - | - | - | |
| | 2017 British Cycling MTB XC #5 | | Royal Welsh Showground | Elite | | 52 | Rock And Road | 3 / 12 | 82% | 1h36:34.00 | 1h30:59.00 | 6.1% | - | - | |
| | British Cycling - UK XC National Champs '17 | | Cannock Chase | Elite | | 52 | Rock And Road | 2 / 14 | 92% | 1h55:17.00 | 1h41:51.00 | 13.2% | - | - | |
| | 2017 UCI World Cup XC #4 | | Lenzerheide | Elite | 10009167288 & 1986 | 63 | | 64 / 75 | 15% | - | 1h29:10.00 | - | - | - | |
| | 2017 UCI World Cup XC #3 | | Vallnord | Elite | 10009167288 & 1986 | 56 | | 60 / 62 | 3% | - | 1h26:04.00 | - | - | - | |
| | 2017 British Cycling MTB XC #3 | | Aske Moor | Elite | | 52 | Rock And Road | 17 / 18 | 6% | - | 1h30:40.00 | - | - | - | |
| | 2017 British Cycling MTB XC #2 | | Wasing | Elite | | 51 | Rock And Road | 2 / 19 | 94% | 1h33:37.00 | 1h30:50.00 | 3.1% | - | - | |
| | 2017 WA Gravity Enduro #2 | | Pemberton, WA | Elite | | 543 | | 2 / 6 | 80% | 18:58.00 | 18:36.00 | 2% | 15:40.00 | 21.1% | |
| | 2016 Scottish XC #6 | | Forfar | Elite | | 26 | | 2 / 6 | 80% | 1h19:43.82 | 1h17:25.91 | 3% | - | - | |
| | 2016 Scottish XC #5 | | Blairadam, Fife | Elite/Expert | | 28 | Rock And Road Cycles | 2 / 8 | 86% | 1h38:36.00 | 1h36:39.00 | 2% | - | - | |
| | 2016 British Cycling MTB XC #5 | | Cannock Chase | Elite | | 52 | Rock And Road Cycles | 4 / 17 | 81% | 1h44:58.00 | 1h38:40.00 | 6.4% | - | - | |
| | Hadleigh Park - Hadleigh Park International | | Hadleigh Park | Elite | GBR19860529 & 30 | 12 | Rock And Road Cycles | 11 / 20 | 47% | 1h32:51.00 | 1h19:47.00 | 16.4% | - | - | |
| | British Cycling - UK XC National Champs '16 | | Cathkin Braes Country Park | Senior | | 42 | Rock And Road Cycles | 2 / 17 | 94% | 1h49:39.00 | 1h42:23.00 | 7.1% | - | - | |
| | 2016 UCI World Cup XC #4 | | Lenzerheide | Elite | GBR19860529 | 55 | | 51 / 58 | 12% | - | 1h29:53.00 | - | - | - | |
| | 2016 British Cycling MTB XC #4 | | Fforest Fields | Elite | | 43 | Rock And Road Cycles | 19 / 21 | 10% | - | 1h16:29.00 | - | - | - | |
| | 2016 UCI World Cup XC #2 | | Bikepark Albstadt | Elite | GBR19860529 | 74 | | 85 / 86 | 1% | - | 1h33:03.00 | - | - | - | |
| | 2016 British Cycling MTB XC #3 | | Dalby Forest | Elite | | 52 | Rock And Road Cycles | 4 / 24 | 87% | 1h25:55.00 | 1h20:29.00 | 6.8% | - | - | |
| | 2016 British Cycling MTB XC #2 | | Newnham Park | Elite | | 53 | Rock And Road Cycles | 4 / 23 | 86% | 1h52:43.00 | 1h38:49.00 | 14.1% | - | - | |
| | 2016 British Cycling MTB XC #1 | | Pembrey Country Park | Elite | | 103 | Rock And Road Cycles | 6 / 28 | 81% | 1h45:50.00 | 1h39:59.00 | 5.9% | - | - | |
| | 2015 POC Scottish Enduro Series #6 | | Innerleithen | 22-39 | | 189 | Rock And Road Cycles | 9 / 13 | 33% | 31:12.00 | 24:53.00 | 25.4% | 15:26.00 | 102.2% | |
| | 2015 UCI World Cup XC #6 | | Val di Sole | Elite | GBR19860529 | 63 | | 63 / 72 | 13% | - | 1h30:56.00 | - | - | - | |
| | British Cycling - UK XC National Champs '15 | | Hadleigh Park | Senior | | 53 | Rock And Road Cycles | 5 / 19 | 78% | 1h47:15.00 | 1h36:42.00 | 10.9% | - | - | |
| | 2015 UCI World Cup XC #3 | | Lenzerheide | Elite | GBR19860529 | 51 | | 51 / 59 | 14% | - | 1h32:15.00 | - | - | - | |
| | 2015 British Cycling MTB XC #4 | | Cathkin Braes Country Park | Elite | | 104 | Rock And Road Cycles | 4 / 19 | 83% | 1h46:23.00 | 1h37:33.00 | 9.1% | - | - | |
| | 2015 UCI World Cup XC #2 | | Bikepark Albstadt | Elite | GBR19860529 | 68 | | 72 / 74 | 3% | - | 1h36:07.00 | - | - | - | |
| | 2015 UCI World Cup XC #1 | | Nové Mesto | Elite | GBR19860529 | 69 | | 69 / 78 | 12% | - | 1h34:29.00 | - | - | - | |
| | 2015 British Cycling MTB XC #3 | | Fforest Fields | Elite | | 57 | Rock And Road Cycles | 2 / 27 | 96% | 1h39:06.00 | 1h36:31.00 | 2.7% | - | - | |
| | Durty Events - Selkirk Marathon | | Selkirk | Open | 836783 | 14 | Rock And Road Cycles | 1 / 15 | 100% | 4h31:08.00 | 4h31:08.00 | 0% | - | - | |
| | 2015 British Cycling MTB XC #2 | | Newnham Park | Elite | | 67 | Rock And Road Cycles | 5 / 27 | 85% | 1h30:42.00 | 1h24:20.00 | 7.6% | - | - | |
| | 2015 British Cycling MTB XC #1 | | Sherwood Pines | Elite | | 108 | Rock And Road Cycles | 9 / 28 | 70% | 1h59:44.00 | 1h52:19.00 | 6.6% | - | - | |
| | 2015 Scottish XC #1 | | Cathkin Braes Country Park | Elite/Expert | | 3 | | 1 / 9 | 100% | 1h04:47.37 | 1h04:47.37 | 0% | - | - | |
| | Muckmedden - Fair City Enduro | | Perth | 18-29 | | 113 | Rock And Road Cycles | 1 / 10 | 100% | 14:20.00 | 14:20.00 | 0% | 10:57.00 | 30.9% | |
| | 2014 Scottish XC #5 | | Dalbeattie | Elite/Expert | | 53 | | 1 / 5 | 100% | 1h50:36.72 | 1h50:36.72 | 0% | - | - | |
| | 2014 British Cycling MTB XC #3 | | Margam Park | Elite | | 68 | Rock And Road Cycles | 4 / 20 | 84% | 1h41:56.00 | 1h35:13.00 | 7.1% | - | - | |
| | 2014 British Cycling MTB XC #2 | | Wheal Velocity | Elite | | 63 | Rock And Road Cycles | 2 / 23 | 95% | 1h48:36.00 | 1h47:32.00 | 1% | - | - | |
| | 2014 British Cycling MTB XC #1 | | Codham Park | Elite | | 87 | Pasta Montegrappa / Velosport | 4 / 26 | 88% | 1h33:36.00 | 1h29:13.00 | 4.9% | - | - | |