| 20-10 | DNF | | Utsunomiya Japan Cup Road Race (1.Pro) | 144.0km |
| 05-10 | 51 | | Il Lombardia Under 23 (1.2U) | 170.0km |
| | | Tour of Istanbul (2.1) |
| 19 | | Standings |
| 9 | | Mountain |
| 15-09 | 42 | 19 | Stage 4Istanbul - Istanbul (83.0km) | 83.0km |
| 14-09 | 39 | 19 | Stage 3Beykoz - Polonezköy (113.0km) | 113.0km |
| 13-09 | 28 | 22 | Stage 2Şile - Şile (130.0km) | 130.0km |
| 12-09 | 25 | 25 | Stage 1Çatalca - Istanbul (160.0km) | 160.0km |
| 14-07 | DNF | | Giro dell'Appennino (1.1) | 198.0km |
| | | Giro d'Italia Next Gen (2.2U) |
| 24 | | Standings |
| 40 | | Points |
| 37 | | Mountain |
| 4 | | Youth |
| 16-06 | 78 | 24 | Stage 8Cesena - Forlimpopoli (146.0km) | 146.0km |
| 15-06 | 30 | 18 | Stage 7Montegrotto Terme - Zocca (170.0km) | 170.0km |
| 14-06 | 17 | 18 | Stage 6Borgo Virgilio - Fosse (145.0km) | 145.0km |
| 13-06 | 115 | 24 | Stage 5Bergamo - Cremona (136.0km) | 136.0km |
| 12-06 | 86 | 24 | Stage 4Pertusio - Borgomanero (130.0km) | 130.0km |
| 11-06 | 25 | 25 | Stage 3Verrès - Pian della Mussa (127.0km) | 127.0km |
| 10-06 | 56 | 56 | Stage 2Aymavilles - Saint-Vincent (121.0km) | 121.0km |
| 09-06 | 92 | 92 | Stage 1Aosta - Aosta (11.0km) | 11.0km |
| | | Alpes Isère Tour (2.2) |
| 43 | | Standings |
| 9 | | Mountain |
| 29 | | Youth |
| 26-05 | 52 | 43 | Stage 5Saint-Pierre-d'Entremont - Bourg-d'Oisans (170.0km) | 170.0km |
| 25-05 | 47 | 46 | Stage 4Saint-Maurice-l'Exil - Roussillon (149.0km) | 149.0km |
| 24-05 | 70 | 49 | Stage 3Saint-Exupéry - Genas (155.0km) | 155.0km |
| 23-05 | 55 | 53 | Stage 2Val-de-Virieu - Saint-Savin (142.0km) | 142.0km |
| 22-05 | 87 | 89 | Stage 1Charvieu-Chavagneux - Charvieu-Chavagneux (127.0km) | 127.0km |
| 19-05 | 4 | | Gran Premio New York City (1.2) | 136.0km |
| 12-05 | 1 | | Flèche Ardennaise (1.2) | 174.0km |
| | | Ronde de l'Isard (2.2U) |
| 7 | | Standings |
| 15 | | Points |
| 5 | | Mountain |
| 4 | | Youth |
| 05-05 | 18 | 7 | Stage 5Pamiers - Saint-Girons (134.0km) | 134.0km |
| 04-05 | 10 | 4 | Stage 4Lavelanet - Plateau de Beille (122.0km) | 122.0km |
| 03-05 | 40 | 4 | Stage 3Bagnères-de-Luchon - Saverdun (153.0km) | 153.0km |
| 02-05 | 5 | 3 | Stage 2Bagnères-de-Bigorre - Bagnères-de-Luchon (125.0km) | 125.0km |
| 01-05 | 40 | 41 | Stage 1L'Isle-en-Dodon - Trie-sur-Baïse (146.0km) | 146.0km |
| 13-04 | 38 | | Liège-Bastogne-Liège U23 (1.2U) | 175.0km |
| | | Circuit des Ardennes (2.2) |
| 40 | | Standings |
| 07-04 | 50 | 40 | Stage 4Sedan - Sedan (163.0km) | 163.0km |
| 06-04 | 26 | 49 | Stage 3Charleville-Mézières - Aiglemont (145.0km) | 145.0km |
| 05-04 | 67 | 78 | Stage 2Auvillers-les-Forges - Hardoncelle (167.0km) | 167.0km |
| 04-04 | 92 | 92 | Stage 1Juniville - Asfeld (165.0km) | 165.0km |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 71 | | Standings |
| 7 | | Mountain |
| 23-03 | 56 | 71 | Stage 5Forlì - Forlì (157.0km) | 157.0km |
| 22-03 | 80 | 80 | Stage 4Brisighella - Brisighella (150.0km) | 150.0km |
| 21-03 | 75 | 85 | Stage 3Riccione - Riccione (134.0km) | 134.0km |
| 20-03 | 76 | 84 | Stage 2Riccione - Sogliano al Rubicone (140.0km) | 140.0km |
| 19-03 | 90 | 90 | Stage 1Pesaro - Pesaro (109.0km) | 109.0km |
| | | Tour du Rwanda (2.1) |
| 36 | | Standings |
| 10 | | Points |
| 17 | | Mountain |
| 25-02 | 28 | 36 | Stage 8Kigali - Kigali (90.0km) | 90.0km |
| 24-02 | 47 | 38 | Stage 7Rukomo - Kayonza (163.0km) | 163.0km |
| 23-02 | 40 | 39 | Stage 6Musanze - Kigali (93.0km) | 93.0km |
| 22-02 | 9 | | Stage 5Musanze - Kinigi (13.0km) | 13.0km |
| 21-02 | 49 | 45 | Stage 4Karongi - Rubavu (92.0km) | 92.0km |
| 20-02 | 61 | 48 | Stage 3Huye - Rusizi (141.0km) | 141.0km |
| 19-02 | 53 | 53 | Stage 2Muhanga - Kibeho (130.0km) | 130.0km |