| | 2013 Midlands XC #2 | | Birchall Woods | Go Race | | 554 | | 3 / 10 | 78% | 1h05:22.00 | 1h03:35.00 | 2.8% | - | - | |
| | 2016 British Cycling MTB XC #1 | | Pembrey Country Park | Sport | | 505 | Arrow Cycles | 17 / 44 | 63% | 1h11:55.00 | 1h03:58.00 | 12.4% | - | - | |
| | 2015 Midlands XC #1 | | Cannock Chase | Sport | | 134 | Arrow Cycles | 10 / 59 | 84% | 1h12:37.00 | 1h07:19.00 | 7.9% | - | - | |
| | 2016 Midlands XC #4 | | Eckington Woods | Sport | | 182 | Arrow Cycles | 6 / 23 | 77% | 1h15:13.00 | 1h10:08.00 | 7.3% | - | - | |
| | 2016 Midlands XC #2 | | Cannock Chase | Sport | | 273 | Arrow Cycles | 7 / 38 | 84% | 1h15:15.00 | 1h09:04.00 | 9% | - | - | |
| | 2014 British Cycling MTB XC #4 | | Sherwood Pines | Sport | | 181 | Arrow Cycles | 26 / 41 | 38% | 1h18:00.00 | 1h10:03.00 | 11.4% | - | - | |
| | 2016 Midlands XC #3 | | Harlow Wood | Sport | | 229 | Arrow Cycles | 10 / 34 | 73% | 1h20:22.00 | 1h15:54.00 | 5.9% | - | - | |
| | 2014 British Cycling MTB XC #1 | | Codham Park | Sport | | 508 | | 30 / 50 | 41% | 1h20:56.00 | 1h09:13.00 | 16.9% | - | - | |
| | 2015 Midlands XC #7 | | Dudmaston | Sport | | 74 | Arrow Cycles | 18 / 25 | 29% | 1h21:15.00 | 1h10:40.00 | 15% | - | - | |
| | 2023 Crank It Cycling #1 | | Sherwood Pines | Sport (Sport/SuperVet race) | | 121 | PainTrain Lincoln | 18 / 81 | 79% | 1h21:36.00 | 1h13:28.00 | 11.1% | - | - | |
| | 2015 Nutcracker Altura XC #5 | | Gandale | Sport | 955840 | 166 | Arrow Cycles | 6 / 22 | 76% | 1h26:11.00 | 1h20:01.00 | 7.7% | - | - | |
| | 2015 Nutcracker Altura XC #3 | | Aske Moor | Sport | | 457 | Arrow Cycles | 10 / 37 | 75% | 1h28:21.00 | 1h17:48.00 | 13.6% | - | - | |
| | 2016 Welsh MTB XC #1 | | Llandegla | Sport | | 146 | Arrow Cycles | 5 / 20 | 79% | 1h28:47.00 | 1h24:15.00 | 5.4% | - | - | |
| | 2016 Nutcracker Altura XC #1 | | Whinlatter | Sport | 955840 | 736 | Arrow Cycles | 7 / 47 | 87% | 1h29:00.00 | 1h21:15.00 | 9.5% | - | - | |
| | 2017 Midlands XC #3 | | Cannock Chase | Expert | | 23 | Arrow Cycles | 6 / 12 | 55% | 1h31:23.00 | 1h20:49.00 | 13.1% | - | - | |
| | 2015 Nutcracker Altura XC #1 | | Whinlatter | Sport | | 131 | Arrow Cycles | 5 / 44 | 91% | 1h31:46.00 | 1h25:38.00 | 7.2% | - | - | |
| | 2015 British Cycling MTB XC #1 | | Sherwood Pines | Sport | | 616 | Arrow Cycles | 32 / 57 | 45% | 1h32:18.00 | 1h21:09.00 | 13.7% | - | - | |
| | 2014 British Cycling MTB XC #5 | | Cannock Chase | Sport | GBR19690605 | 476 | Arrow Cycles | 32 / 40 | 21% | 1h33:20.00 | 1h15:36.00 | 23.5% | - | - | |
| | 2015 British Cycling MTB XC #5 | | Cannock Chase | Sport | GBR19690605 | 533 | Arrow Cycles | 18 / 41 | 58% | 1h33:42.00 | 1h24:33.00 | 10.8% | - | - | |
| | 2018 Midlands XC #3 | | Cannock Chase | Expert | | 275 | Arrow Cycles | 14 / 15 | 7% | 1h34:45.00 | 1h23:30.00 | 13.5% | - | - | |
| | 2016 Mud Sweat & Gears XC #7 | | Radical Bikes | Sport | | 258 | Arrow Cycles | 7 / 18 | 65% | 1h36:26.00 | 1h29:44.00 | 7.5% | - | - | |
| | 2015 Midlands XC #4 | | Wyre Forest | Sport | | 77 | Arrow Cycles | 14 / 21 | 35% | 1h37:10.00 | 1h24:51.00 | 14.5% | - | - | |
| | 2015 Midlands XC #2 | | Harlow Wood | Sport | | 123 | Arrow Cycles | 25 / 51 | 52% | 1h37:53.00 | 1h24:48.00 | 15.4% | - | - | |
| | 2014 Nutcracker Altura XC #3 | | Aske Moor | Sport | 955840 | 133 | Arrow Cycles | 17 / 35 | 53% | 1h41:16.00 | 1h30:31.00 | 11.9% | - | - | |
| | 2014 Nutcracker Altura XC #5 | | Haggs Gill | Sport | 955840 | 133 | Arrow Cycles | 13 / 22 | 43% | 1h41:29.00 | 1h29:38.00 | 13.2% | - | - | |
| | 2017 British Cycling MTB XC #3 | | Aske Moor | Expert | | 119 | Arrow Cycles | 19 / 26 | 28% | 1h41:48.00 | 1h27:45.00 | 16% | - | - | |
| | 2014 Nutcracker Altura XC #6 | | Dales Bike Centre | Sport | 955840 | 133 | Arrow Cycles | 11 / 23 | 55% | 1h43:38.00 | 1h31:36.00 | 13.1% | - | - | |
| | 2015 Nutcracker Altura XC #2 | | Dalby Forest | Sport | 955840 | 241 | Arrow Cycles | 13 / 34 | 64% | 1h44:04.00 | 1h31:18.00 | 14% | - | - | |
| | 2016 Nutcracker Altura XC #2 | | Dalby Forest | Sport | 955840 | 848 | | 10 / 40 | 77% | 1h44:12.00 | 1h32:53.00 | 12.2% | - | - | |
| | 2014 Nutcracker Altura XC #1 | | Dalby Forest | Sport | 955840 | 133 | Arrow Cycles | 6 / 37 | 86% | 1h44:31.00 | 1h35:31.00 | 9.4% | - | - | |
| | 2018 Midlands XC #1 | | Swynnerton Old Park | Expert | | 19 | Arrow Cycles | 13 / 18 | 29% | 1h44:41.00 | 1h27:34.00 | 19.6% | - | - | |
| | 2015 Mud Sweat & Gears XC #1 | | Shouldham Warren | Sport | | 359 | Arrow Cycles | 13 / 41 | 70% | 1h44:49.00 | 1h36:40.00 | 8.4% | - | - | |
| | 2014 Mud Sweat & Gears XC #1 | | Rendlesham Forest | Sport | | 311 | Arrow Cycles | 14 / 45 | 70% | 1h47:24.00 | 1h38:49.00 | 8.7% | - | - | |
| | 2017 Midlands XC #2 | | Swynnerton Old Park | Expert | | 17 | Arrow Cycles | 6 / 9 | 38% | 1h48:18.00 | 1h36:02.00 | 12.8% | - | - | |
| | 2019 Midlands XC #2 | | Cannock Chase | Expert | | 1012 | Pain Train Lincoln | 10 / 10 | 0% | 1h50:48.00 | 1h34:27.00 | 17.3% | - | - | |
| | 2017 Midlands XC #1 | | Sherwood Pines | Expert | GBR19690605 | 549 | Arrow Cycles | 16 / 19 | 17% | 1h52:16.00 | 1h37:06.00 | 15.6% | - | - | |
| | 2015/16 G8 Events Winter Series #2 | | Thetford Forest | 2hr: Sport | | 71 | Arrow Cycles | 6 / 29 | 82% | 1h56:53.90 | 57:01.60 | 105% | - | - | |
| | 2017 Midlands XC #6 | | Rother Valley Country Park | Expert | | 9 | Arrow Cycles | 6 / 6 | 0% | 1h57:22.00 | 1h36:42.00 | 21.4% | - | - | |
| | 2022 Midlands XC #1 | | Swynnerton Old Park | Elite/Expert | | 1012 | PainTrain Lincoln | 9 / 12 | 27% | 1h57:55.00 | 1h38:31.00 | 19.7% | - | - | |
| | 2016 British Cycling MTB XC #4 | | Fforest Fields | Sport | | 465 | Arrow Cycles | 10 / 30 | 69% | 2h00:06.00 | 1h41:27.00 | 18.4% | - | - | |
| | 2014/15 Thetford Winter XC #2 | | Thetford Forest | 2hr | | 438 | Arrow Cycles | 23 / 86 | 74% | 2h20:02.00 | 2h01:06.00 | 15.6% | - | - | |
| | 2014/15 Thetford Winter XC #3 | | Thetford Forest | 2hr | | 438 | Arrow Cycles | 12 / 87 | 87% | 2h22:32.00 | 2h08:30.00 | 10.9% | - | - | |
| | 2018/19 Revel Outdoors Winter XC #1 | | Santon Downham | 3hr: 19+ | | 328 | | 5 / 32 | 87% | 3h19:17.00 | 3h08:12.00 | 5.9% | - | - | |
| | 2019/20 Thetford Racing Winter XC #4 | | Shouldham Warren | 3hr: 19+ | | 325 | PainTrain Lincoln | 4 / 15 | 79% | 3h24:46.00 | 3h07:23.00 | 9.3% | - | - | |
| | 2014 Nutcracker Altura XC #2 | | Gandale | Sport | | 133 | Arrow Cycles | 26 / 34 | 24% | - | 1h27:48.00 | - | - | - | |
| | 2014 Midlands XC #2 | | Birchall Woods | Sport | | 120 | Arrow Cycles | 35 / 40 | 13% | - | 1h16:28.00 | - | - | - | |
| | 2014 Nutcracker Altura XC #4 | | Parkwood Springs | Sport | 955840 | 133 | Arrow Cycles | - / 44 | 0% | - | 1h30:55.00 | - | - | - | |
| | 2015 Nutcracker Altura XC #6 | | Dales Bike Centre | Sport | 955840 | 281 | Arrow Cycles | 6 / 19 | 72% | - | | - | - | - | |
| | 2016 Mud Sweat & Gears XC #1 | | Hintlesham | Sport | | 258 | Arrow Cycles | 4 / 24 | 87% | - | 1h40:46.00 | - | - | - | |
| | 2017 Welsh MTB XC #1 | | Afan | Expert | | 24 | | 6 / 6 | 0% | - | 1h34:08.04 | - | - | - | |
| | 2017 Midlands XC #7 | | Eckington Woods | Expert | | 17 | Arrow Cycles | 7 / 10 | 33% | - | 1h26:27.00 | - | - | - | |
| | 2017 Welsh MTB XC #4 | | Royal Welsh Showground | Expert | | 13 | | - / 5 | 0% | - | 1h16:31.18 | - | - | - | |
| | 2018 Mud Sweat & Gears XC - Eastern #4 | | Phoenix Bike Park, Kentford | Elite/Expert | | 1133 | Arrow Cycles | 13 / 14 | 8% | - | 1h29:43.00 | - | - | - | |
| | 2018/19 Revel Outdoors Winter XC #2 | | West Bilney Woods | 3hr: 19+ | | 328 | PainTrain Lincoln | 5 / 21 | 80% | - | 3h16:28.00 | - | - | - | |
| | 2019 HSBC UK | XC National Series #2 | | Hadleigh Park | Expert | | 140 | PainTrain Lincoln | DNS / 30 | 0% | DNS | 1h19:23.00 | - | - | - | |
| | 2019/20 Thetford Racing Winter XC #1 | | Santon Downham | 3hr: 19+ | | 325 | PainTrain Lincoln | 4 / 23 | 86% | - | 3h21:07.00 | - | - | - | |
| | 2019/20 Thetford Racing Winter XC #2 | | West Bilney Woods | 3hr: 19+ | | 325 | PainTrain Lincoln | 4 / 16 | 80% | - | 3h20:48.00 | - | - | - | |
| | 2022 Crank It Cycling #1 | | Sherwood Pines | Expert | | 137 | PainTrain Lincoln | 13 / 16 | 20% | -2LAP | | - | - | - | |
| | 2016 Nutcracker Altura XC #3 | | Aske Moor | Sport | | 818 | Arrow Cycles | 5 / 21 | 80% | - | | - | - | - | |
| | 2016 Nutcracker Altura XC #5 | | Gandale | Sport | | ? | Arrow Cycles | 7 / 16 | 60% | - | | - | - | - | |