07.09 › 14.097-14/9 | | | | OVO Energy Tour of Britain (2.HC) Great Britain | | | | more |
| 83 | | | General classificationGeneral classification | | | | |
14.09 | 90 | | | S8Stage 8 - Altrincham › Manchester | 166 | | | |
13.09 | 107 | 83 | | S7Stage 7 - Warwick › Burton Dassett Country Park | 188.7 | | | |
12.09 | 49 | 66 | | S6 (ITT)Stage 6 (ITT) - Pershore › Pershore | 14.4 | | | |
11.09 | 22 | 73 | | S5Stage 5 - Birkenhead › Birkenhead | 174.1 | | | |
10.09 | 88 | 81 | | S4Stage 4 - Gateshead › Kendal | 173.2 | | | |
09.09 | 85 | 82 | | S3Stage 3 - Berwick-upon-Tweed › Newcastle-upon-Tyne | 183.2 | | | |
08.09 | 81 | 97 | | S2Stage 2 - Kelso › Kelso | 165.9 | | | |
07.09 | 112 | 112 | | S1Stage 1 - Glasgow › Kirkcudbright | 201.5 | | | |
02.08 › 05.082-5/8 | | | | Kreiz Breizh Elites (2.2) Great Britain | | | | more |
| 21 | | | Youth classificationYouth classification | | | | |
| 29 | | | Points classificationPoints classification | | | | |
| 53 | | | General classificationGeneral classification | | | | |
05.08 | 52 | | | S4Stage 4 - Guingamp › Rostrenen | 171.8 | | | |
04.08 | 67 | 66 | | S3Stage 3 - Ploerdut › Carhaix | 181.8 | | | |
03.08 | 10 | 11 | | S2Stage 2 - Calanhel › Plouray | 181.1 | | | |
02.08 | 2 | 5 | | S1 (TTT)Stage 1 (TTT) - Ploumagoar › Ploumagoar | 12.4 | 4 | 0.5 | |
30.06 | 104 | | | National Championships Great Britain ME - Road Race (NC) | 190 | | | more |
13.06 › 23.0613-23/6 | | | | Giro Ciclistico d'Italia (2.2U) | | | | more |
15.06 | DNF | | | S2Stage 2 - Bagno di Romagna › Pescia | 185.8 | | | |
14.06 | 161 | 161 | | S1Stage 1 - Riccione › Santa Sofia | 138.8 | | | |
13.06 | 15 | 15 | | ProloguePrologue - Riccione › Riccione | 3.3 | | | |
01.06 › 02.061-2/6 | | | | Orlen Nations Grand Prix (2.Ncup) Great Britain | | | | more |
| 64 | | | General classificationGeneral classification | | | | |
02.06 | 63 | | | S2Stage 2 - Bukovina Resort › Bukowina Tatrzańska | 113 | | | |
01.06 | 6 | 60 | | S1 (TTT)Stage 1 (TTT) - Jurgów › Bukowina Tatrzańska | 26 | | | |
24.05 › 26.0524-26/5 | | | | A Travers les Hauts de France (2.2) | | | | more |
26.05 | DNF | | | S3Stage 3 - Petite-Forêt › Pecquencourt | 188.5 | | | |
25.05 | 88 | 87 | | S2Stage 2 - Seclin › Bonningues-lès-Calais | 197.8 | | | |
24.05 | 90 | 92 | | S1Stage 1 - Gavrelle › Épinoy | 125.7 | | | |
05.05 | 107 | | | Entre Brenne et Montmorillonnais (1.2) | 183.3 | | | more |
04.05 | DNF | | | L'Etoile d'Or (1.Ncup) | 180 | | | more |
01.05 | OTL | | | Eschborn-Frankfurt U23 (1.2U) | 119 | | | more |
20.04 | 115 | | | Arno Wallaard Memorial (1.2) | 183.9 | | | more |
13.04 | DNF | | | Ronde van Vlaanderen Beloften (1.Ncup) Great Britain | 167.5 | | | more |
31.03 | DNF | | | Gent-Wevelgem/Kattekoers-Ieper (1.Ncup) Great Britain | 173.8 | | | more |
20.03 › 24.0320-24/3 | | | | Volta ao Alentejo (2.2) | | | | more |
| 6 | | | Youth classificationYouth classification | | | | |
| 11 | | | Points classificationPoints classification | | | | |
| 25 | | | General classificationGeneral classification | | | | |
24.03 | 8 | | | S6Stage 6 - Portalegre › Évora | 152 | | | |
23.03 | 48 | 29 | | S5 (ITT)Stage 5 (ITT) - Castelo de Vide › Castelo de Vide | 8.4 | | | |
23.03 | 40 | 30 | | S4Stage 4 - Ponte de Sor › Portalegre | 74.3 | | | |
22.03 | 5 | 5 | | S3Stage 3 - Santiago do Cacém › Mora | 176.5 | | | |
21.03 | 12 | 10 | | S2Stage 2 - Mértola › Odemira | 182.8 | | | |
20.03 | 7 | 7 | | S1Stage 1 - Montemor-o-Novo › Moura | 208.1 | | | |