| 06-10 | DNF | | Coppa Agostoni (1.1) | 166.0km |
| 05-10 | 1 | | Il Lombardia Under 23 (1.2U) | 170.0km |
| 27-09 | DNF | | UCI World Championship Zurich U23 (CM) | 173.0km |
| | | Skoda Tour de Luxembourg (2.Pro) |
| 22-09 | DNF | | Stage 5Mersch - Luxembourg | 176.0km |
| 21-09 | 48 | 39 | Stage 4Differdange - Differdange | 15.0km |
| 20-09 | 43 | 39 | Stage 3Rosport - Diekirch | 201.0km |
| 19-09 | 69 | 43 | Stage 2Junglinster - Schifflange | 155.0km |
| 18-09 | 39 | 39 | Stage 1Luxembourg - Luxembourg | 156.0km |
| 08-09 | 84 | | GP de Fourmies / La Voix du Nord (1.Pro) | 197.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 8 | | Standings |
| 31 | | Points |
| 20 | | Mountain |
| 24-08 | 5 | 8 | Stage 6 Bobbio Pellice - Colle delle Finestre | 120.0km |
| 23-08 | 18 | 10 | Stage 5Les Karellis - Condove | 120.0km |
| 22-08 | 11 | 11 | Stage 4La Rosière-Montvalezan - Les Karellis | 143.0km |
| 21-08 | 13 | 12 | Stage 3Peisey-Vallandry - La Rosière-Montvalezan | 71.0km |
| 20-08 | 16 | 38 | Stage 2Mouchard - Plateau d'Hauteville | 170.0km |
| 19-08 | 86 | 55 | Stage 1Sarrebourg - Ronchamp | 185.0km |
| 18-08 | 57 | 57 | PrologueSarrebourg - Sarrebourg | 7.0km |
| 11-08 | 3 | | La Polynormande (1.1) | 168.0km |
| | | Tour Alsace (2.2) |
| 11 | | Standings |
| 23 | | Points |
| 21 | | Mountain |
| 6 | | Youth |
| 28-07 | 87 | 11 | Stage 5Rust (Europapark) - Selestat | 166.0km |
| 27-07 | 45 | 10 | Stage 4L'Isle-sur-le-Doubs - Valentigney | 176.0km |
| 26-07 | 7 | 6 | Stage 3Vesoul - La Planche des Belles Filles | 132.0km |
| 25-07 | 7 | 6 | Stage 2Riedisheim - Ferrette | 154.0km |
| 24-07 | | 20 | Stage 1Sausheim - Sausheim | 4.0km |
| 23-06 | 40 | | National Road Championships - France (CN) | 240.0km |
| | | Tour of Slovenia (2.Pro) |
| 19 | | Standings |
| 2 | | Youth |
| 16-06 | 17 | 19 | Stage 5Sentjernej - Novo Mesto | 159.0km |
| 15-06 | 19 | 22 | Stage 4Škofljica - Krvavec | 147.0km |
| 14-06 | 37 | 38 | Stage 3 Ljubljana - Nova Gorica | 160.0km |
| 13-06 | 62 | 68 | Stage 2Zalec - Rogaška Slatina | 180.0km |
| 12-06 | 94 | 94 | Stage 1Murska Sobota - Ormoz | 192.0km |
| | | Course de la Paix U23 (2.NCUP) |
| 1 | | Standings |
| 9 | | Points |
| 4 | | Mountain |
| 02-06 | 23 | 1 | Stage 4Šumperk - Jeseník | 126.0km |
| 01-06 | 1 | 1 | Stage 3Bruntal - Dlouhé | 99.0km |
| 31-05 | 43 | 41 | Stage 2Uničov - Rýmařov | 117.0km |
| 30-05 | 62 | 62 | Stage 1Krnov - Opava | 123.0km |
| | | Orlen Nations Grand Prix (2.NCUP) |
| 2 | | Standings |
| 19-05 | 7 | 2 | Stage 5Lesko - Arlamów | 143.0km |
| 18-05 | 62 | 2 | Stage 4Bukovina Resort - Jaslo | 175.0km |
| 17-05 | 17 | 2 | Stage 3Tvrdosin - Štrbské Pleso | 121.0km |
| 16-05 | 2 | 2 | Stage 2Prerov - Kohútka | 110.0km |
| 15-05 | 16 | 16 | Stage 1Prostejov - Bouzov | 135.0km |
| 11-05 | 2 | | National Road Championships - France U23 (CN) | 166.0km |
| 05-05 | 35 | | Tro-Bro Léon (1.Pro) | 203.0km |
| 04-05 | 48 | | Grand Prix du Morbihan (1.Pro) | 196.0km |
| 13-04 | 5 | | Liège-Bastogne-Liège U23 (1.2U) | 175.0km |
| | | Circuit des Ardennes (2.2) |
| 38 | | Standings |
| 15 | | Mountain |
| 07-04 | 57 | 38 | Stage 4Sedan - Sedan | 163.0km |
| 06-04 | 37 | 38 | Stage 3Charleville-Mézières - Aiglemont | 145.0km |
| 05-04 | 62 | 47 | Stage 2Auvillers-les-Forges - Hardoncelle | 167.0km |
| 04-04 | 59 | 59 | Stage 1Juniville - Asfeld | 165.0km |
| 29-03 | 32 | | La Route Adélie de Vitré (1.1) | |
| 27-03 | 26 | | Paris - Camembert (1.1) | 205.0km |
| 17-03 | 38 | | Cholet Agglo Tour (1.1) | 205.0km |
| 16-03 | 36 | | Classic Loire Atlantique (1.1) | 182.0km |
| | | Tour du Rwanda (2.1) |
| 8 | | Standings |
| 7 | | Points |
| 11 | | Mountain |
| 25-02 | 6 | 8 | Stage 8Kigali - Kigali | 90.0km |
| 24-02 | 7 | 9 | Stage 7Rukomo - Kayonza | 163.0km |
| 23-02 | 15 | 9 | Stage 6Musanze - Kigali | 93.0km |
| 22-02 | 11 | 9 | Stage 5Musanze - Kinigi | 13.0km |
| 21-02 | 11 | 7 | Stage 4Karongi - Rubavu | 92.0km |
| 20-02 | 9 | 7 | Stage 3Huye - Rusizi | 141.0km |
| 19-02 | 9 | 9 | Stage 2Muhanga - Kibeho | 130.0km |