| 09-10 | 18 | | Paris - Tours Espoirs (1.2U) | 178.0km |
| 23-09 | 14 | | UCI World Championship Wollongong U23 (CM) | 169.0km |
| | | Tour of Britain (2.Pro) |
| 31 | | Standings |
| 5 | | Points |
| 33 | | Mountain |
| 08-09 | 4 | 31 | Stage 5West Bridgford - Mansfield | 186.0km |
| 07-09 | 6 | 31 | Stage 4Redcar - Duncombe Park | 149.0km |
| 06-09 | 7 | 42 | Stage 3Durham - Sunderland | 163.0km |
| 05-09 | 14 | 48 | Stage 2Hawick - Duns | 175.0km |
| 04-09 | 54 | 54 | Stage 1Aberdeen - Glenshee Ski Centre | 181.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 27-08 | DNS | | Stage 8Ugine - La Toussuire | 99.0km |
| 26-08 | 38 | 31 | Stage 7Thonon-les-Bains - Saint-François-Longchamp | 175.0km |
| 24-08 | 63 | 35 | Stage 6Saint-Amour - Oyonnax | 124.0km |
| 23-08 | | 12 | Stage 5Gueugnon - Saint-Vallier | 27.0km |
| 22-08 | 8 | 7 | Stage 4Sainte-Sévère-sur-Indre - Chaillac | 142.0km |
| 21-08 | 12 | 5 | Stage 3Civray - La Trimouille | 153.0km |
| 20-08 | 3 | 3 | Stage 2Benet - Civray | 142.0km |
| 19-08 | 3 | 3 | Stage 1La Roche-sur-Yon - La Roche-sur-Yon | 121.0km |
| 07-08 | 11 | | Commonwealth Games (JR) | |
| | | Tour d'Alsace (2.2) |
| 55 | | Standings |
| 3 | | Points |
| 31-07 | 1 | 55 | Stage 5Mulhouse - Berrwiller | 158.0km |
| 30-07 | 11 | 57 | Stage 4Kembs - Altkirch | 169.0km |
| 29-07 | 59 | 58 | Stage 3Vesoul - La Planche des Belles Filles | 144.0km |
| 28-07 | 70 | 56 | Stage 2Rust (Europapark) - Scherwiller | 156.0km |
| 27-07 | 4 | 4 | Stage 1Sausheim - Sausheim | 4.0km |
| 26-06 | 2 | | National Road Championships - Great Britain (CN) | |
| 23-06 | 12 | | National Road Championships - Great Britain TT U23 (CN) | |
| | | Baby Giro (2.2U) |
| 53 | | Standings |
| 5 | | Points |
| 19 | | Mountain |
| 18-06 | 2 | 53 | Stage 7Cuneo - Pinerolo | 142.0km |
| 17-06 | 131 | 57 | Stage 6Boves - Colle Fauniera | 110.0km |
| 16-06 | 8 | 41 | Stage 5Busca - Peveragno | 146.0km |
| 14-06 | 109 | 52 | Stage 4Chiuro - Chiavenna | 101.0km |
| 13-06 | 49 | 49 | Stage 3Pinzolo - Santa Caterina Valfurva | 177.0km |
| 12-06 | 13 | 6 | Stage 2Rossano Veneto - Pinzolo | 168.0km |
| 11-06 | 14 | 14 | Stage 1Gradara - Argenta | 163.0km |
| | | Course de la Paix Grand Prix Jeseníky (2.NCUP) |
| 31 | | Standings |
| 05-06 | 1 | 31 | Stage 4Jeseník - Jeseník | 166.0km |
| 04-06 | 40 | 39 | Stage 3Bruntal - Dlouhé | 134.0km |
| 03-06 | 3 | 3 | Stage 2Jeseník - Rýmařov | 131.0km |
| 02-06 | 3 | 3 | Stage 1Jeseník - Jeseník | 3.0km |
| 15-05 | 5 | | Tro-Bro Léon (1.Pro) | 207.0km |
| 14-05 | 60 | | Grand Prix du Morbihan (1.Pro) | |
| | | 4 Jours de Dunkerque (2.Pro) |
| 27 | | Standings |
| 34 | | Points |
| 16 | | Mountain |
| 08-05 | 32 | 27 | Stage 6Ardres - Dunkerque | 182.0km |
| 07-05 | 32 | 29 | Stage 5Roubaix - Cassel | 183.0km |
| 06-05 | 72 | 15 | Stage 4Mazingarbe - Aire-sur-la-Lys | 174.0km |
| 05-05 | 60 | 11 | Stage 3Péronne - Mont-Saint-Éloi | 170.0km |
| 04-05 | 71 | 9 | Stage 2Béthune - Maubeuge | 181.0km |
| 03-05 | 17 | 23 | Stage 1Dunkerque - Aniche | 161.0km |
| 19-04 | 27 | | G.P. Palio del Recioto (1.2U) | |
| 18-04 | 23 | | Giro del Belvedere (1.2U) | |
| 16-04 | 24 | | Liège-Bastogne-Liège U23 (1.2U) | 174.0km |
| | | Le Triptyque des Monts et Châteaux
(2.2U) |
| 16 | | Standings |
| 13 | | Points |
| 18 | | Mountain |
| 03-04 | 45 | 16 | Stage 3bEllezelles - Saint-Sauveur | 96.0km |
| 03-04 | 18 | 10 | Stage 3aWodecq - Wodecq | 14.0km |
| 02-04 | 2 | 8 | Stage 2Bernissart - Tertre | 169.0km |
| 01-04 | 35 | 36 | Stage 1Antoing - Mont-Saint-Aubert | 131.0km |
| 27-03 | 1 | | Gent-Wevelgem / Kattekoers-Ieper U23 (1.NCUP) | 177.0km |
| 17-03 | 34 | | Grand Prix de Denain - Porte du Hainaut (1.Pro) | 200.0km |
| 16-03 | 59 | | Danilith Nokere Koerse (1.Pro) | 189.0km |
| 13-03 | 26 | | Dorpenomloop Rucphen (1.2) | |
| 06-03 | 19 | | Grote Prijs Jean - Pierre Monseré (1.1) | 203.0km |
| 01-03 | 68 | | Le Samyn (1.1) | 209.0km |