| 15.10 › 20.1015-20/10 | | | | Gree-Tour of Guangxi (2.UWT) | | | | | more |
| 22 | | | Youth classificationYouth classification | | | | | |
| 45 | | | General classificationGeneral classification | | | 5 | 5 | |
| 20.10 | 54 | | | S6Stage 6 - Nanning › Nanning | | 134.3 | | | |
| 19.10 | 30 | 51 | | S5Stage 5 - Yizhou › Nongla | | 165.8 | | | |
| 18.10 | 95 | 86 | | S4Stage 4 - Bama › Jinchengjiang | | 176.8 | | | |
| 17.10 | 89 | 80 | | S3Stage 3 - Jingxi › Bama | | 214 | | | |
| 16.10 | 98 | 87 | | S2Stage 2 - Chongzuo › Jingxi | | 181.5 | | | |
| 15.10 | 94 | 94 | | S1Stage 1 - Fangchenggang › Fangchenggang | | 149.4 | | | |
| 10.08 | DNF | | | Donostia San Sebastian Klasikoa (1.UWT) | | 236 | | | more |
| 25.07 › 28.0725-28/7 | | | | Czech Tour (2.1) | | | | | more |
| 8 | | | Youth classificationYouth classification | | | | | |
| 36 | | | General classificationGeneral classification | | | | | |
| 28.07 | 60 | | | S4Stage 4 - Šumperk › Šternberk | | 131.8 | | | |
| 27.07 | 41 | 37 | | S3Stage 3 - Moravská Třebová › Dlouhé stráně | | 134.5 | | | |
| 26.07 | 42 | 42 | | S2Stage 2 - Zlín › Pustevny | | 172.7 | | | |
| 25.07 | 64 | 65 | | S1Stage 1 - Prostějov › Ostrava | | 151.2 | | | |
| 23.06 | DNF | | | National Championships Great Britain ME - Road Race (NC) | | 182 | | | more |
| 19.06 | 8 | | | National Championships Great Britain ME - ITT (NC) | | 30 | | 3 | more |
| 09.06 › 16.069-16/6 | | | | Tour de Suisse (2.UWT) | | | | | more |
| 9 | | | Youth classificationYouth classification | | | | | |
| 12 | | | Mountains classificationMountains classification | | | | | |
| 20 | | | General classificationGeneral classification | | | 20 | 30 | |
| 16.06 | 36 | | | S8 (ITT)Stage 8 (ITT) - Aigle › Villars-sur-Ollon | | 15.7 | | | |
| 15.06 | 24 | 20 | | S7Stage 7 - Villars-sur-Ollon › Villars-sur-Ollon 60k | | 118.2 | | | |
| 14.06 | 21 | 21 | | S6Stage 6 - Ulrichen › Blatten | | 42.5 | | | |
| 13.06 | 18 | 22 | | S5Stage 5 - Ambrì › Carì | | 148.6 | | | |
| 12.06 | 27 | 32 | | S4Stage 4 - Rüschlikon › Gotthard Pass | | 171 | | | |
| 11.06 | 61 | 59 | | S3Stage 3 - Steinmaur › Rüschlikon | | 161.7 | | | |
| 10.06 | 81 | 80 | | S2Stage 2 - Vaduz › Regensdorf | | 177.3 | | | |
| 09.06 | 138 | 138 | | S1 (ITT)Stage 1 (ITT) - Vaduz › Vaduz | | 4.77 | | | |
| 07.06 | 36 | | | Grosser Preis des Kantons Aargau (1.1) | | 173.8 | | | more |
| 15.04 › 19.0415-19/4 | | | | Tour of the Alps (2.Pro) | | | | | more |
| 15.04 | DNF | | | S1Stage 1 - Neumarkt/Egna › Kurtinig/Cortina | | 133.3 | | | |
| 08.02 › 11.028-11/2 | | | | Tour of Antalya (2.1) | | | | | more |
| 34 | | | General classificationGeneral classification | | | | | |
| 11.02 | 83 | | | S4Stage 4 - Antalya › Antalya | | 183.9 | | | |
| 10.02 | 18 | 14 | | S3Stage 3 - Kemer › Tahtali | | 133.4 | | | |
| 09.02 | 34 | 39 | | S2Stage 2 - Demre › Antalya | | 140.5 | | | |
| 08.02 | 101 | 102 | | S1Stage 1 - Side › Antalya | | 135 | | | |
| 30.01 › 03.0230-3/1 | | | | AlUla Tour (2.1) | | | | | more |
| 16 | | | Youth classificationYouth classification | | | | | |
| 60 | | | General classificationGeneral classification | | | | | |
| 03.02 | 37 | | | S5Stage 5 - AlUla Old Town › Skyviews of Harrat Uwayrid | | 150.2 | | | |
| 02.02 | 105 | 81 | | S4Stage 4 - Hegra › Maraya | | 142.2 | | | |
| 01.02 | 70 | 61 | | S3Stage 3 - AlUla International Airport › AlUla Camel Cup Track | | 170.6 | | | |
| 31.01 | 71 | 70 | | S2Stage 2 - AlUla Winter Park › Sharaan Nature Reserve | | 199.1 | | | |
| 30.01 | 88 | 88 | | S1Stage 1 - Al Manshiya Train Station › Al Manshiya Train Station | | 149.1 | | | |