15.06 › 22.0615-22/6 | | | | Tour de Suisse (2.UWT) | | | | more |
| 5 | | | Youth classificationYouth classification | | | | |
| 13 | | | General classificationGeneral classification | | 50 | 50 | |
22.06 | 9 | | | S8 (ITT)Stage 8 (ITT) - Beckenried › Stockhütte | 10 | 2 | 5 | |
21.06 | 14 | 15 | | S7Stage 7 - Neuhausen am Rheinfall › Emmetten | 207.3 | | | |
20.06 | 55 | 18 | | S6Stage 6 - Chur › Neuhausen am Rheinfall | 186.7 | | | |
19.06 | 15 | 18 | | S5Stage 5 - La Punt › Santa Maria in Calanca | 183.8 | | | |
18.06 | 21 | 24 | | S4Stage 4 - Heiden › Piuro (Valchiavenna) | 193.2 | | | |
17.06 | 33 | 41 | | S3Stage 3 - Aarau › Heiden | 195.6 | | | |
16.06 | 82 | 55 | | S2Stage 2 - Aarau › Schwarzsee | 177 | | | |
15.06 | 54 | 54 | | S1Stage 1 - Küssnacht › Küssnacht | 129.4 | | | |
13.06 | 54 | | | GP Gippingen (1.1) | 173.8 | | | more |
29.04 › 04.0529-4/4 | | | | Tour de Romandie (2.UWT) | | | | more |
| 18 | | | Youth classificationYouth classification | | | | |
| 44 | | | General classificationGeneral classification | | 5 | 10 | |
04.05 | 60 | | | S5 (ITT)Stage 5 (ITT) - Genève › Genève | 17.1 | | | |
03.05 | 45 | 45 | | S4Stage 4 - Sion › Thyon 2000 | 118.2 | | | |
02.05 | 44 | 52 | | S3Stage 3 - Cossonay › Cossonay | 183.1 | | | |
01.05 | 66 | 65 | | S2Stage 2 - La Grande Béroche › La Grande Béroche | 157 | | | |
30.04 | 65 | 69 | | S1Stage 1 - Münchenstein › Fribourg | 194.3 | | | |
29.04 | 123 | 123 | | ProloguePrologue - Saint-Imier › Saint-Imier | 3.44 | | | |
21.04 › 25.0421-25/4 | | | | Tour of the Alps (2.Pro) | | | | more |
| 15 | | | Youth classificationYouth classification | | | | |
| 1 | | | Mountains classificationMountains classification | | | | |
| 18 | | | Points classificationPoints classification | | | | |
| 52 | | | General classificationGeneral classification | | | | |
25.04 | 51 | | | S5Stage 5 - Lienz › Lienz 82k | 112.2 | | | |
24.04 | 59 | 54 | | S4Stage 4 - Sillian › Obertilliach | 162.7 | | | |
23.04 | 87 | 57 | | S3Stage 3 - Sterzing › Innichen 110k | 145.5 | | | |
22.04 | 32 | 30 | | S2Stage 2 - Mezzolombardo › Sterzing | 178 | | | |
21.04 | 39 | 39 | | S1Stage 1 - San Lorenzo Dorsino › San Lorenzo Dorsino 118k | 148.5 | | | |
07.04 › 12.047-12/4 | | | | Itzulia Basque Country (2.UWT) | | | | more |
12.04 | DNF | | | S6Stage 6 - Eibar › Eibar 61k | 153.4 | | | |
11.04 | 62 | 67 | | S5Stage 5 - Urduña › Gernika-Lumo | 172.3 | | | |
10.04 | 133 | 79 | | S4Stage 4 - Beasain › Markina-Xemein | 169.6 | | | |
09.04 | 54 | 52 | | S3Stage 3 - Zarautz › Beasain | 156.6 | | | |
08.04 | 109 | 69 | | S2Stage 2 - Pamplona-Iruña › Lodosa | 186.6 | | | |
07.04 | 69 | 69 | | S1 (ITT)Stage 1 (ITT) - Vitoria-Gasteiz › Vitoria-Gasteiz (Baskonia-Alavés) | 16.5 | | | |
24.03 › 30.0324-30/3 | | | | Volta Ciclista a Catalunya (2.UWT) | | | | more |
27.03 | DNS | | | S4Stage 4 - Sant Vicenç de Castellet › Montserrat Mil·lenari | 188.7 | | | |
26.03 | 143 | 145 | | S3Stage 3 - Viladecans The Style Outlets › La Molina | 218.6 | | | |
25.03 | 62 | 146 | | S2Stage 2 - Banyoles › Figueres | 180.5 | | | |
24.03 | 154 | 154 | | S1Stage 1 - Sant Feliu de Guíxols › Sant Feliu de Guíxols | 178.6 | | | |
22.02 › 23.0222-23/2 | | | | Tour des Alpes-Maritimes (2.1) | | | | more |
| 40 | | | Youth classificationYouth classification | | | | |
| 79 | | | General classificationGeneral classification | | | | |
23.02 | 69 | | | S2Stage 2 - Villefranche-sur-Mer › Vence | 131.8 | | | |
22.02 | 86 | 86 | | S1Stage 1 - Contes › Gourdon | 162.4 | | | |
21.02 | 102 | | | Classic Var (1.1) | 164 | | | more |
25.01 | 127 | | | Gran Premio Castellón - Ruta de la Cerámica (1.1) | 171.7 | | | more |