| 23-09 | 113 | | UCI World Championship København U23 (CM) | 168.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 42 | | Klassement |
| 11-09 | 80 | 42 | Stage 7Alba - Alba (138.0km) | 138.0km |
| 10-09 | 71 | 37 | Stage 6Fossano - Fossano (153.0km) | 153.0km |
| 09-09 | 36 | 36 | Stage 5Champagnole - Le Salève (171.0km) | 171.0km |
| 08-09 | 31 | 50 | Stage 4Porrentruy - Arbois (153.0km) | 153.0km |
| 07-09 | 68 | 60 | Stage 3Gérardmer - Porrentruy (166.0km) | 166.0km |
| 06-09 | 46 | 42 | Stage 2Rambervillers - Bruyères (151.0km) | 151.0km |
| 05-09 | 79 | 46 | Stage 1Yutz - Lunéville (160.0km) | 160.0km |
| 04-09 | 46 | 46 | PrologueYutz - Yutz (6.0km) | 6.0km |
| | | La Mi-Août en Bretagne (2.2) |
| 46 | | Klassement |
| 14-08 | 47 | 46 | Stage 4Guerlesquin - Guerlesquin (179.0km) | 179.0km |
| 13-08 | 64 | 46 | Stage 3Poullaouen - Poullaouen (170.0km) | 170.0km |
| 12-08 | 64 | 44 | Stage 2Pont Scor - Cléguer (165.0km) | 165.0km |
| 11-08 | 30 | 30 | Stage 1Plouëc-du-Trieux - Pontrieux (171.0km) | 171.0km |
| 02-07 | 11 | | Omloop Het Nieuwsblad Beloften (1.2) | 178.0km |
| 26-06 | 11 | | National Road Championships - Great Britain (CN) | |
| | | Internationale Thüringen-Rundfahrt U23 (2.2U) |
| 11 | | Klassement |
| 19-06 | 34 | 11 | Stage 7Weida - Weida (166.0km) | 166.0km |
| 18-06 | 20 | 11 | Stage 6Kahla - Kahla (197.0km) | 197.0km |
| 17-06 | 16 | 11 | Stage 5Katzhütte - Neuhaus am Rennweg (11.0km) | 11.0km |
| 16-06 | 12 | 15 | Stage 4Fröttstädt - Ohrdruf (145.0km) | 145.0km |
| 15-06 | 32 | 19 | Stage 3Ohrdruf - Ohrdruf (145.0km) | 145.0km |
| 14-06 | | 19 | Stage 2Streufdorf - Streufdorf (22.0km) | 22.0km |
| 13-06 | 25 | 25 | Stage 1Erfurt - Erfurt (179.0km) | 179.0km |
| | | Tour de Berlin (2.2U) |
| 3 | | Klassement |
| 04-06 | 18 | 3 | Stage 5Berlin - Berlin (183.0km) | 183.0km |
| 03-06 | 17 | 3 | Stage 4Birkenwerder - Birkenwerder (100.0km) | 100.0km |
| 03-06 | 6 | 3 | Stage 3Lehnitz - Oranienburg (16.0km) | 16.0km |
| 02-06 | 4 | 13 | Stage 2Rudow - Rudow (165.0km) | 165.0km |
| 01-06 | | 45 | Stage 1Berlin - Berlin (5.0km) | 5.0km |
| 29-05 | 75 | | Paris-Roubaix Espoirs (1.2U) | 179.0km |
| | | Olympia's Tour (2.2) |
| 21-05 | DNF | | Stage 6Reuver - Buchten (223.0km) | 223.0km |
| 20-05 | 94 | 138 | Stage 5Reuver - Reuver (12.0km) | 12.0km |
| 20-05 | 120 | 136 | Stage 4Elst - Reuver (108.0km) | 108.0km |
| 19-05 | 154 | 139 | Stage 3Ulft - Gendringen (162.0km) | 162.0km |
| 18-05 | 119 | 151 | Stage 2Noordwijk - Olst (202.0km) | 202.0km |
| 17-05 | 173 | 161 | Stage 1Hoofddorp - Noordwijk (150.0km) | 150.0km |
| 16-05 | 82 | 82 | PrologueHoofddorp - Hoofddorp (4.0km) | 4.0km |
| | | Le Tour de Bretagne Cycliste (2.2) |
| 29-04 | DNF | | Stage 5Fouesnant - Morlaix (175.0km) | 175.0km |
| 28-04 | 114 | 109 | Stage 4Saint Avé - Fouesnant (158.0km) | 158.0km |
| 27-04 | 118 | 109 | Stage 3Guérande - Saint Avé (151.0km) | 151.0km |
| 26-04 | 81 | 83 | Stage 2Rennes - Guérande (193.0km) | 193.0km |
| 25-04 | 77 | 81 | Stage 1Argentré du Plessis - Argentré du Plessis (150.0km) | 150.0km |
| 16-04 | 34 | | ZLM tour (1.NCUP) | 179.0km |
| 13-04 | 49 | | La Côte Picarde (1.NCUP) | |
| | | Tour de Normandie (2.2) |
| 80 | | Klassement |
| 27-03 | 99 | 80 | Stage 7Bagnoles de l'Orne - Caen (143.0km) | 143.0km |
| 26-03 | 99 | 75 | Stage 6Gouville-sur-Mer - Bagnoles de l'Orne (172.0km) | 172.0km |
| 25-03 | 75 | 73 | Stage 5Domfront - Agon-Coutainville (168.0km) | 168.0km |
| 24-03 | 78 | 81 | Stage 4Elbeuf - Flers (188.0km) | 188.0km |
| 23-03 | 95 | 98 | Stage 3Grand-Couronne - Elbeuf (72.0km) | 72.0km |
| 23-03 | 116 | 103 | Stage 2Forges-les-Eaux - Grand-Couronne (84.0km) | 84.0km |
| 22-03 | 47 | 17 | Stage 1Colombelles - Forges-les-Eaux (198.0km) | 198.0km |
| 21-03 | 15 | 15 | PrologueMondeville - Mondeville (4.0km) | 4.0km |