07.10 | 67 | | | Paris - Tours Elite (1.HC) Team Dimension Data | 214.5 | | | more |
03.10 | DNF | | | Sparkassen Münsterland Giro (1.HC) Team Dimension Data | 210.8 | | | more |
30.09 | DNF | | | World Championships ME - Road Race (WC) | 258 | | | more |
23.09 | 35 | | | Grand Prix d'Isbergues - Pas de Calais (1.1) Team Dimension Data | 198.3 | | | more |
22.09 | 37 | | | Tour de l'Eurométropole (1.HC) Team Dimension Data | 206 | | 3 | more |
02.09 › 09.092-9/9 | | | | Ovo Energy Tour of Britain (2.HC) Madison Genesis | | | | more |
| 3 | | | Mountains classificationMountains classification | | | | |
| 27 | | | Points classificationPoints classification | | | | |
| 30 | | | General classificationGeneral classification | | | 5 | |
09.09 | 60 | | | S8Stage 8 - London › London | 77 | | | |
08.09 | 22 | 32 | | S7Stage 7 - West Bridgford › Mansfield | 215.6 | | | |
07.09 | 48 | 33 | | S6Stage 6 - Barrow-in-Furness › Whinlatter Pass | 168.3 | | | |
06.09 | 18 | 30 | | S5 (TTT)Stage 5 (TTT) - Cockermouth › Whinlatter Pass | 14 | | | |
05.09 | 21 | 29 | | S4Stage 4 - Nuneaton › Royal Leamington Spa | 183.5 | | | |
04.09 | 6 | 29 | | S3Stage 3 - Bristol › Bristol | 127.2 | 3 | | |
03.09 | 15 | 34 | | S2Stage 2 - Cranbrook › Barnstaple | 174.9 | | | |
02.09 | 93 | 93 | | S1Stage 1 - Pembrey Country Park › Newport | 174.8 | | | |
16.08 › 19.0816-19/8 | | | | Arctic Race of Norway (2.HC) Team Dimension Data | | | | more |
| 14 | | | Youth classificationYouth classification | | | | |
| 18 | | | Mountains classificationMountains classification | | | | |
| 21 | | | Points classificationPoints classification | | | | |
| 36 | | | General classificationGeneral classification | | | 3 | |
19.08 | 74 | | | S4Stage 4 - Kvalsund › Alta | 145.5 | | | |
18.08 | 51 | 37 | | S3Stage 3 - Honningsvåg › Hammerfest | 194 | | | |
17.08 | 51 | 42 | | S2Stage 2 - Tana › Kjøllefjord | 195 | | | |
16.08 | 55 | 56 | | S1Stage 1 - Vadsø › Kirkenes | 184 | | | |
05.08 | 5 | | | La Poly Normande (1.1) Madison Genesis | 168.9 | 28 | 50 | more |
28.07 › 30.0728-30/7 | | | | Kreiz Breizh Elites (2.2) | | | | more |
| 2 | | | Mountains classificationMountains classification | | | | |
| 3 | | | Points classificationPoints classification | | | | |
| 2 | | | General classificationGeneral classification | | 18 | 30 | |
30.07 | 12 | | | S4Stage 4 - Guingamp › Rostrenen | 171.8 | | | |
29.07 | 10 | 2 | | S3Stage 3 - Carhaix-Plouguer › Carhaix-Plouguer | 91.8 | | | |
29.07 | 21 | 2 | | S2Stage 2 - Ploërdut › Callac | 93 | | | |
28.07 | 3 | 3 | | S1Stage 1 - Calanhel › Plouray | 181.1 | 1 | 1 | |
01.07 | 1 | | | National Championships Great Britain ME - Road Race (NC) | 185.6 | 15 | 100 | more |
28.06 | 10 | | | National Championships Great Britain ME - ITT (NC) | 39.7 | | 1 | more |
09.06 | 11 | | | Dwars door de Vlaamse Ardennen (1.2) | 200 | | | more |
03.05 › 06.053-6/5 | | | | Tour de Yorkshire (2.1) | | | | more |
| 15 | | | Mountains classificationMountains classification | | | | |
| 21 | | | Points classificationPoints classification | | | | |
| 54 | | | General classificationGeneral classification | | | | |
06.05 | 66 | | | S4Stage 4 - Halifax › Leeds | 189.5 | | | |
05.05 | 6 | 46 | | S3Stage 3 - Richmond › Scarborough | 184 | 3 | | |
04.05 | 52 | 52 | | S2Stage 2 - Barnsley › Ilkley | 149 | | | |
03.05 | 12 | 13 | | S1Stage 1 - Beverley › Doncaster | 182 | | | |
22.04 | 4 | | | Rutland - Melton Cicle Classic (1.2) | 178 | 4 | 20 | more |
19.03 › 25.0319-25/3 | | | | Tour de Normandie (2.2) | | | | more |
| 10 | | | Youth classificationYouth classification | | | | |
| 20 | | | Points classificationPoints classification | | | | |
| 17 | | | General classificationGeneral classification | | | | |
25.03 | 2 | | | S7Stage 7 - La Haye › Caen | 151 | 2 | 3 | |
24.03 | 32 | 25 | | S6Stage 6 - Granville › La Haye | 158 | | | |
23.03 | 31 | 24 | | S5Stage 5 - Villers-Bocage › Bagnoles-de-l'Orne | 174 | | | |
22.03 | 33 | 25 | | S4Stage 4 - Evrecy › Argentan | 152 | | | |
21.03 | 39 | 28 | | S3Stage 3 - Yvetot › Elbeuf-sur-Seine | 138 | | | |
20.03 | 25 | 25 | | S2Stage 2 - Evreux › Forges-les-Eaux | 156 | | | |
19.03 | 29 | 31 | | S1Stage 1 - Saint-Pierre-en-Auge › Le Neubourg | 140 | | | |