| 30-09 | DNS | | Ruota d'Oro - GP Festa del Perdono (1.2U) | 173.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 28-08 | DNF | | Stage 5Saint-Gervais Mont-Blanc - Tignes (121.0km) | 121.0km |
| 27-08 | 86 | 102 | Stage 4Montagnat - Val Suran (110.0km) | 110.0km |
| 26-08 | 71 | 111 | Stage 3Étang-sur-Arroux - Châtillon-sur-Chalaronne (158.0km) | 158.0km |
| 25-08 | 133 | 114 | Stage 2Saint-Symphorien-sur-Coise - Vitry-en-Charollais (136.0km) | 136.0km |
| 24-08 | 118 | 118 | Stage 1Aoste - Saint-Galmier (188.0km) | 188.0km |
| 23-08 | 104 | 104 | PrologueTignes - Tignes (3.0km) | 3.0km |
| 09-08 | 5 | | National Road Championships - France U23 (CN) | |
| | | Tour Alsace (2.2) |
| 35 | | Klassement |
| 33 | | Punten |
| 4 | | Berg |
| 22 | | Jongeren |
| 03-08 | 41 | 35 | Stage 5Ribeauville - Champ du Feu (135.0km) | 135.0km |
| 02-08 | 24 | 30 | Stage 4Ferrette - Altkirch (133.0km) | 133.0km |
| 01-08 | 34 | 35 | Stage 3Velleminfroy - La Planche des Belles Filles (141.0km) | 141.0km |
| 31-07 | 88 | 101 | Stage 2Rust (Europapark) - Selestat (168.0km) | 168.0km |
| 30-07 | 24 | 98 | Stage 1Sausheim - Sausheim (4.0km) | 4.0km |
| | | Giro Ciclistico della Valle d'Aosta - Mont Blanc (2.2U) |
| 17 | | Klassement |
| 18 | | Punten |
| 10 | | Berg |
| 20-07 | 36 | 17 | Stage 5Valtournenche - Breuil-Cervinia (119.0km) | 119.0km |
| 19-07 | 8 | 18 | Stage 4Saint-Pierre - Valsavarenche (160.0km) | 160.0km |
| 18-07 | 66 | 66 | Stage 3Pré-Saint-Didier - Colle del Gran San Bernardo (121.0km) | 121.0km |
| 16-07 | 71 | 71 | Stage 1Aosta - Aosta (85.0km) | 85.0km |
| 24-06 | DNF | | Giro dell'Appennino (1.1) | 198.0km |
| | | Giro d'Italia Next Gen (2.2U) |
| 13 | | Klassement |
| 21 | | Punten |
| 16 | | Berg |
| 22-06 | 19 | 13 | Stage 8Pinerolo - Pinerolo (127.0km) | 127.0km |
| 21-06 | 16 | 12 | Stage 7Bra - Prato Nevoso (163.0km) | 163.0km |
| 20-06 | 8 | 10 | Stage 6Ovada - Acqui Terme (154.0km) | 154.0km |
| 19-06 | 26 | 16 | Stage 5Fiorenzuola d'Arda - Gavi (153.0km) | 153.0km |
| 18-06 | 5 | 14 | Stage 4Manerbio - Salsomaggiore Terme (134.0km) | 134.0km |
| 17-06 | 18 | 19 | Stage 3Albese con Cassano - Passo del Maniva (144.0km) | 144.0km |
| 16-06 | 27 | 47 | Stage 2Rho - Cantù (146.0km) | 146.0km |
| 15-06 | 56 | 56 | Stage 1Rho - Rho (8.0km) | 8.0km |
| | | Course de la Paix Grand Prix Jeseníky (2.NCUP) |
| 12 | | Klassement |
| 37 | | Punten |
| 01-06 | 47 | 12 | Stage 4Jeseník - Šumperk (118.0km) | 118.0km |
| 31-05 | 17 | 12 | Stage 3Zábřeh - Dlouhé (131.0km) | 131.0km |
| 30-05 | 20 | 9 | Stage 2Uničov - Rýmařov (149.0km) | 149.0km |
| 29-05 | 15 | 15 | Stage 1Krnov - Šternberk (168.0km) | 168.0km |
| | | Le Tour de Bretagne Cycliste (2.2) |
| 22 | | Klassement |
| 01-05 | 72 | 22 | Stage 7Landébia - Plancoët (159.0km) | 159.0km |
| 30-04 | 43 | 28 | Stage 6Missillac - Le Pertre (178.0km) | 178.0km |
| 29-04 | 33 | 28 | Stage 5Erdeven - Guenrouet (164.0km) | 164.0km |
| 28-04 | 60 | 42 | Stage 4Plonéour-Lanvern - Landévant (204.0km) | 204.0km |
| 27-04 | 62 | 38 | Stage 3Loudéac - Plonéour-Lanvern (212.0km) | 212.0km |
| 26-04 | 52 | 33 | Stage 2La Gouesnière - Le Cambout (182.0km) | 182.0km |
| 25-04 | 35 | 36 | Stage 1Hirel - La Fresnais (144.0km) | 144.0km |
| | | ΔΕΗ Tour of Hellas (2.1) |
| 102 | | Klassement |
| 26 | | Jongeren |
| 06-04 | 104 | 102 | Stage 5Athene - Athene (155.0km) | 155.0km |
| 05-04 | 97 | 83 | Stage 4Chalkida - Athene (185.0km) | 185.0km |
| 04-04 | | 79 | Stage 3Delphi - Chalkida (151.0km) | 151.0km |
| 03-04 | 76 | 79 | Stage 2Agrinio - Arachova (177.0km) | 177.0km |
| 02-04 | 83 | 83 | Stage 1Patra - Agrinio (140.0km) | 140.0km |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 64 | | Klassement |
| 25 | | Jongeren |
| 29-03 | 84 | 64 | Stage 5Brisighella - Forlì (132.0km) | 132.0km |
| 28-03 | 105 | 64 | Stage 4Brisighella - Brisighella (150.0km) | 150.0km |
| 27-03 | 67 | 47 | Stage 3Riccione - Cesena (142.0km) | 142.0km |
| 26-03 | 58 | 57 | Stage 2Riccione - Sogliano al Rubicone (163.0km) | 163.0km |
| 25-03 | 33 | 33 | Stage 1Ferrara - Bondeno (174.0km) | 174.0km |
| | | Tour of Rhodes (2.2) |
| 1 | | Klassement |
| 2 | | Punten |
| 8 | | Berg |
| 1 | | Jongeren |
| 16-03 | 1 | 1 | Stage 3Kremasti - Kremasti (155.0km) | 155.0km |
| 15-03 | 30 | 10 | Stage 2Rhodes - Kalithies (158.0km) | 158.0km |
| 14-03 | 13 | 9 | Stage 1Rhodes - Soroni (148.0km) | 148.0km |
| 13-03 | 24 | 24 | PrologueRhodes - Rhodes (5.0km) | 5.0km |
| 08-03 | 2 | | Rhodes GP (1.2) | 179.0km |
| | | Visit South Aegean Islands (2.2) |
| 10 | | Klassement |
| 7 | | Jongeren |
| 02-03 | 17 | 10 | Stage 2Rhodes - Salakos (160.0km) | 160.0km |
| 01-03 | 8 | 8 | Stage 1Rhodes - Koskinou (180.0km) | 180.0km |
| | | Tour des Alpes-Maritimes (2.1) |
| 33 | | Klassement |
| 15 | | Jongeren |
| 23-02 | 51 | 33 | Stage 2Villefranche-sur-Mer - Vence (131.0km) | 131.0km |
| 22-02 | 28 | 28 | Stage 1Contes - Gourdon (162.0km) | 162.0km |
| 21-02 | 60 | | Classic Var (1.1) | 165.0km |
| | | AlUla Tour (2.1) |
| 28 | | Klassement |
| 12 | | Jongeren |
| 01-02 | 55 | 28 | Stage 5AlUla Camel Cup Track - AlUla Camel Cup Track (169.0km) | 169.0km |
| 31-01 | 44 | 35 | Stage 4Maraya - Skyviews of Harrat Uwayrid (140.0km) | 140.0km |
| 30-01 | 17 | 25 | Stage 3Hegra - Tayma Fort (180.0km) | 180.0km |
| 29-01 | 38 | 34 | Stage 2AlUla Old Town - Bir Jaydah Mountain Wirkah (132.0km) | 132.0km |
| 28-01 | 38 | 40 | Stage 1Al Manshiyah - Al Manshiyah (142.0km) | 142.0km |