| 27-09 | DNF | | UCI World Championship Zurich U23 (CM) | 173.0km |
| 23-09 | 45 | | UCI World Championship Zurich TT U23 (CM) | 29.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 92 | | Klassement |
| 24-08 | 105 | 92 | Stage 6 Bobbio Pellice - Colle delle Finestre (120.0km) | 120.0km |
| 23-08 | 106 | 90 | Stage 5Les Karellis - Condove (120.0km) | 120.0km |
| 22-08 | 77 | 86 | Stage 4La Rosière-Montvalezan - Les Karellis (143.0km) | 143.0km |
| 21-08 | 89 | 93 | Stage 3Peisey-Vallandry - La Rosière-Montvalezan (71.0km) | 71.0km |
| 20-08 | 92 | 92 | Stage 2Mouchard - Plateau d'Hauteville (170.0km) | 170.0km |
| 19-08 | 30 | 74 | Stage 1Sarrebourg - Ronchamp (185.0km) | 185.0km |
| 18-08 | 79 | 79 | PrologueSarrebourg - Sarrebourg (7.0km) | 7.0km |
| | | Giro d'Italia Next Gen (2.2U) |
| 19 | | Klassement |
| 41 | | Punten |
| 15 | | Berg |
| 16-06 | 5 | 19 | Stage 8Cesena - Forlimpopoli (146.0km) | 146.0km |
| 15-06 | 49 | 21 | Stage 7Montegrotto Terme - Zocca (170.0km) | 170.0km |
| 14-06 | 27 | 20 | Stage 6Borgo Virgilio - Fosse (145.0km) | 145.0km |
| 13-06 | 44 | 15 | Stage 5Bergamo - Cremona (136.0km) | 136.0km |
| 12-06 | 39 | 15 | Stage 4Pertusio - Borgomanero (130.0km) | 130.0km |
| 11-06 | 15 | 15 | Stage 3Verrès - Pian della Mussa (127.0km) | 127.0km |
| 10-06 | 20 | 42 | Stage 2Aymavilles - Saint-Vincent (121.0km) | 121.0km |
| 09-06 | 83 | 83 | Stage 1Aosta - Aosta (11.0km) | 11.0km |
| | | Course de la Paix U23 (2.NCUP) |
| 8 | | Klassement |
| 4 | | Punten |
| 02-06 | 13 | 8 | Stage 4Šumperk - Jeseník (126.0km) | 126.0km |
| 01-06 | 10 | 8 | Stage 3Bruntal - Dlouhé (99.0km) | 99.0km |
| 31-05 | 3 | 6 | Stage 2Uničov - Rýmařov (117.0km) | 117.0km |
| 30-05 | 87 | 87 | Stage 1Krnov - Opava (123.0km) | 123.0km |
| 01-04 | 19 | | Giro del Belvedere (1.2U) | |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 23-03 | DNF | | Stage 5Forlì - Forlì (157.0km) | 157.0km |
| 22-03 | 103 | 115 | Stage 4Brisighella - Brisighella (150.0km) | 150.0km |
| 21-03 | 94 | 119 | Stage 3Riccione - Riccione (134.0km) | 134.0km |
| 20-03 | 125 | 131 | Stage 2Riccione - Sogliano al Rubicone (140.0km) | 140.0km |
| 19-03 | 137 | 137 | Stage 1Pesaro - Pesaro (109.0km) | 109.0km |
| 28-01 | 21 | | National Road Championships - Colombia (CN) | 211.0km |