02.09 › 03.092-3/9 | | | | In the footsteps of the Romans (2.2) | | | | more |
| 2 | | | Mountains classificationMountains classification | | | | |
| 38 | | | General classificationGeneral classification | | | | |
03.09 | 51 | | | S2Stage 2 - Banya › Razlog | 134 | | | |
02.09 | 38 | 38 | | S1Stage 1 - Razlog › Razlog | 126.5 | | | |
26.08 › 31.0826-31/8 | | | | Tour of Bulgaria (2.2) | | | | more |
| 11 | | | Mountains classificationMountains classification | | | | |
| 35 | | | General classificationGeneral classification | | | | |
31.08 | 61 | | | S5Stage 5 - Sliven › Shumen | 128.4 | | | |
30.08 | 94 | 34 | | S4Stage 4 - Burgas › Sliven | 114 | | | |
29.08 | 87 | 33 | | S3Stage 3 - Kazanlak › Burgas | 180.5 | | | |
28.08 | 68 | 34 | | S2Stage 2 - Troyan › Kazanlak | 108.3 | | | |
27.08 | 28 | 23 | | S1bStage 1b - Pirdop › Troyan | 88.9 | | | |
27.08 | 37 | 34 | | S1aStage 1a - Sofia › Pirdop | 70.2 | | | |
26.08 | 62 | 62 | | ProloguePrologue - Sofia › Sofia | 1 | | | |
18.08 › 20.0818-20/8 | | | | Gravel, Grit 'n Grind (GRV) | | | | more |
20.08 | 1 | | | S3Stage 3 | | | | |
19.08 | 7 | | | UCI Gravel World Series MEUCI Gravel World Series ME | 133 | | | |
18.08 | 6 | | | S1Stage 1 | 19 | | | |
27.07 › 30.0727-30/7 | | | | Czech Tour (2.1) | | | | more |
| 5 | | | Mountains classificationMountains classification | | | | |
| 12 | | | Points classificationPoints classification | | | | |
| 48 | | | General classificationGeneral classification | | | | |
30.07 | 46 | | | S4Stage 4 - Šumperk › Šternberk | 176.2 | | | |
29.07 | 54 | 55 | | S3Stage 3 - Moravská Třebová › Červenohorské sedlo | 161.5 | | | |
28.07 | 58 | 58 | | S2Stage 2 - Olomouc › Pustevny | 166.9 | | | |
27.07 | 39 | 40 | | S1Stage 1 - Prostějov › Uničov | 165 | | | |
23.07 | 24 | | | Visegrad 4 Bicycle Race - GP Czech Republic (1.2) | 188 | | | more |
06.07 › 09.076-9/7 | | | | Sibiu Cycling Tour (2.1) | | | | more |
| 33 | | | General classificationGeneral classification | | | | |
09.07 | 70 | | | S4b (ITT)Stage 4b (ITT) - Sibiu › Sibiu | 3.3 | | | |
09.07 | 38 | 33 | | S4aStage 4a - Sibiu › Sibiu | 97.3 | | | |
08.07 | 21 | 34 | | S3Stage 3 - Brezoi › Păltiniș | 202 | | | |
07.07 | 45 | 45 | | S2Stage 2 - Sibiu › Bâlea Lac | 155 | | | |
06.07 | 27 | 30 | | S1Stage 1 - Sibiu › Sibiu | 199 | | | |
25.06 | DNF | | | National Championships Great Britain ME - Road Race (NC) | 189 | | | more |
18.06 | 1 | | | UCI Gravel World Series ME - Millau Grands Causses (GRV) | 146 | | | more |
04.06 | 7 | | | UCI Gravel World Series ME - Hutchinson Ranxo Gravel (GRV) | 161 | | | more |
26.05 › 28.0526-28/5 | | | | Tour de la Mirabelle (2.2) | | | | more |
| 50 | | | General classificationGeneral classification | 178.3 | | | |
28.05 | 15 | | | S3Stage 3 - Tomblaine › Damelevières | 178.4 | | | |
27.05 | 51 | 52 | | S2Stage 2 - Saint-Amarin › Corcieux | 158.5 | | | |
26.05 | 55 | 55 | | S1Stage 1 - Verdun › Pont-à-Mousson | 160.2 | | | |
17.05 › 21.0517-21/5 | | | | Flèche du Sud (2.2) | | | | more |
| 54 | | | General classificationGeneral classification | | | | |
21.05 | 96 | | | S4Stage 4 - Esch-sur-Alzette › Esch-sur-Alzette | 147.2 | | | |
20.05 | 21 | 55 | | S3Stage 3 - Sanem › Sanem | 148 | | | |
19.05 | 60 | 62 | | S2Stage 2 - Bourscheid › Bourscheid | 131.9 | | | |
18.05 | 84 | 51 | | S1Stage 1 - Rumelange › Rumelange | 156.8 | | | |
17.05 | 53 | 53 | | ProloguePrologue - Esch-sur-Alzette › Esch-sur-Alzette | 3.2 | | | |
25.04 › 01.0525-1/4 | | | | Le Tour de Bretagne Cycliste (2.2) | | | | more |
| 48 | | | Points classificationPoints classification | | | | |
| 62 | | | General classificationGeneral classification | | | | |
01.05 | 21 | | | S7Stage 7 - Piré-Chancé › Châteaugiron | 163.5 | | | |
30.04 | NR | 71 | | S6Stage 6 - Châteaubriant › Plancoët | 209.4 119 | | | |
29.04 | 122 | 76 | | S5Stage 5 - Sérent › Louisfert | 173.9 | | | |
28.04 | 68 | 70 | | S4Stage 4 - Le Mené › Plumelec | 183.1 | | | |
27.04 | 84 | 83 | | S3Stage 3 - Trégunc › Le Quillio | 191.5 | | | |
26.04 | 104 | 108 | | S2Stage 2 - Sibiril › Melgven | 172.2 | | | |
25.04 | 106 | 110 | | S1Stage 1 - Plouescat › Saint-Pol-de-Léon | 155.5 | | | |
19.02 › 26.0219-26/2 | | | | Tour du Rwanda (2.1) | | | | more |
20.02 | DNF | | | S2Stage 2 - Kigali › Gisagara | 132.9 | | | |
19.02 | 30 | 30 | | S1Stage 1 - Kigali Golf › Rwamagana | 115.6 | | | |
23.01 › 29.0123-29/1 | | | | La Tropicale Amissa Bongo (2.1) | | | | more |
| 14 | | | Youth classificationYouth classification | | | | |
| 39 | | | Points classificationPoints classification | | | | |
| 34 | | | General classificationGeneral classification | | | | |
29.01 | 56 | | | S7Stage 7 - Cap Esterias › Libreville | 130 | | | |
28.01 | 48 | 31 | | S6Stage 6 - Port-Gentil › Port-Gentil | 127 | | | |
27.01 | 52 | 33 | | S5Stage 5 - Kango › Angodjé | 104 | | | |
26.01 | 69 | 35 | | S4Stage 4 - Mouila › Lambaréné | 193.5 | | | |
25.01 | 41 | 23 | | S3Stage 3 - Lébamba › Mouila | 123 | | | |
24.01 | 28 | 19 | | S2Stage 2 - Oyem › Mitzic | 109 | | | |
23.01 | 13 | 13 | | S1Stage 1 - Bitam › Oyem | 122 | | | |