| | Run and Ride - Spring Classic | | Cannock Chase | Enthusiast | | 83 | Rotor Race | 41 / 57 | 29% | 1h16:18.73 | 17:18.51 | 340.9% | - | - | |
| | 2023 British Cycling XC National Series #2 | | Margam Park | 40-49 (Vet race) | | 347 | Walsall RCC | DNF / 34 | 0% | DNF | 1h31:50.10 | - | - | - | |
| | 2023 Crank It Cycling #1 | | Sherwood Pines | 40-49 | | 518 | Walsall RCC | 26 / 35 | 26% | 1h28:14.00 | 1h20:37.00 | 9.5% | - | - | |
| | Run and Ride - Winter Classic | | Cannock Chase | Enthusiast | | 338 | | 31 / 60 | 49% | 1h11:48.91 | 56:57.25 | 26.1% | - | - | |
| | Strathpuffer - Strathpuffer 24 | | Strathpeffer | Quads (Quads) | | 471 | TEAM: Off Our Heads.Com | 61 / 240 | 75% | 13h00:00.00 | 6h51:47.00 | 89.4% | - | - | |
| | 2022 Shimano Lazer West Midlands Cyclo-Cross League #8 | | Aldersley Stadium | 23+ | | 334 | Rotor RT | DNF / 25 | 0% | DNF | 51:14.00 | - | - | - | |
| | 2022 Shimano Lazer West Midlands Cyclo-Cross League #7 | | Lakeside Campus | 23-39 | | 334 | Rotor RT | 21 / 27 | 23% | 55:30.00 | 50:19.00 | 10.3% | - | - | |
| | 2022 Shimano Lazer West Midlands Cyclo-Cross League #6 | | Hillcrest, Ullenhall | 23-39 | | 334 | Rotor RT | 14 / 22 | 38% | 55:27.00 | 50:18.00 | 10.2% | - | - | |
| | 2022 Shimano Lazer West Midlands Cyclo-Cross League #5 | | Hillcrest, Ullenhall | 23-39 | | 334 | Rotor RT | 19 / 23 | 18% | 52:39.00 | 52:05.00 | 1.1% | - | - | |
| | 2022 Shimano Lazer West Midlands Cyclo-Cross League #4 | | Abbey Stadium, Redditch | 23-39 | | 334 | Rotor RT | 16 / 23 | 32% | 51:31.00 | 48:51.00 | 5.5% | - | - | |
| | 2022 Shimano Lazer West Midlands Cyclo-Cross League #3 | | Highley, Bridgnorth | 23-39 | | 334 | Rotor RT | 18 / 25 | 29% | 47:55.00 | 47:13.00 | 1.5% | - | - | |
| | 2022 Shimano Lazer West Midlands Cyclo-Cross League #2 | | Heart of England Conference Centre | 23-39 | | 334 | Rotor RT | DNF / 23 | 0% | DNF | 52:34.00 | - | - | - | |
| | 2022 Shimano Lazer West Midlands Cyclo-Cross League #1 | | Shrewsbury Sports Village | 18-39 | | 334 | Rotor RT | 33 / 40 | 18% | 51:57.00 | 50:23.00 | 3.1% | - | - | |
| | Run and Ride - Summer Classic | | Cannock Chase | Enthusiast | | 272 | Rotor RT | 39 / 69 | 44% | 1h14:38.66 | 18:02.76 | 313.6% | - | - | |
| | Southern Enduro - Southern Enduro Champs | | Minehead | Fun (Lite course) | | 29 | | 11 / 13 | 17% | 17:09.30 | 11:35.27 | 48% | - | - | |
| | 2022 British Cycling XC National Series - Schwalbe #1 | | Tong | Sport | | 535 | Walsall RCC | DNS / 35 | 0% | DNS | 1h09:13.60 | - | - | - | |
| | Run and Ride - Winter Classic | | Cannock Chase | Enthusiast | | 434 | Rotor Racing | 65 / 65 | 0% | 18:48.86 | 1h06:08.00 | -71.6% | - | - | |
| | 2021 HSBC UK | XC National Series #5 | | Cannock Chase | Sport | | 86 | Walsall RCC | 20 / 27 | 27% | -1LAP | 1h20:17.30 | - | - | - | |
| | 2021 HSBC UK | XC National Series #4 | | Newcastleton | Sport | | 75 | Walsall RCC | 18 / 19 | 6% | -1LAP | 1h08:39.80 | - | - | - | |
| | 2021 HSBC UK | XC National Series #3 | | Gaddon's Farm, New Forest | Sport | | 165 | Walsall RCC | 26 / 30 | 14% | 1h31:25.00 | 1h15:09.00 | 21.7% | - | - | |
| | 2021 HSBC UK | XC National Series #2 | | Sunnybank Farm | Sport | | 190 | Walsall RCC | DNF / 30 | 0% | DNF | 1h23:28.30 | - | - | - | |
| | 2020 Mud Sweat & Gears XC #2 | | Haughley Park | Cat 4 | | 311 | Iceni Velo | 29 / 43 | 33% | - | 54:45.00 | - | - | - | |
| | 2020 Midlands XC #1 | | Dudmaston | Sport | | 918 | | 13 / 20 | 37% | 1h27:31.00 | 1h18:21.00 | 11.7% | - | - | |
| | Run and Ride - Winter Classic | | Cannock Chase | Enthusiast (Shortened 3) | | 284 | | 47 / 83 | 44% | - | 1h17:27.00 | - | - | - | |
| | 2019 Midlands XC #5 | | Dudmaston | Sport | | 917 | Rotor RT | 17 / 20 | 16% | 1h22:59.00 | 1h14:33.00 | 11.3% | - | - | |
| | 2019 Midlands XC #2 | | Cannock Chase | Sport | | 927 | Rotor RT | 22 / 26 | 16% | 1h33:21.00 | 1h17:18.00 | 20.8% | - | - | |
| | 2019 HSBC UK | XC National Series #3 | | Cannock Chase | Sport | | 584 | Rotor RT | DNF / 45 | 0% | DNF | 1h12:27.00 | - | - | - | |
| | 2019 Midlands XC #1 | | Parkwood Springs | Sport | 1013764 | 910 | Rotor RT | 34 / 35 | 3% | - | 1h13:01.00 | - | - | - | |
| | 2019 HSBC UK | XC National Series #1 | | Sherwood Pines | Sport | | 585 | Rotor RT | 42 / 59 | 29% | 1h38:08.00 | 1h27:22.00 | 12.3% | - | - | |
| | 2018 British Cycling MTB XC #5 | | Royal Welsh Showground | Sport | | 188 | Mammoth Lifestyle Racing | DNS / 25 | 0% | DNS | 1h05:37.80 | - | - | - | |
| | British Cycling - UK XC National Champs '18 | | Hadleigh Park | 30-39 | | 281 | Mammoth Lifestyle Racing | DNS / 26 | 0% | DNS | 1h14:41.00 | - | - | - | |
| | 2018 Midlands XC #5 | | Eckington Woods | Sport | | 123 | Mammoth Lifestyle Racing Team | 20 / 21 | 5% | - | 1h06:00.00 | - | - | - | |
| | 2018 British Cycling MTB XC #4 | | Phoenix Bike Park, Kentford | Sport | | 417 | Mammoth Lifestyle Racing | DNF / 43 | 0% | DNF | 1h18:09.00 | - | - | - | |
| | 2018 Midlands XC #3 | | Cannock Chase | Sport | | 253 | Mammoth Lifestyle Racing Team | 17 / 29 | 43% | 1h15:50.00 | 1h08:28.00 | 10.8% | - | - | |
| | 2018 British Cycling MTB XC #3 | | Glentress | Sport | | 267 | Mammoth Lifestyle Racing | 17 / 25 | 33% | 1h23:31.00 | 1h12:46.00 | 14.8% | - | - | |
| | 2018 Midlands XC #2 | | Parkwood Springs | Sport | | 339 | | 26 / 49 | 48% | 1h19:41.00 | 1h10:47.00 | 12.6% | - | - | |
| | 2018 British Cycling MTB XC #2 | | Dalby Forest | Sport | | 626 | Mammoth Lifestyle Racing | DNF / 39 | 0% | DNF | 1h24:27.00 | - | - | - | |
| | 2018 Midlands XC #1 | | Swynnerton Old Park | Sport | | 322 | Mammoth Cycles | 17 / 37 | 56% | 1h17:58.00 | 1h09:47.00 | 11.7% | - | - | |
| | 2018 British Cycling MTB XC #1 | | Sherwood Pines | Sport | | 602 | Mammoth Lifestyle Racing | 37 / 66 | 45% | 1h30:02.00 | 1h21:14.00 | 10.8% | - | - | |
| | Northern Downhill - Eastgate TT | | Eastgate | 30-39 | | 101 | | 13 / 20 | 37% | 2:23.78 | 2:08.34 | 12% | 2:08.34 | 12% | |
| | 2017 British Cycling MTB XC #5 | | Royal Welsh Showground | Sport | | 413 | Mammoth Lifestyle Racing Team | 16 / 25 | 38% | 1h25:41.00 | 1h14:33.00 | 14.9% | - | - | |
| | British Cycling - UK XC National Champs '17 | | Cannock Chase | Sport | | 521 | Mammoth Lifestyle Racing Team | 16 / 33 | 53% | 1h30:31.00 | 1h21:51.00 | 10.6% | - | - | |
| | 2017 Midlands XC #7 | | Eckington Woods | Sport | | 257 | Mammoth Lifestyle Racing Team | 17 / 26 | 36% | 1h22:46.00 | 1h09:43.00 | 18.7% | - | - | |
| | 2017 Midlands XC #5 | | Parkwood Springs | Sport | | 233 | Mammoth Lifestyle Racing Team | 22 / 25 | 13% | - | 1h08:51.00 | - | - | - | |
| | 2017 British Cycling MTB XC #4 | | Dalby Forest | Sport | | 416 | Mammoth Lifestyle Racing | 12 / 24 | 52% | 1h38:08.50 | 1h26:54.50 | 12.9% | - | - | |
| | 2017 Midlands XC #4 | | Dudmaston | Sport | | 141 | Mammoth Lifestyle Racing Team | 42 / 44 | 5% | - | 1h14:35.00 | - | - | - | |
| | 2017 British Cycling MTB XC #3 | | Aske Moor | Sport | | 416 | Mammoth Lifestyle Racing | 20 / 24 | 17% | 1h08:55.00 | 56:49.00 | 21.3% | - | - | |
| | 2017 Midlands XC #3 | | Cannock Chase | Sport | | 205 | Mammoth Lifestyle Racing Team | 13 / 66 | 82% | 1h10:48.00 | 1h07:14.00 | 5.3% | - | - | |
| | 2017 British Cycling MTB XC #2 | | Wasing | Sport | | 466 | Midland Bike Fit / Run & Ride | 34 / 47 | 28% | 1h20:55.00 | 1h09:33.00 | 16.3% | - | - | |
| | 2017 Southern XC #2 | | Checkendon | Sport | | 1251 | Mammoth Cycles | 7 / 24 | 74% | 57:55.70 | 55:08.10 | 5.1% | - | - | |
| | 2017 Midlands XC #2 | | Swynnerton Old Park | Sport | | 158 | Mammoth Lifestyle Racing Team | 17 / 51 | 68% | 1h18:49.00 | 1h14:06.00 | 6.4% | - | - | |
| | 2017 British Cycling MTB XC #1 | | Pembrey Country Park | Sport | | 463 | Midland Bike Fit / Run & Ride | 22 / 40 | 46% | 1h07:41.00 | 1h00:01.00 | 12.8% | - | - | |
| | 2017 Midlands XC #1 | | Sherwood Pines | Sport | GBR19830425 | 266 | Midland Bike Fit / Run & Ride | 27 / 60 | 56% | 1h28:47.00 | 1h21:13.00 | 9.3% | - | - | |
| | 2016 Borderline Events UK DH #4 & Midland Champs | | Caersws | Expert | | 103 | | 8 / 10 | 22% | 2:19.45 | 2:13.99 | 4.1% | 2:04.85 | 11.7% | |
| | 2016 British Cycling MTB XC #5 | | Cannock Chase | Sport | | 425 | | 32 / 33 | 3% | - | 1h32:53.00 | - | - | - | |
| | 2016 Midlands XC #6 | | Dudmaston | Sport | | 122 | Midland Bike Fit / Run & Ride | 18 / 28 | 37% | 1h17:09.00 | 1h09:56.00 | 10.3% | - | - | |
| | 2016 Friday Night XC Summer Series #7 | | Mallory Park | 23-39 | | 177 | Run & Ride | 9 / 22 | 62% | 57:01.00 | 49:56.00 | 14.2% | - | - | |
| | 2016 Midlands XC #5 | | Eastridge | Sport | | 157 | Midland Bike Fit / Run & Ride | 18 / 26 | 32% | 1h30:37.00 | 1h17:40.00 | 16.7% | - | - | |
| | 2016 Midlands XC #4 | | Eckington Woods | Sport | | 178 | Midland Bike Fit / Run & Ride | 12 / 23 | 50% | 1h22:47.00 | 1h10:08.00 | 18% | - | - | |
| | Run and Ride - Summer Classic | | Cannock Chase | Enthusiast | | 393 | Midland Bike Fit / Run & Ride | 3 / 48 | 96% | 1h14:02.00 | 1h13:36.00 | 0.6% | - | - | |
| | 2016 British Cycling MTB XC #3 | | Dalby Forest | Sport | | 422 | | 17 / 29 | 43% | 1h31:59.00 | 1h17:28.00 | 18.7% | - | - | |
| | 2016 Midlands XC #3 | | Harlow Wood | Sport | | 226 | Midland Bike Fit / Run & Ride | 21 / 34 | 39% | 1h24:06.00 | 1h15:54.00 | 10.8% | - | - | |
| | 2016 British Cycling MTB XC #2 | | Newnham Park | Sport | | 420 | | 34 / 35 | 3% | - | 1h20:42.00 | - | - | - | |
| | 2016 Nutcracker Altura XC #2 | | Dalby Forest | Fun | | 549 | | 6 / 31 | 83% | 1h04:33.00 | 54:24.00 | 18.7% | - | - | |
| | 2016 Midlands XC #2 | | Cannock Chase | Sport | | 267 | Midland Bike Fit / Run & Ride | 21 / 38 | 46% | 1h20:55.00 | 1h09:04.00 | 17.2% | - | - | |
| | 2016 British Cycling MTB XC #1 | | Pembrey Country Park | Sport | | 519 | | 33 / 44 | 26% | 1h15:57.00 | 1h03:58.00 | 18.7% | - | - | |
| | 2016 Midlands XC #1 | | Sherwood Pines | Sport | | 297 | Run & Ride | 24 / 51 | 54% | 1h29:55.00 | 1h20:36.00 | 11.6% | - | - | |
| | Run and Ride - Winter Classic | | Cannock Chase | Enthusiast | | 1189 | Run & Ride | - / 57 | 0% | - | | - | - | - | |
| | Red Kite Events - The Frozen Devil | | Crychan | Open | | 557 | | 38 / 97 | 61% | 3h49:22.00 | 2h26:54.00 | 56.1% | - | - | |
| | 2015 British Cycling MTB XC #5 | | Cannock Chase | Sport | | 532 | Run & Ride | 26 / 41 | 38% | 1h36:03.00 | 1h24:33.00 | 13.6% | - | - | |
| | 2015 Midlands XC #7 | | Dudmaston | Sport | | 34 | Run and Ride | 14 / 25 | 46% | 1h18:54.00 | 1h10:40.00 | 11.7% | - | - | |
| | 2015 Midlands XC #6 | | Eastridge | Sport | | 37 | Run and Ride | 15 / 21 | 30% | - | 1h23:08.00 | - | - | - | |
| | Run and Ride - Summer Classic | | Cannock Chase | Enthusiast | | 945 | Run & Ride | 5 / 23 | 82% | 1h02:40.00 | 58:05.00 | 7.9% | - | - | |
| | 2015 Pedalon Southern XC #5 | | Porridgepot Hill | Sport | | 355 | Run & Ride | 26 / 35 | 26% | 1h43:23.00 | 1h35:15.00 | 8.5% | - | - | |
| | 2015 British Cycling MTB XC #4 | | Cathkin Braes Country Park | Sport | | 419 | Run & Ride | 22 / 24 | 9% | - | 1h19:37.00 | - | - | - | |
| | 2015 Midlands XC #4 | | Wyre Forest | Sport | | 75 | Run and Ride | 20 / 21 | 5% | - | 1h24:51.00 | - | - | - | |
| | 2015 British Cycling MTB XC #3 | | Fforest Fields | Sport | | 340 | Run & Ride | 30 / 41 | 28% | 1h28:55.00 | 1h13:25.00 | 21.1% | - | - | |
| | 2015 Midlands XC #2 | | Harlow Wood | Sport | GBR19830425 | 66 | Run and Ride | 49 / 51 | 4% | - | 1h24:48.00 | - | - | - | |
| | 2015 British Cycling MTB XC #2 | | Newnham Park | Sport | | 374 | Run & Ride | 40 / 40 | 0% | - | 1h06:02.00 | - | - | - | |
| | 2015 Midlands XC #1 | | Cannock Chase | Sport | | 66 | Run and Ride | 14 / 59 | 78% | 1h13:40.00 | 1h07:19.00 | 9.4% | - | - | |
| | 2015 British Cycling MTB XC #1 | | Sherwood Pines | Sport | | 630 | Run & Ride | 45 / 57 | 21% | 1h37:08.00 | 1h21:09.00 | 19.7% | - | - | |
| | 2015 Mud Sweat & Gears XC #2 | | Carver Barracks | Sport | | 484 | Run & Ride | 22 / 43 | 50% | 1h54:29.00 | 1h38:33.00 | 16.2% | - | - | |
| | 2014 Midlands XC #7 | | Dudmaston | Sport | | 481 | Run and Ride | 18 / 25 | 29% | 1h32:49.00 | 1h17:50.00 | 19.3% | - | - | |
| | 2014 British Cycling MTB XC #5 | | Cannock Chase | Sport | GBR19830425 | 489 | Run and Ride | 34 / 40 | 15% | 1h36:34.00 | 1h15:36.00 | 27.7% | - | - | |
| | 2014 British Cycling MTB XC #1 | | Codham Park | Sport | | 514 | Run and Ride | 41 / 50 | 18% | 1h30:43.00 | 1h09:13.00 | 31.1% | - | - | |