| 05-10 | 50 | | Il Lombardia Under 23 (1.2U) | 170.0km |
| 27-09 | 7 | | UCI World Championship Zurich U23 (CM) | 173.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 29 | | Klassement |
| 15 | | Punten |
| 5 | | Berg |
| 24-08 | 98 | 29 | Stage 6 Bobbio Pellice - Colle delle Finestre (120.0km) | 120.0km |
| 23-08 | 46 | 7 | Stage 5Les Karellis - Condove (120.0km) | 120.0km |
| 22-08 | 3 | 2 | Stage 4La Rosière-Montvalezan - Les Karellis (143.0km) | 143.0km |
| 21-08 | 2 | 2 | Stage 3Peisey-Vallandry - La Rosière-Montvalezan (71.0km) | 71.0km |
| 20-08 | 57 | 10 | Stage 2Mouchard - Plateau d'Hauteville (170.0km) | 170.0km |
| 19-08 | 79 | 11 | Stage 1Sarrebourg - Ronchamp (185.0km) | 185.0km |
| 18-08 | 9 | 9 | PrologueSarrebourg - Sarrebourg (7.0km) | 7.0km |
| | | Giro Ciclistico della Valle d'Aosta - Mont Blanc (2.2U) |
| 1 | | Klassement |
| 2 | | Punten |
| 3 | | Berg |
| 1 | | Jongeren |
| 21-07 | 3 | 1 | Stage 5Valtournenche - Breuil-Cervinia (95.0km) | 95.0km |
| 20-07 | 1 | 1 | Stage 4Saint-Vincent - Champoluc (163.0km) | 163.0km |
| 19-07 | 3 | 2 | Stage 3Sarre - Pré-Saint-Didier (129.0km) | 129.0km |
| 18-07 | 65 | 8 | Stage 2Verrès - Borgofranco d'Ivrea (127.0km) | 127.0km |
| 17-07 | 8 | 8 | Stage 1Saint-Gervais Mont-Blanc - Passy (40.0km) | 40.0km |
| 14-07 | 14 | | Giro dell'Appennino (1.1) | 198.0km |
| | | Giro d'Italia Next Gen (2.2U) |
| 1 | | Klassement |
| 4 | | Punten |
| 2 | | Berg |
| 1 | | Jongeren |
| 16-06 | 46 | 1 | Stage 8Cesena - Forlimpopoli (146.0km) | 146.0km |
| 15-06 | 25 | 1 | Stage 7Montegrotto Terme - Zocca (170.0km) | 170.0km |
| 14-06 | 1 | 1 | Stage 6Borgo Virgilio - Fosse (145.0km) | 145.0km |
| 13-06 | 112 | 1 | Stage 5Bergamo - Cremona (136.0km) | 136.0km |
| 12-06 | 107 | 1 | Stage 4Pertusio - Borgomanero (130.0km) | 130.0km |
| 11-06 | 1 | 1 | Stage 3Verrès - Pian della Mussa (127.0km) | 127.0km |
| 10-06 | 31 | 6 | Stage 2Aymavilles - Saint-Vincent (121.0km) | 121.0km |
| 09-06 | 9 | 9 | Stage 1Aosta - Aosta (11.0km) | 11.0km |
| | | Alpes Isère Tour (2.2) |
| 1 | | Klassement |
| 2 | | Punten |
| 6 | | Berg |
| 1 | | Jongeren |
| 26-05 | 2 | 1 | Stage 5Saint-Pierre-d'Entremont - Bourg-d'Oisans (170.0km) | 170.0km |
| 25-05 | 64 | 2 | Stage 4Saint-Maurice-l'Exil - Roussillon (149.0km) | 149.0km |
| 24-05 | 73 | 2 | Stage 3Saint-Exupéry - Genas (155.0km) | 155.0km |
| 23-05 | 3 | 2 | Stage 2Val-de-Virieu - Saint-Savin (142.0km) | 142.0km |
| 22-05 | 81 | 5 | Stage 1Charvieu-Chavagneux - Charvieu-Chavagneux (127.0km) | 127.0km |
| 12-05 | 2 | | Flèche Ardennaise (1.2) | 174.0km |
| | | Ronde de l'Isard (2.2U) |
| 2 | | Klassement |
| 5 | | Punten |
| 11 | | Berg |
| 1 | | Jongeren |
| 05-05 | 4 | 2 | Stage 5Pamiers - Saint-Girons (134.0km) | 134.0km |
| 04-05 | 9 | 3 | Stage 4Lavelanet - Plateau de Beille (122.0km) | 122.0km |
| 03-05 | 20 | 3 | Stage 3Bagnères-de-Luchon - Saverdun (153.0km) | 153.0km |
| 02-05 | 3 | 2 | Stage 2Bagnères-de-Bigorre - Bagnères-de-Luchon (125.0km) | 125.0km |
| 01-05 | 48 | 48 | Stage 1L'Isle-en-Dodon - Trie-sur-Baïse (146.0km) | 146.0km |
| 13-04 | DNF | | Liège-Bastogne-Liège U23 (1.2U) | 175.0km |
| | | Circuit des Ardennes (2.2) |
| 22 | | Klassement |
| 21 | | Punten |
| 9 | | Berg |
| 07-04 | 12 | 22 | Stage 4Sedan - Sedan (163.0km) | 163.0km |
| 06-04 | 9 | 28 | Stage 3Charleville-Mézières - Aiglemont (145.0km) | 145.0km |
| 05-04 | 68 | 50 | Stage 2Auvillers-les-Forges - Hardoncelle (167.0km) | 167.0km |
| 04-04 | 57 | 57 | Stage 1Juniville - Asfeld (165.0km) | 165.0km |
| 30-03 | DNF | | Volta Limburg Classic (1.1) | 190.0km |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 22 | | Klassement |
| 23-03 | 37 | 22 | Stage 5Forlì - Forlì (157.0km) | 157.0km |
| 22-03 | 19 | 21 | Stage 4Brisighella - Brisighella (150.0km) | 150.0km |
| 21-03 | 67 | 32 | Stage 3Riccione - Riccione (134.0km) | 134.0km |
| 20-03 | 17 | 28 | Stage 2Riccione - Sogliano al Rubicone (140.0km) | 140.0km |
| 19-03 | 64 | 64 | Stage 1Pesaro - Pesaro (109.0km) | 109.0km |
| 28-02 | 95 | | Trofeo Laigueglia (1.Pro) | 202.0km |