| 20-10 | DNF | | Japan Cup Cycle Road Race (1.HC) | |
| | | Tour of Croatia (2.1) |
| 88 | | Standings |
| 06-10 | 39 | 88 | Stage 6Sveta Nedelja - Zagreb | 160.0km |
| 05-10 | 69 | 92 | Stage 5Rabac - Platak | 142.0km |
| 04-10 | 101 | 99 | Stage 4Starigrad - Crikvenica | 159.0km |
| 03-10 | 93 | 90 | Stage 3Okrug - Makarska | 165.0km |
| 02-10 | 82 | 88 | Stage 2Slunj - Zadar | 186.0km |
| 01-10 | 109 | 109 | Stage 1Osijek - Lipik | 210.0km |
| 27-09 | DNF | | UCI World Championship Yorkshire U23 (CM) | 193.0km |
| 24-09 | 44 | | UCI World Championship Yorkshire TT U23 (CM) | 30.0km |
| | | OVO Energy Tour of Britain (2.HC) |
| 93 | | Standings |
| 15 | | Mountain |
| 14-09 | 83 | 93 | Stage 8Altrincham - Manchester | 165.0km |
| 13-09 | 99 | 94 | Stage 7Warwick - Burton Dassett Country Park | 186.0km |
| 12-09 | 63 | 85 | Stage 6Pershore - Pershore | 14.0km |
| 11-09 | 65 | 85 | Stage 5Birkenhead - Birkenhead | 174.0km |
| 10-09 | 85 | 92 | Stage 4Gateshead - Kendal | 171.0km |
| 09-09 | 81 | 93 | Stage 3Berwick-upon-Tweed - Newcastle-upon-Tyne | 182.0km |
| 08-09 | 95 | 107 | Stage 2Kelso - Kelso | 166.0km |
| 07-09 | 119 | 119 | Stage 1Glasgow - Kirkcudbright | 201.0km |
| 31-08 | 101 | | Omloop Mandel-Leie-Schelde Meulebeke (1.1) | |
| 28-08 | 41 | | Druivenkoers - Overijse (1.1) | |
| 20-08 | 37 | | GP Stad Zottegem (1.1) | 200.0km |
| | | Tour Alsace (2.2) |
| 103 | | Standings |
| 16 | | Points |
| 04-08 | 66 | 103 | Stage 5Ottmarsheim - Dannemarie | 158.0km |
| 03-08 | 101 | 106 | Stage 4Ribeauville - Lac Blanc | 161.0km |
| 02-08 | 110 | 108 | Stage 3Vesoul - La Planche des Belles Filles | 143.0km |
| 01-08 | 74 | 4 | Stage 2Selestat - Selestat | 153.0km |
| 31-07 | | 11 | Stage 1Sausheim - Sausheim | 4.0km |
| 02-06 | 14 | | Paris-Roubaix Espoirs (1.2U) | |
| | | A Travers les Hauts de France (2.2) |
| 5 | | Standings |
| 2 | | Points |
| 4 | | Mountain |
| 26-05 | 25 | 5 | Stage 3Petite-Forêt - Pecquencourt | 188.0km |
| 25-05 | 30 | 2 | Stage 2Seclin - Bonningues-lès-Calais | 197.0km |
| 24-05 | 58 | 10 | Stage 1Gavrelle - Épinoy | 125.0km |
| | | Tour de Yorkshire (2.HC) |
| 35 | | Standings |
| 6 | | Mountain |
| 05-05 | 37 | 35 | Stage 4Halifax - Leeds | 175.0km |
| 04-05 | 48 | 43 | Stage 3Bridlington - Scarborough | 132.0km |
| 03-05 | 82 | 73 | Stage 2Barnsley - Bedale | 132.0km |
| 02-05 | 71 | 72 | Stage 1Doncaster - Selby | 178.0km |
| 13-04 | 37 | | Ronde van Vlaanderen Beloften (1.NCUP) | |
| | | Le Triptyque des Monts et Châteaux (2.2) |
| 13 | | Standings |
| 12 | | Points |
| 1 | | Mountain |
| 07-04 | 58 | 13 | Stage 3Ath - Tournai | 167.0km |
| 06-04 | 5 | 12 | Stage 2aCelles - Celles | 11.0km |
| 06-04 | 103 | 13 | Stage 2bWodecq - Celles | 112.0km |
| 05-04 | 82 | 23 | Stage 1Frasnes - Chièvres | 147.0km |
| 31-03 | 6 | | Gent-Wevelgem / Kattekoers-Ieper U23 (1.NCUP) | 173.0km |
| | | Volta ao Alentejo (2.2) |
| 48 | | Standings |
| 16 | | Points |
| 1 | | Mountain |
| 24-03 | 44 | 48 | Stage 6Portalegre - Évora | 152.0km |
| 23-03 | 67 | 53 | Stage 4Ponte de Sor - Portalegre | 74.0km |
| 23-03 | 20 | 50 | Stage 5Castelo de Vide - Castelo de Vide | 8.0km |
| 22-03 | 59 | 56 | Stage 3Santiago do Cacém - Mora | 176.0km |
| 21-03 | 62 | 72 | Stage 2Mértola - Odemira | 182.0km |
| 20-03 | 80 | 80 | Stage 1Montemor-o-Novo - Moura | 208.0km |
| 17-03 | 5 | | Classica da Arrabida - Cyclin'Portugal (1.2) | |
| 05-03 | 31 | | Le Samyn (1.1) | 198.0km |
| | | Tour of Antalya (2.2) |
| 22 | | Standings |
| 24-02 | 91 | 22 | Stage 4Side - Antalya | 157.0km |
| 23-02 | 11 | 22 | Stage 3Perge - Termessos | 91.0km |
| 22-02 | 145 | 135 | Stage 2Antalya - Antalya | 109.0km |
| 21-02 | 139 | 135 | Stage 1Köprülü Kanyon - Antalya | 141.0km |
| 06-01 | 1 | | National Road Championships - New Zealand (CN) | |
| 04-01 | 1 | | National Road Championships - New Zealand TT U23 (CN) | |