| 27-09 | 31 | | UCI World Championship Firenze U23 (CM) | 185.0km |
| 15-09 | DNF | | Tour du Doubs - Conseil Général (1.1) | |
| | | Tour de l'Avenir (2.NCUP) |
| 30 | | Klassement |
| 31-08 | 35 | 30 | Stage 7Châtel - Plateau des Glières (134.0km) | 134.0km |
| 30-08 | 39 | 29 | Stage 6Morzine - Châtel (126.0km) | 126.0km |
| 29-08 | 22 | 29 | Stage 5Saint Gervais - Morzine (79.0km) | 79.0km |
| 28-08 | 18 | 30 | Stage 4Albertville - Saint-François-Longchamp (106.0km) | 106.0km |
| 27-08 | 80 | 82 | Stage 3Aix-les-Bains - Albertville (127.0km) | 127.0km |
| 26-08 | 80 | 12 | Stage 2Champagnole - Saint-Vulbas (162.0km) | 162.0km |
| 25-08 | 68 | 12 | Stage 1Louhans - Arbois (146.0km) | 146.0km |
| 24-08 | 15 | 15 | PrologueLouhans - Louhans (5.0km) | 5.0km |
| 16-08 | 28 | | GP Capodarco - Comunità di Capodarco (1.2) | |
| | | Tour Alsace (2.2) |
| 21 | | Klassement |
| 28-07 | 33 | 21 | Stage 6Ribeauville - Cernay (139.0km) | 139.0km |
| 27-07 | 25 | 22 | Stage 5Selestat - Le Markstein (176.0km) | 176.0km |
| 26-07 | 19 | 30 | Stage 4Dannemarie - Colmar (164.0km) | 164.0km |
| 25-07 | 37 | 35 | Stage 3Strasbourg - Bischoffsheim (153.0km) | 153.0km |
| 24-07 | 71 | 56 | Stage 2Mulhouse - Huningue (157.0km) | 157.0km |
| 23-07 | 49 | 49 | Stage 1Le Bioscope Ungersheim - Sausheim (118.0km) | 118.0km |
| | | Internationale Thüringen-Rundfahrt U23 (2.2U) |
| 4 | | Klassement |
| 15-06 | 24 | 4 | Stage 7Ichtershausen - Ichtershausen (157.0km) | 157.0km |
| 14-06 | 16 | 4 | Stage 6Ichtershausen - Ichtershausen (171.0km) | 171.0km |
| 13-06 | 6 | 4 | Stage 5Streufdorf - Streufdorf (27.0km) | 27.0km |
| 12-06 | 38 | 6 | Stage 4Langewiesen - Langewiesen (163.0km) | 163.0km |
| 11-06 | 22 | 6 | Stage 3Neuhaus am Rennweg - Neuhaus am Rennweg (152.0km) | 152.0km |
| 10-06 | 13 | 6 | Stage 2Behringen - Behringen (177.0km) | 177.0km |
| 09-06 | 9 | 6 | Stage 1Erfurt - Erfurt (170.0km) | 170.0km |
| 08-06 | 5 | 5 | PrologueSülzenbrücken - Holzhausen (4.0km) | 4.0km |
| 02-06 | 18 | | Trofeo Alcide Degasperi (1.2) | |
| | | Royal Smilde Olympia's Tour (2.2) |
| 7 | | Klassement |
| 18-05 | 6 | 7 | Stage 6Reuver - Reuver (79.0km) | 79.0km |
| 18-05 | 8 | 7 | Stage 5Reuver - Reuver (13.0km) | 13.0km |
| 17-05 | 15 | 7 | Stage 4Bocholtz - Voerendaal (192.0km) | 192.0km |
| 16-05 | 37 | 8 | Stage 3Ulft - Gendringen (157.0km) | 157.0km |
| 15-05 | 13 | 8 | Stage 2Rhenen - Alkmaar (173.0km) | 173.0km |
| 14-05 | 7 | 7 | Stage 1Noordwijk - Hoofddorp (180.0km) | 180.0km |
| 13-05 | 9 | 9 | PrologueKatwijk - Katwijk (3.0km) | 3.0km |
| 28-04 | 43 | | GP Industrie del Marmo (1.2) | |
| 25-04 | 2 | | Gran Premio della Liberazione (1.2U) | |
| 13-04 | 11 | | ZLM tour (1.NCUP) | 177.0km |
| 10-04 | 46 | | La Côte Picarde (1.NCUP) | |
| 02-04 | 25 | | GP Palio del Recioto (1.2U) | |
| 01-04 | 26 | | Giro del Belvedere di Villa di Cordignano (1.2U) | 154.0km |
| 17-03 | 5 | | Oceania Continental Championships (CC) | |
| 14-03 | 3 | | Oceania Continental Championships TT U23 (CC) | |
| | | Tour Down Under (WT) |
| 23 | | Klassement |
| 27-01 | 45 | 23 | Stage 6Adelaide - Adelaide (90.0km) | 90.0km |
| 26-01 | 32 | 24 | Stage 5McLaren Vale - Willunga (151.0km) | 151.0km |
| 25-01 | 50 | 25 | Stage 4Modbury - Tanunda (126.0km) | 126.0km |
| 24-01 | 31 | 25 | Stage 3Unley - Stirling (139.0km) | 139.0km |
| 23-01 | 35 | 35 | Stage 2Mount Barker - Rostrevor (116.0km) | 116.0km |
| 22-01 | 69 | 69 | Stage 1Prospect - Lobethal (135.0km) | 135.0km |
| 20-01 | 16 | | Down Under Classic (Cri) | |