| | | Gree-Tour of Guangxi (2.UWT) |
| 5 | | Klassement |
| 23 | | Punten |
| 1 | | Jongeren |
| 19-10 | 32 | 5 | Stage 6Nanning - Nanning (134.0km) | 134.0km |
| 18-10 | 4 | 5 | Stage 5Yizhou - Nongla (165.0km) | 165.0km |
| 17-10 | 42 | 32 | Stage 4Bama - Jinchengjiang (176.0km) | 176.0km |
| 16-10 | 37 | 30 | Stage 3Jingxi - Bama (214.0km) | 214.0km |
| 15-10 | 40 | 28 | Stage 2Chongzuo - Jingxi (179.0km) | 179.0km |
| 14-10 | 20 | 26 | Stage 1Fangchenggang - Fangchenggang (149.0km) | 149.0km |
| 07-10 | DNF | | Tre Valli Varesine (1.Pro) | 200.0km |
| 06-10 | 61 | | Coppa Bernocchi (1.Pro) | 191.0km |
| 04-10 | 21 | | Giro dell'Emilia (1.Pro) | 199.0km |
| 14-09 | 33 | | Grand Prix Cycliste de Montréal (1.UWT) | 209.0km |
| 12-09 | DNF | | Grand Prix Cycliste de Québec (1.UWT) | 216.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 29-08 | 4 | 5 | Stage 6aLa Rosière Espace San Bernardo - La Rosière Espace San Bernardo (41.0km) | 41.0km |
| 29-08 | 2 | 3 | Stage 6bLa Rosière-Montvalezan - La Rosière-Montvalezan (10.0km) | 10.0km |
| 28-08 | 3 | 4 | Stage 5Saint-Gervais Mont-Blanc - Tignes (121.0km) | 121.0km |
| 27-08 | 91 | 17 | Stage 4Montagnat - Val Suran (110.0km) | 110.0km |
| 26-08 | 36 | 17 | Stage 3Étang-sur-Arroux - Châtillon-sur-Chalaronne (158.0km) | 158.0km |
| 25-08 | 108 | 18 | Stage 2Saint-Symphorien-sur-Coise - Vitry-en-Charollais (136.0km) | 136.0km |
| 24-08 | 18 | 3 | Stage 1Aoste - Saint-Galmier (188.0km) | 188.0km |
| 23-08 | 5 | 5 | PrologueTignes - Tignes (3.0km) | 3.0km |
| | | Tour de l'Ain (2.1) |
| 13 | | Klassement |
| 27 | | Punten |
| 10 | | Berg |
| 2 | | Jongeren |
| 08-08 | 13 | 13 | Stage 3Plateau d'Hauteville - Belley (130.0km) | 130.0km |
| 07-08 | 19 | 18 | Stage 2Saint-Vulbas - Lélex Monts-Jura (153.0km) | 153.0km |
| 06-08 | 20 | 20 | Stage 1Feillens - Lagnieu (163.0km) | 163.0km |
| 02-08 | 33 | | Donostia San Sebastian Klasikoa (1.UWT) | 211.0km |
| 29-06 | 16 | | National Road Championships - Norway (CN) | 193.0km |
| 26-06 | 5 | | National Road Championships - Norway TT (CN) | 26.0km |
| | | Giro d'Italia Next Gen (2.2U) |
| 4 | | Klassement |
| 5 | | Punten |
| 3 | | Berg |
| 22-06 | 1 | 4 | Stage 8Pinerolo - Pinerolo (127.0km) | 127.0km |
| 21-06 | 2 | 5 | Stage 7Bra - Prato Nevoso (163.0km) | 163.0km |
| 20-06 | 37 | 9 | Stage 6Ovada - Acqui Terme (154.0km) | 154.0km |
| 19-06 | 17 | 9 | Stage 5Fiorenzuola d'Arda - Gavi (153.0km) | 153.0km |
| 18-06 | 70 | 6 | Stage 4Manerbio - Salsomaggiore Terme (134.0km) | 134.0km |
| 17-06 | 8 | 6 | Stage 3Albese con Cassano - Passo del Maniva (144.0km) | 144.0km |
| 16-06 | 30 | 6 | Stage 2Rho - Cantù (146.0km) | 146.0km |
| 15-06 | 5 | 5 | Stage 1Rho - Rho (8.0km) | 8.0km |
| | | Tour of Norway (2.Pro) |
| 13 | | Klassement |
| 29 | | Punten |
| 5 | | Jongeren |
| 01-06 | 18 | 13 | Stage 4Stavanger - Stavanger (130.0km) | 130.0km |
| 31-05 | 8 | 13 | Stage 3Jørpeland - Heia (141.0km) | 141.0km |
| 30-05 | 29 | 23 | Stage 2Egersund - Oltedal (208.0km) | 208.0km |
| 29-05 | 33 | 33 | Stage 1Sola - Sola (179.0km) | 179.0km |
| | | Tour de Romandie (2.UWT) |
| 13 | | Klassement |
| 31 | | Punten |
| 7 | | Jongeren |
| 04-05 | 14 | 13 | Stage 5Genève - Genève (17.0km) | 17.0km |
| 03-05 | 8 | 16 | Stage 4Sion - Thyon (128.0km) | 128.0km |
| 02-05 | 45 | 39 | Stage 3Cossonay - Cossonay (183.0km) | 183.0km |
| 01-05 | 45 | 43 | Stage 2La Grande Béroche - La Grande Béroche (157.0km) | 157.0km |
| 30-04 | 78 | 75 | Stage 1Münchenstein - Fribourg (194.0km) | 194.0km |
| 29-04 | 43 | 43 | PrologueSaint-Imier - Saint-Imier (3.0km) | 3.0km |
| 23-04 | 25 | | La Flèche Wallonne (1.UWT) | 205.0km |
| 19-04 | 10 | | Tour du Jura Cycliste (1.1) | 176.0km |
| 18-04 | 59 | | Classic Grand Besançon Doubs (1.1) | 168.0km |
| 05-04 | 39 | | Volta NXT Classic (1.1) | 192.0km |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 28 | | Klassement |
| 9 | | Jongeren |
| 29-03 | 23 | 28 | Stage 5Brisighella - Forlì (132.0km) | 132.0km |
| 28-03 | 115 | 38 | Stage 4Brisighella - Brisighella (150.0km) | 150.0km |
| 27-03 | 23 | 17 | Stage 3Riccione - Cesena (142.0km) | 142.0km |
| 26-03 | 29 | 31 | Stage 2Riccione - Sogliano al Rubicone (163.0km) | 163.0km |
| 25-03 | 130 | 130 | Stage 1Ferrara - Bondeno (174.0km) | 174.0km |
| 19-03 | 58 | | Milano - Torino (1.Pro) | 174.0km |
| 08-03 | 85 | | Strade Bianche (1.UWT) | 213.0km |
| | | Tour of Oman (2.Pro) |
| 08-02 | DNS | | Stage 1Bushar - Bimmah Sink Hole (177.0km) | 177.0km |
| 07-02 | DNS | | Muscat Classic (1.1) | 170.0km |