| 20-10 | DNS | | Veneto Classic (1.Pro) | 191.0km |
| 16-10 | DNF | | Giro del Veneto (1.Pro) | 173.0km |
| 06-10 | 61 | | Paris - Tours Espoirs (1.2U) | |
| 28-09 | 58 | | Grand Prix Cerami (1.2) | 159.0km |
| 22-09 | 60 | | Paris-Chauny (1.1) | 197.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 84 | | Standings |
| 25 | | Mountain |
| 24-08 | 88 | 84 | Stage 6 Bobbio Pellice - Colle delle Finestre | 120.0km |
| 23-08 | 78 | 82 | Stage 5Les Karellis - Condove | 120.0km |
| 22-08 | 45 | 82 | Stage 4La Rosière-Montvalezan - Les Karellis | 143.0km |
| 21-08 | 98 | 107 | Stage 3Peisey-Vallandry - La Rosière-Montvalezan | 71.0km |
| 20-08 | 95 | 111 | Stage 2Mouchard - Plateau d'Hauteville | 170.0km |
| 19-08 | 119 | 123 | Stage 1Sarrebourg - Ronchamp | 185.0km |
| 18-08 | 48 | 48 | PrologueSarrebourg - Sarrebourg | 7.0km |
| | | Czech Tour (2.1) |
| 68 | | Standings |
| 16 | | Youth |
| 28-07 | 119 | 68 | Stage 4Šumperk - Šternberk | 129.0km |
| 27-07 | 86 | 55 | Stage 3Moravska Trebova - Dlouhé | 131.0km |
| 26-07 | 43 | 44 | Stage 2Zlin - Pustevny | 170.0km |
| 25-07 | 107 | 107 | Stage 1Prostejov - Ostrava | 151.0km |
| 30-06 | DNS | | National Road Championships - Germany U23 (CN) | 148.0km |
| 23-06 | DNF | | National Road Championships - Germany (CN) | 200.0km |
| 21-06 | 4 | | National Road Championships - Germany TT U23 (CN) | 30.0km |
| | | Giro d'Italia Next Gen (2.2U) |
| 62 | | Standings |
| 58 | | Points |
| 16-06 | 88 | 62 | Stage 8Cesena - Forlimpopoli | 146.0km |
| 15-06 | 101 | 55 | Stage 7Montegrotto Terme - Zocca | 170.0km |
| 14-06 | 37 | 55 | Stage 6Borgo Virgilio - Fosse | 145.0km |
| 13-06 | 132 | 103 | Stage 5Bergamo - Cremona | 136.0km |
| 12-06 | 113 | 103 | Stage 4Pertusio - Borgomanero | 130.0km |
| 11-06 | 133 | 116 | Stage 3Verrès - Pian della Mussa | 127.0km |
| 10-06 | 90 | 95 | Stage 2Aymavilles - Saint-Vincent | 121.0km |
| 09-06 | 49 | 49 | Stage 1Aosta - Aosta | 11.0km |
| 26-05 | DNF | | Rund um Köln (1.1) | 194.0km |
| | | Orlen Nations Grand Prix (2.NCUP) |
| 20 | | Standings |
| 17 | | Mountain |
| 19-05 | 23 | 20 | Stage 5Lesko - Arlamów | 143.0km |
| 18-05 | 90 | 20 | Stage 4Bukovina Resort - Jaslo | 175.0km |
| 17-05 | 37 | 21 | Stage 3Tvrdosin - Štrbské Pleso | 121.0km |
| 16-05 | 22 | 20 | Stage 2Prerov - Kohútka | 110.0km |
| 15-05 | 13 | 13 | Stage 1Prostejov - Bouzov | 135.0km |
| 12-05 | DNF | | Boucles de l'Aulne - Châteaulin (1.1) | 181.0km |
| 11-05 | DNF | | Tour du Finistère (1.1) | 199.0km |
| | | Circuit des Ardennes (2.2) |
| 07-04 | DNF | | Stage 4Sedan - Sedan | 163.0km |
| 06-04 | 120 | 116 | Stage 3Charleville-Mézières - Aiglemont | 145.0km |
| 05-04 | 125 | 106 | Stage 2Auvillers-les-Forges - Hardoncelle | 167.0km |
| 04-04 | 58 | 58 | Stage 1Juniville - Asfeld | 165.0km |
| 17-03 | DNF | | Cholet Agglo Tour (1.1) | 205.0km |
| 16-03 | 82 | | Classic Loire Atlantique (1.1) | 182.0km |
| 13-03 | 100 | | Milano - Torino (1.Pro) | 177.0km |
| | | Tour du Rwanda (2.1) |
| 9 | | Standings |
| 15 | | Mountain |
| 25-02 | 23 | 9 | Stage 8Kigali - Kigali | 90.0km |
| 24-02 | 12 | 7 | Stage 7Rukomo - Kayonza | 163.0km |
| 23-02 | 7 | 7 | Stage 6Musanze - Kigali | 93.0km |
| 22-02 | 7 | 6 | Stage 5Musanze - Kinigi | 13.0km |
| 21-02 | 20 | 14 | Stage 4Karongi - Rubavu | 92.0km |
| 20-02 | 8 | 13 | Stage 3Huye - Rusizi | 141.0km |
| 19-02 | 30 | 30 | Stage 2Muhanga - Kibeho | 130.0km |