| 06-10 | 13 | | Paris - Tours Espoirs (1.2U) | |
| 03-10 | 23 | | Sparkassen Münsterland Giro (1.Pro) | 205.0km |
| 13-09 | 18 | | UEC Road European Championships U23 (CC) | 162.0km |
| | | Lidl Deutschland Tour (2.Pro) |
| 57 | | Klassement |
| 32 | | Punten |
| 25-08 | 104 | 57 | Stage 4Annweiler am Trifels - Saarbrücken (172.0km) | 172.0km |
| 24-08 | 32 | 26 | Stage 3Schwäbisch Gmünd - Villingen-Schwenningen (212.0km) | 212.0km |
| 23-08 | 9 | 26 | Stage 2Heilbronn - Schwäbisch Gmünd (173.0km) | 173.0km |
| 22-08 | 9 | 41 | Stage 1Schweinfurt - Heilbronn (177.0km) | 177.0km |
| 21-08 | 59 | 59 | PrologueSchweinfurt - Schweinfurt (2.0km) | 2.0km |
| 24-07 | 7 | | Tour de Neuss (CRTP) | |
| | | Tour de l'Ain (2.1) |
| 11 | | Punten |
| 15-07 | | | Stage 3Lagnieu - L'Île Chambod (153.0km) | 153.0km |
| 14-07 | 77 | 77 | Stage 2Saint-Vulbas - Lélex Monts-Jura (145.0km) | 145.0km |
| 13-07 | 3 | 3 | Stage 1Laiz - Bourg-en-Bresse (132.0km) | 132.0km |
| 30-06 | 7 | | National Road Championships - Germany U23 (CN) | 148.0km |
| 23-06 | 19 | | National Road Championships - Germany (CN) | 200.0km |
| 21-06 | 13 | | National Road Championships - Germany TT U23 (CN) | 30.0km |
| | | Oberösterreich Rundfahrt (2.2) |
| 35 | | Klassement |
| 11 | | Jongeren |
| 16-06 | 37 | 35 | Stage 3Asten - Hinterstoder Höss (152.0km) | 152.0km |
| 15-06 | 16 | 11 | Stage 2Wels - Aigen-Schlägl (150.0km) | 150.0km |
| 14-06 | 13 | 17 | Stage 1Elferding - Altheim (185.0km) | 185.0km |
| 13-06 | 14 | 14 | PrologueLinz - Linz0 | 0 |
| | | Tour de la Mirabelle (2.2) |
| 25 | | Klassement |
| 10 | | Punten |
| 10 | | Jongeren |
| 26-05 | 12 | 25 | Stage 3Vandoeuvre-lès-Nancy - Damelevières (164.0km) | 164.0km |
| 25-05 | 3 | 39 | Stage 2Thaon-les-Vosges - Villers-lès-Nancy (169.0km) | 169.0km |
| 24-05 | 67 | 64 | Stage 1Mont-Saint-Martin - Joeuf (152.0km) | 152.0km |
| 23-05 | 46 | 46 | PrologueVerdun - Verdun (5.0km) | 5.0km |
| 20-05 | 3 | | Paris - Troyes (1.2) | 180.0km |
| | | Flèche du Sud (2.2) |
| 52 | | Klassement |
| 12-05 | 94 | 52 | Stage 5Esch-sur-Alzette - Esch-sur-Alzette (149.0km) | 149.0km |
| 11-05 | 41 | 53 | Stage 4Sanem - Sanem (18.0km) | 18.0km |
| 10-05 | 51 | 53 | Stage 3Bourscheid - Bourscheid (127.0km) | 127.0km |
| 09-05 | 56 | 47 | Stage 2Rumelange - Rumelange (151.0km) | 151.0km |
| 08-05 | 45 | 45 | Stage 1Canach - Canach (85.0km) | 85.0km |
| 01-05 | 82 | | Eschborn-Frankfurt U23 (1.2U) | 129.0km |
| 21-04 | 8 | | Gent-Wevelgem / Kattekoers-Ieper U23 (1.2U) | 182.0km |
| | | Tour du Loir et Cher (2.2) |
| 33 | | Klassement |
| 14-04 | 18 | 33 | Stage 5Blois - Blois (97.0km) | 97.0km |
| 13-04 | 24 | 35 | Stage 4Salbris - Salbris (121.0km) | 121.0km |
| 12-04 | 29 | 33 | Stage 3Freteval - Vendôme (199.0km) | 199.0km |
| 11-04 | 27 | 26 | Stage 2Selles-sur-Cher - Fougères-sur-Bièvre (183.0km) | 183.0km |
| 10-04 | 19 | 20 | Stage 1Blois - Vineuil (183.0km) | 183.0km |
| | | Olympia's Tour (2.2) |
| 21-03 | DNF | | Stage 2Baflo - Baflo (144.0km) | 144.0km |
| 20-03 | 132 | 132 | Stage 1Medemblik - Medemblik (145.0km) | 145.0km |
| 17-03 | 85 | | Dorpenomloop Rucphen (1.2) | 181.0km |
| | | Istarsko Proljece - Istrian Spring Trophy (2.2) |
| 28 | | Klassement |
| 47 | | Punten |
| 10-03 | 43 | 28 | Stage 3Pazin - Umag (118.0km) | 118.0km |
| 09-03 | 47 | 33 | Stage 2Novigrad - Motovun (139.0km) | 139.0km |
| 08-03 | 14 | 29 | Stage 1Porec - Funtana (144.0km) | 144.0km |
| 07-03 | 46 | 46 | PrologueVrsar - Vrsar (1.0km) | 1.0km |