| 19-10 | 87 | | Veneto Classic (1.Pro) | 197.0km |
| 15-10 | 82 | | Giro del Veneto (1.Pro) | 169.0km |
| 12-10 | 83 | | Trofeo Tessile & Moda - Valdengo Oropa (1.1) | 170.0km |
| 07-10 | DNS | | Coppa Citta' Di San Daniele (1.2) | 160.0km |
| 04-10 | 13 | | UEC Road European Championships U23 (CC) | 121.0km |
| | | Škoda Tour de Luxembourg (2.Pro) |
| 16 | | Standings |
| 7 | | Youth |
| 21-09 | 13 | 16 | Stage 5Mersch - Luxembourg | 176.0km |
| 20-09 | 43 | 21 | Stage 4Niederanven - Niederanven | 26.0km |
| 19-09 | 15 | 16 | Stage 3Mertert - Vianden | 170.0km |
| 18-09 | 56 | 30 | Stage 2Remich - Mamer | 168.0km |
| 17-09 | 29 | 29 | Stage 1Luxembourg - Luxembourg | 152.0km |
| | | Giro della Regione Friuli Venezia Giulia (2.2) |
| 07-09 | DNS | | Stage 4Cervignano del Friuli - San Daniele del Friuli | 151.0km |
| 06-09 | | 144 | Stage 3Ampezzo - Ravascletto | 155.0km |
| 05-09 | 164 | 165 | Stage 2Porpetto - Teor | 167.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 29-08 | 35 | 22 | Stage 6aLa Rosière Espace San Bernardo - La Rosière Espace San Bernardo | 41.0km |
| 29-08 | 59 | 22 | Stage 6bLa Rosière-Montvalezan - La Rosière-Montvalezan | 10.0km |
| 28-08 | 17 | 9 | Stage 5Saint-Gervais Mont-Blanc - Tignes | 121.0km |
| 27-08 | 88 | 8 | Stage 4Montagnat - Val Suran | 110.0km |
| 26-08 | 72 | 8 | Stage 3Étang-sur-Arroux - Châtillon-sur-Chalaronne | 158.0km |
| 25-08 | 17 | 8 | Stage 2Saint-Symphorien-sur-Coise - Vitry-en-Charollais | 136.0km |
| 24-08 | 87 | 37 | Stage 1Aoste - Saint-Galmier | 188.0km |
| 23-08 | 35 | 35 | PrologueTignes - Tignes | 3.0km |
| | | Tour de l'Ain (2.1) |
| 08-08 | DNF | | Stage 3Plateau d'Hauteville - Belley | 130.0km |
| 07-08 | 69 | 63 | Stage 2Saint-Vulbas - Lélex Monts-Jura | 153.0km |
| 06-08 | 42 | 42 | Stage 1Feillens - Lagnieu | 163.0km |
| 06-07 | 1 | | National Road Championships - Luxembourg U23 (CN) | |
| 29-06 | 5 | | National Road Championships - Luxembourg (CN) | 140.0km |
| 26-06 | 2 | | National Road Championships - Luxembourg TT U23 (CN) | |
| | | Giro d'Italia Next Gen (2.2U) |
| 39 | | Standings |
| 40 | | Points |
| 22-06 | 120 | 39 | Stage 8Pinerolo - Pinerolo | 127.0km |
| 21-06 | 83 | 33 | Stage 7Bra - Prato Nevoso | 163.0km |
| 20-06 | 52 | 15 | Stage 6Ovada - Acqui Terme | 154.0km |
| 19-06 | 4 | 15 | Stage 5Fiorenzuola d'Arda - Gavi | 153.0km |
| 18-06 | 61 | 27 | Stage 4Manerbio - Salsomaggiore Terme | 134.0km |
| 17-06 | 27 | 26 | Stage 3Albese con Cassano - Passo del Maniva | 144.0km |
| 16-06 | 36 | 55 | Stage 2Rho - Cantù | 146.0km |
| 15-06 | 65 | 65 | Stage 1Rho - Rho | 8.0km |
| | | Course de la Paix Grand Prix Jeseníky (2.NCUP) |
| 9 | | Standings |
| 14 | | Points |
| 01-06 | 26 | 9 | Stage 4Jeseník - Šumperk | 118.0km |
| 31-05 | 8 | 8 | Stage 3Zábřeh - Dlouhé | 131.0km |
| 30-05 | 41 | 12 | Stage 2Uničov - Rýmařov | 149.0km |
| 29-05 | 7 | 7 | Stage 1Krnov - Šternberk | 168.0km |
| | | Tour of the Alps (2.Pro) |
| 69 | | Standings |
| 21 | | Youth |
| 25-04 | 54 | 69 | Stage 5Lienz - Lienz | 112.0km |
| 24-04 | 75 | 69 | Stage 4Sillian - Obertilliach | 162.0km |
| 23-04 | 73 | 76 | Stage 3Sterzing-Ratschings - San Candido | 145.0km |
| 22-04 | 69 | 74 | Stage 2Mezzolombardo - Sterzing-Ratschings | 178.0km |
| 21-04 | 85 | 85 | Stage 1San Lorenzo Dorsino - San Lorenzo Dorsino | 143.0km |
| | | Circuit des Ardennes (2.2) |
| 12 | | Standings |
| 23 | | Mountain |
| 13-04 | 20 | 12 | Stage 5Chooz - Charleville-Mézières | 160.0km |
| 12-04 | 32 | 13 | Stage 4Lac de Bairon - Lac des Vieilles Forges | 178.0km |
| 11-04 | 21 | 16 | Stage 3Boulzicourt - Saint-Marceau | 172.0km |
| 10-04 | 48 | 44 | Stage 2Rethel - Rethel | 172.0km |
| 09-04 | 46 | 50 | Stage 1Sedan - Nouvion-sur-Meuse | 133.0km |
| | | Istrian Spring Tour (2.2) |
| 20 | | Standings |
| 16-03 | 91 | 20 | Stage 3Pazin - Umag | 118.0km |
| 15-03 | 17 | 20 | Stage 2Novigrad - Motovun | 139.0km |
| 14-03 | 62 | 91 | Stage 1Porec - Funtana | 142.0km |
| 13-03 | 141 | 141 | PrologueVrsar - Vrsar | 1.0km |
| 16-02 | 105 | | Figueira Champions Classic (1.Pro) | 192.0km |