| 13-10 | 25 | | Paris-Tours Espoirs (1.2U) | 183.0km |
| 06-10 | 79 | | 91° Il Piccolo Lombardia (1.2U) | |
| 27-09 | 18 | | UCI World Championship Yorkshire U23 (CM) | 193.0km |
| | | OVO Energy Tour of Britain (2.HC) |
| 61 | | Klassement |
| 39 | | Punten |
| 14-09 | 14 | 61 | Stage 8Altrincham - Manchester (165.0km) | 165.0km |
| 13-09 | 106 | 70 | Stage 7Warwick - Burton Dassett Country Park (186.0km) | 186.0km |
| 12-09 | 70 | 53 | Stage 6Pershore - Pershore (14.0km) | 14.0km |
| 11-09 | 79 | 53 | Stage 5Birkenhead - Birkenhead (174.0km) | 174.0km |
| 10-09 | 52 | 54 | Stage 4Gateshead - Kendal (171.0km) | 171.0km |
| 09-09 | 82 | 80 | Stage 3Berwick-upon-Tweed - Newcastle-upon-Tyne (182.0km) | 182.0km |
| 08-09 | 65 | 82 | Stage 2Kelso - Kelso (166.0km) | 166.0km |
| 07-09 | 53 | 56 | Stage 1Glasgow - Kirkcudbright (201.0km) | 201.0km |
| | | Tour Alsace (2.2) |
| 04-08 | DNF | | Stage 5Ottmarsheim - Dannemarie (158.0km) | 158.0km |
| 03-08 | 103 | 108 | Stage 4Ribeauville - Lac Blanc (161.0km) | 161.0km |
| 02-08 | 116 | 122 | Stage 3Vesoul - La Planche des Belles Filles (143.0km) | 143.0km |
| 01-08 | 4 | 99 | Stage 2Selestat - Selestat (153.0km) | 153.0km |
| 31-07 | | 99 | Stage 1Sausheim - Sausheim (4.0km) | 4.0km |
| 30-06 | 11 | | National Road Championships - Great Britain (CN) | |
| 27-06 | 9 | | National Road Championships - Great Britain TT U23 (CN) | |
| | | Baby Giro (2.2U) |
| 88 | | Klassement |
| 20 | | Punten |
| 23-06 | 77 | 88 | Stage 9Agordo - Passo Fedaia (35.0km) | 35.0km |
| 22-06 | 96 | 85 | Stage 8Rosà - Falcade (134.0km) | 134.0km |
| 21-06 | 92 | 81 | Stage 7Dimaro Folgarida - Levico Terme (153.0km) | 153.0km |
| 20-06 | 142 | 86 | Stage 6Aprica - Aprica (94.0km) | 94.0km |
| 19-06 | 101 | 68 | Stage 5Sorbolo - Passo Maniva (155.0km) | 155.0km |
| 17-06 | 66 | 51 | Stage 4Buonconvento - Vetta Amiata (163.0km) | 163.0km |
| 16-06 | 72 | 59 | Stage 3Sesto Fiorentino - Gaiole in Chianti (145.0km) | 145.0km |
| 15-06 | 8 | 8 | Stage 2Bagno di Romagna - Pescia (174.0km) | 174.0km |
| 14-06 | 9 | 6 | Stage 1Riccione - Santa Sofia (143.0km) | 143.0km |
| 13-06 | 9 | 9 | PrologueRiccione - Riccione (3.0km) | 3.0km |
| 02-06 | 8 | | Paris-Roubaix Espoirs (1.2U) | |
| | | A Travers les Hauts de France (2.2) |
| 16 | | Klassement |
| 26-05 | 8 | 16 | Stage 3Petite-Forêt - Pecquencourt (188.0km) | 188.0km |
| 25-05 | 18 | 13 | Stage 2Seclin - Bonningues-lès-Calais (197.0km) | 197.0km |
| 24-05 | 10 | 17 | Stage 1Gavrelle - Épinoy (125.0km) | 125.0km |
| 19-05 | 71 | | Grand Prix Criquielion (1.2) | |
| 04-05 | 78 | | L'Etoile d'Or (1.NCUP) | |
| 01-05 | 3 | | Eschborn-Frankfurt U23 (1.2U) | 147.0km |
| | | Tour du Jura Cycliste (2.2) |
| 44 | | Klassement |
| 28-04 | 44 | 44 | Stage 2Moissey - Dôle (184.0km) | 184.0km |
| 27-04 | 45 | 45 | Stage 1Lavans-lès-Saint-Claude - Saint-Lupicin (154.0km) | 154.0km |
| 20-04 | 37 | | Liège - Bastogne - Liège U23 (1.2U) | 171.0km |
| 13-04 | 3 | | Ronde van Vlaanderen Beloften (1.NCUP) | |
| | | Le Triptyque des Monts et Châteaux (2.2) |
| 5 | | Klassement |
| 2 | | Punten |
| 07-04 | 3 | 5 | Stage 3Ath - Tournai (167.0km) | 167.0km |
| 06-04 | 3 | 7 | Stage 2bWodecq - Celles (112.0km) | 112.0km |
| 06-04 | 18 | 8 | Stage 2aCelles - Celles (11.0km) | 11.0km |
| 05-04 | 2 | 2 | Stage 1Frasnes - Chièvres (147.0km) | 147.0km |
| 31-03 | DNF | | Gent-Wevelgem / Kattekoers-Ieper U23 (1.NCUP) | 173.0km |
| 17-03 | 57 | | Paris-Troyes (1.2) | |