| | | Tour of Britain (2.Pro) |
| 66 | | Klassement |
| 10-09 | 69 | 66 | Stage 8Margam Country Park - Caerphilly (166.0km) | 166.0km |
| 09-09 | 47 | 57 | Stage 7Tewkesbury - Gloucester (170.0km) | 170.0km |
| 08-09 | 14 | 57 | Stage 6Southend-on-Sea - Harlow (146.0km) | 146.0km |
| 07-09 | 28 | 58 | Stage 5Felixstowe - Felixstowe (192.0km) | 192.0km |
| 06-09 | 27 | 60 | Stage 4Sherwood Forest - Newark-on-Trent (166.0km) | 166.0km |
| 05-09 | 62 | 60 | Stage 3Goole - Beverley (154.0km) | 154.0km |
| 04-09 | 78 | 74 | Stage 2Wrexham - Wrexham (109.0km) | 109.0km |
| 03-09 | 77 | 77 | Stage 1Altrincham - Manchester (163.0km) | 163.0km |
| 27-08 | 3 | | Ronde van de Achterhoek (1.2) | |
| | | Arctic Race of Norway (2.Pro) |
| 67 | | Klassement |
| 3 | | Punten |
| 20-08 | 103 | 67 | Stage 4Kvalsund - Nordkapp (171.0km) | 171.0km |
| 19-08 | 54 | 40 | Stage 3Hammerfest - Havøysund (167.0km) | 167.0km |
| 18-08 | 25 | 1 | Stage 2Alta - Hammerfest (153.0km) | 153.0km |
| 17-08 | 2 | 2 | Stage 1Kautokeino - Alta (171.0km) | 171.0km |
| | | Tour ALSACE (2.2) |
| 81 | | Klassement |
| 8 | | Punten |
| 30-07 | 77 | 81 | Stage 4Ribeauville - Cernay (139.0km) | 139.0km |
| 29-07 | 2 | 80 | Stage 3Tagolsheim - Altkirch (197.0km) | 197.0km |
| 28-07 | 94 | 92 | Stage 2Vesoul - La Planche des Belles Filles (132.0km) | 132.0km |
| 27-07 | 19 | 49 | Stage 1Rust (Europapark) - Selestat (166.0km) | 166.0km |
| 26-07 | 22 | 54 | PrologueSausheim - Sausheim (4.0km) | 4.0km |
| 23-07 | 48 | | Grand Prix de la ville de Pérenchies (1.2) | |
| 25-06 | DNF | | National Road Championships - Great Britain (CN) | |
| 21-06 | 9 | | National Road Championships - Great Britain TT U23 (CN) | |
| | | Giro d'Italia Giovani (2.2U) |
| 14-06 | 139 | 110 | Stage 4Morbegno - Passo dello Stelvio (118.0km) | 118.0km |
| 13-06 | 5 | 92 | Stage 3Priocca - Magenta (146.0km) | 146.0km |
| 12-06 | 96 | 97 | Stage 2San Francesco al Campo - Cherasco (151.0km) | 151.0km |
| 11-06 | 37 | 37 | Stage 1Aglie - Aglie (9.0km) | 9.0km |
| | | Orlen Nations Grand Prix (2.NCUP) |
| 80 | | Klassement |
| 28-05 | 60 | 80 | Stage 5Sanok - Arlamów (146.0km) | 146.0km |
| 27-05 | 59 | 87 | Stage 4Bukovina - Nowy Sacz (128.0km) | 128.0km |
| 26-05 | 101 | 95 | Stage 3Levoca - Strbské Pleso (130.0km) | 130.0km |
| 25-05 | 86 | 78 | Stage 2Hatvan - Bükkszentkereszt (154.0km) | 154.0km |
| 24-05 | 44 | 44 | Stage 1Kapsosvár - Balatonföldvár (136.0km) | 136.0km |
| 21-05 | 47 | | Antwerp Port Epic / Sels Trophy (1.1) | 192.0km |
| 18-05 | 35 | | Circuit de Wallonie (1.1) | |
| 07-05 | 60 | | Paris-Roubaix Espoirs (1.2U) | |
| | | Le Tour de Bretagne Cycliste (2.2) |
| 46 | | Klassement |
| 2 | | Punten |
| 01-05 | 3 | 46 | Stage 7Piré-Chancé - Châteaugiron (163.0km) | 163.0km |
| 29-04 | 3 | 57 | Stage 5Sérent - Louisfert (173.0km) | 173.0km |
| 28-04 | 28 | 57 | Stage 4Le Mené - Plumelec (183.0km) | 183.0km |
| 27-04 | 76 | 61 | Stage 3Trégunc - Le Quillio (191.0km) | 191.0km |
| 26-04 | 29 | 16 | Stage 2Sibiril - Melgven (172.0km) | 172.0km |
| 25-04 | 5 | 7 | Stage 1Plouescat - Saint-Pol-de-Léon (155.0km) | 155.0km |
| | | Circuit des Ardennes (2.2) |
| 90 | | Klassement |
| 09-04 | 55 | 90 | Stage 4Bazeilles - Charleville-Mézières (180.0km) | 180.0km |
| 08-04 | 120 | 97 | Stage 3Chooz - Haybes (166.0km) | 166.0km |
| 07-04 | 82 | 72 | Stage 2Renneville - Gruyères (187.0km) | 187.0km |
| 06-04 | 22 | 22 | Stage 1Nouvion-sur-Meuse - Sedan (90.0km) | 90.0km |
| 26-03 | 4 | | Gent-Wevelgem / Kattekoers-Ieper U23 (1.2U) | 183.0km |
| 19-03 | 67 | | Cholet - Pays de la Loire (1.1) | 205.0km |
| 18-03 | 62 | | Classic Loire Atlantique (1.1) | 182.0km |
| 05-03 | 16 | | Grand Prix de la Ville de Lillers Souvenir Bruno Comini (1.2) | |
| 04-03 | 26 | | Le Tour des 100 Communes (1.2) | |