| | | Gree-Tour of Guangxi (2.UWT) |
| 61 | | Klassement |
| 27 | | Jongeren |
| 19-10 | 43 | 61 | Stage 6Nanning - Nanning (134.0km) | 134.0km |
| 18-10 | 82 | 76 | Stage 5Yizhou - Nongla (165.0km) | 165.0km |
| 17-10 | 57 | 55 | Stage 4Bama - Jinchengjiang (176.0km) | 176.0km |
| 16-10 | 72 | 59 | Stage 3Jingxi - Bama (214.0km) | 214.0km |
| 15-10 | 56 | 43 | Stage 2Chongzuo - Jingxi (179.0km) | 179.0km |
| 14-10 | 33 | 38 | Stage 1Fangchenggang - Fangchenggang (149.0km) | 149.0km |
| 11-10 | 72 | | Il Lombardia (1.UWT) | 238.0km |
| 07-10 | 49 | | Tre Valli Varesine (1.Pro) | 200.0km |
| 06-10 | 36 | | Coppa Bernocchi (1.Pro) | 191.0km |
| 04-10 | 37 | | Giro dell'Emilia (1.Pro) | 199.0km |
| | | Okolo Slovenska / Tour de Slovaquie (2.1) |
| 9 | | Klassement |
| 29 | | Punten |
| 3 | | Jongeren |
| 21-09 | 8 | 9 | Stage 5Nová Dubnica - Kohútka (124.0km) | 124.0km |
| 20-09 | 36 | 37 | Stage 4Vráble - Sládkovičovo (169.0km) | 169.0km |
| 19-09 | 35 | 39 | Stage 3Kežmarok - Banská Bystrica (191.0km) | 191.0km |
| 18-09 | 37 | 37 | Stage 2Svidník - Košice (170.0km) | 170.0km |
| 17-09 | 44 | 46 | Stage 1Bardejov - Bardejov (140.0km) | 140.0km |
| 31-08 | 87 | | Bretagne Classic - Ouest-France (1.UWT) | 261.0km |
| | | Lidl Deutschland Tour (2.Pro) |
| 21 | | Klassement |
| 28 | | Punten |
| 12 | | Jongeren |
| 24-08 | 29 | 21 | Stage 4Halle - Magdeburg (163.0km) | 163.0km |
| 23-08 | 31 | 26 | Stage 3Arnsberg - Kassel (175.0km) | 175.0km |
| 22-08 | 37 | 42 | Stage 2Herford - Arnsberg (190.0km) | 190.0km |
| 21-08 | 55 | 80 | Stage 1Essen - Herford (202.0km) | 202.0km |
| 20-08 | 93 | 93 | PrologueEssen - Essen (3.0km) | 3.0km |
| | | Czech Tour (2.1) |
| 10 | | Klassement |
| 23 | | Punten |
| 3 | | Jongeren |
| 17-08 | 19 | 10 | Stage 4Kroměříž - Pustevny (178.0km) | 178.0km |
| 16-08 | 57 | 8 | Stage 3Prostejov - Ostrava (148.0km) | 148.0km |
| 15-08 | 6 | 7 | Stage 2Pardubice - Dlouhé (173.0km) | 173.0km |
| 14-08 | 43 | 43 | Stage 1Praha - Karlovy Vary (163.0km) | 163.0km |
| | | Tour de l'Ain (2.1) |
| 17 | | Klassement |
| 18 | | Punten |
| 5 | | Jongeren |
| 08-08 | 23 | 17 | Stage 3Plateau d'Hauteville - Belley (130.0km) | 130.0km |
| 07-08 | 9 | 9 | Stage 2Saint-Vulbas - Lélex Monts-Jura (153.0km) | 153.0km |
| 06-08 | 29 | 29 | Stage 1Feillens - Lagnieu (163.0km) | 163.0km |
| 02-08 | 36 | | Donostia San Sebastian Klasikoa (1.UWT) | 211.0km |
| 28-07 | 7 | | Daags na de Tour Boxmeer (CRTP) | |
| 28-06 | 109 | | National Road Championships - Netherlands (CN) | 163.0km |
| | | Tour de Suisse (2.UWT) |
| 24 | | Klassement |
| 9 | | Jongeren |
| 22-06 | 31 | 24 | Stage 8Beckenried-Emmetten - Beckenried-Emmetten (10.0km) | 10.0km |
| 21-06 | 27 | 25 | Stage 7Neuhausen am Rheinfall - Beckenried-Emmetten (207.0km) | 207.0km |
| 20-06 | 44 | 27 | Stage 6Chur - Neuhausen am Rheinfall (186.0km) | 186.0km |
| 19-06 | 18 | 28 | Stage 5La Punt - Santa Maria (183.0km) | 183.0km |
| 18-06 | 113 | 49 | Stage 4Heiden - Piuro (193.0km) | 193.0km |
| 17-06 | 49 | 17 | Stage 3Aarau - Heiden (195.0km) | 195.0km |
| 16-06 | 55 | 12 | Stage 2Aarau - Schwarzsee (177.0km) | 177.0km |
| 15-06 | 17 | 17 | Stage 1Küssnacht am Rigi - Küssnacht am Rigi (129.0km) | 129.0km |
| | | Tour de Romandie (2.UWT) |
| 45 | | Klassement |
| 44 | | Punten |
| 18 | | Berg |
| 19 | | Jongeren |
| 04-05 | 80 | 45 | Stage 5Genève - Genève (17.0km) | 17.0km |
| 03-05 | 38 | 44 | Stage 4Sion - Thyon (128.0km) | 128.0km |
| 02-05 | 56 | 56 | Stage 3Cossonay - Cossonay (183.0km) | 183.0km |
| 01-05 | 57 | 66 | Stage 2La Grande Béroche - La Grande Béroche (157.0km) | 157.0km |
| 30-04 | 69 | 70 | Stage 1Münchenstein - Fribourg (194.0km) | 194.0km |
| 29-04 | 124 | | PrologueSaint-Imier - Saint-Imier (3.0km) | 3.0km |
| 27-04 | 113 | | Liège-Bastogne-Liège (1.UWT) | 252.0km |
| 23-04 | 94 | | La Flèche Wallonne (1.UWT) | 205.0km |
| 19-04 | 28 | | Tour du Jura Cycliste (1.1) | 176.0km |
| 18-04 | 40 | | Classic Grand Besançon Doubs (1.1) | 168.0km |
| 05-04 | DNF | | Volta NXT Classic (1.1) | 192.0km |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 29 | | Klassement |
| 10 | | Jongeren |
| 29-03 | 46 | 29 | Stage 5Brisighella - Forlì (132.0km) | 132.0km |
| 28-03 | 43 | 31 | Stage 4Brisighella - Brisighella (150.0km) | 150.0km |
| 27-03 | 49 | 39 | Stage 3Riccione - Cesena (142.0km) | 142.0km |
| 26-03 | 38 | 38 | Stage 2Riccione - Sogliano al Rubicone (163.0km) | 163.0km |
| 25-03 | 85 | 85 | Stage 1Ferrara - Bondeno (174.0km) | 174.0km |
| 19-03 | 73 | | Milano - Torino (1.Pro) | 174.0km |
| 08-03 | 90 | | Strade Bianche (1.UWT) | 213.0km |
| 02-03 | 51 | | Faun Drome Classic (1.Pro) | 189.0km |
| 01-03 | 57 | | Faun-Ardèche Classic (1.Pro) | 165.0km |
| 17-02 | 59 | | Clásica Jaén (1.1) | 169.0km |
| | | Santos Tour Down Under (2.UWT) |
| 38 | | Klassement |
| 6 | | Jongeren |
| 26-01 | 65 | 38 | Stage 6Adelaide - Adelaide (90.0km) | 90.0km |
| 25-01 | 45 | 38 | Stage 5McLaren Vale - Willunga (145.0km) | 145.0km |
| 24-01 | 59 | 52 | Stage 4Glenelg Shire - Victor Harbor (157.0km) | 157.0km |
| 23-01 | 60 | 61 | Stage 3Norwood - Uraidla (147.0km) | 147.0km |
| 22-01 | 59 | 58 | Stage 2Tanunda - Tanunda (128.0km) | 128.0km |
| 21-01 | 64 | 67 | Stage 1Prospect - Gumeracha (150.0km) | 150.0km |
| 18-01 | 56 | | Villawood Men's Classic (CRTP) | |