| 27-09 | DNF | | UCI World Championship Firenze U23 (CM) | 185.0km |
| 24-09 | DNF | | Ruota d'Oro - GP Festa del Perdono (1.2) | |
| | | Tour de l'Avenir (2.NCUP) |
| 30-08 | DNF | | Stage 6Morzine - Châtel (126.0km) | 126.0km |
| 29-08 | 50 | 34 | Stage 5Saint Gervais - Morzine (79.0km) | 79.0km |
| 28-08 | 34 | 33 | Stage 4Albertville - Saint-François-Longchamp (106.0km) | 106.0km |
| 27-08 | 37 | 42 | Stage 3Aix-les-Bains - Albertville (127.0km) | 127.0km |
| 26-08 | 72 | 49 | Stage 2Champagnole - Saint-Vulbas (162.0km) | 162.0km |
| 25-08 | 60 | 49 | Stage 1Louhans - Arbois (146.0km) | 146.0km |
| 24-08 | 64 | 64 | PrologueLouhans - Louhans (5.0km) | 5.0km |
| 21-08 | 64 | | Coppa Agostoni - Giro delle Brianze (1.1) | 198.0km |
| 16-08 | 67 | | GP Capodarco - Comunità di Capodarco (1.2) | |
| 21-07 | 5 | | European Championship U23 (CC) | 165.0km |
| | | Giro della Valle d'Aosta Mont Blanc (2.2U) |
| 5 | | Klassement |
| 14-07 | 20 | 5 | Stage 5Pré-Saint-Didier - Aosta (89.0km) | 89.0km |
| 13-07 | 2 | 5 | Stage 4Châtel - Morillon (148.0km) | 148.0km |
| 12-07 | 21 | 7 | Stage 3Châtel - Châtel (145.0km) | 145.0km |
| 11-07 | 5 | 6 | Stage 2Saint-Vincent - Champorcher (162.0km) | 162.0km |
| 10-07 | 4 | 4 | Stage 1Pont-Saint-Martin - La Magdeleine (154.0km) | 154.0km |
| 09-07 | 42 | 42 | ProloguePont-Saint-Martin - Pont-Saint-Martin (2.0km) | 2.0km |
| 07-07 | 22 | | Giro del Medio Brenta (1.2) | |
| | | Internationale Thüringen-Rundfahrt U23 (2.2U) |
| 33 | | Klassement |
| 15-06 | 45 | 33 | Stage 7Ichtershausen - Ichtershausen (157.0km) | 157.0km |
| 14-06 | 52 | 33 | Stage 6Ichtershausen - Ichtershausen (171.0km) | 171.0km |
| 13-06 | 18 | 37 | Stage 5Streufdorf - Streufdorf (27.0km) | 27.0km |
| 12-06 | 81 | 42 | Stage 4Langewiesen - Langewiesen (163.0km) | 163.0km |
| 11-06 | 43 | 43 | Stage 3Neuhaus am Rennweg - Neuhaus am Rennweg (152.0km) | 152.0km |
| 10-06 | 75 | 46 | Stage 2Behringen - Behringen (177.0km) | 177.0km |
| 09-06 | 40 | 48 | Stage 1Erfurt - Erfurt (170.0km) | 170.0km |
| 08-06 | 105 | 105 | PrologueSülzenbrücken - Holzhausen (4.0km) | 4.0km |
| 26-05 | 12 | | Tr. Città di San Vendemiano - GP Industria e Commercio (1.2U) | |
| | | Flèche du Sud (2.2) |
| 52 | | Klassement |
| 12-05 | 2 | 52 | Stage 5Esch-sur-Alzette - Esch-sur-Alzette (136.0km) | 136.0km |
| 11-05 | 75 | 61 | Stage 4Kayl - Soleuvre (157.0km) | 157.0km |
| 10-05 | 50 | 48 | Stage 3Bourscheid - Clervaux (146.0km) | 146.0km |
| 09-05 | 88 | 86 | Stage 2Schifflange - Rumelange (145.0km) | 145.0km |
| 08-05 | 127 | 126 | Stage 1Roeser - Roeser (81.0km) | 81.0km |
| | | Tour de Azerbaijan (2.2) |
| 20 | | Klassement |
| 05-05 | 38 | 20 | Stage 5Baku - Baku (144.0km) | 144.0km |
| 04-05 | 7 | 20 | Stage 4Gabala - Tedris Merkezi (115.0km) | 115.0km |
| 03-05 | 26 | 42 | Stage 3Gabala - Gabala (165.0km) | 165.0km |
| 02-05 | 42 | 47 | Stage 2Baku - Ismayilli (185.0km) | 185.0km |
| 01-05 | 100 | 100 | Stage 1Baku - Baku (157.0km) | 157.0km |
| 25-04 | 40 | | Gran Premio della Liberazione (1.2U) | |
| | | Grand Prix of Adygeya (2.2) |
| 29 | | Klassement |
| 21-04 | 70 | 29 | Stage 5Gaverdovskiy - Gaverdovskiy (212.0km) | 212.0km |
| 20-04 | 1 | 29 | Stage 4Maykop - Guseripl (148.0km) | 148.0km |
| 19-04 | 88 | 54 | Stage 3Maykop - Maykop (157.0km) | 157.0km |
| 18-04 | 73 | 54 | Stage 2Maykop - Maykop (171.0km) | 171.0km |
| 17-04 | 5 | 5 | Stage 1Kamennomostskiy - Kamennomostskiy (10.0km) | 10.0km |
| 07-04 | 7 | | Trofeo Piva Banca Popolare di Vicenza (1.2U) | |
| 02-04 | 17 | | GP Palio del Recioto (1.2U) | |
| 01-04 | 11 | | Giro del Belvedere di Villa di Cordignano (1.2U) | 154.0km |
| | | Istarsko proljece - Istrian Spring Trophy (2.2) |
| 35 | | Klassement |
| 17-03 | 115 | 35 | Stage 3Pazin - Umag (153.0km) | 153.0km |
| 16-03 | 30 | 35 | Stage 2Vrsar - Motovun (165.0km) | 165.0km |
| 15-03 | 68 | 86 | Stage 1Umag - Labin (163.0km) | 163.0km |
| 14-03 | 150 | 150 | PrologueUmag - Umag (2.0km) | 2.0km |