| 13-10 | 47 | | Paris-Tours Espoirs (1.2U) | 185.0km |
| 03-10 | 26 | | Sparkassen Münsterland Giro (1.1) | |
| | | Tour du Gévaudan Languedoc-Roussillon (2.2) |
| 13 | | Klassement |
| 29-09 | 15 | 13 | Stage 2Mende - Mende (162.0km) | 162.0km |
| 28-09 | 17 | 17 | Stage 1Chanac - Prat Peyrot (157.0km) | 157.0km |
| 15-09 | 55 | | Rabo Baronie Breda Classic (1.2) | |
| | | Tour de l'Avenir (2.NCUP) |
| 43 | | Klassement |
| 31-08 | 37 | 43 | Stage 7Châtel - Plateau des Glières (134.0km) | 134.0km |
| 30-08 | 44 | 58 | Stage 6Morzine - Châtel (126.0km) | 126.0km |
| 29-08 | 57 | 62 | Stage 5Saint Gervais - Morzine (79.0km) | 79.0km |
| 28-08 | 73 | 67 | Stage 4Albertville - Saint-François-Longchamp (106.0km) | 106.0km |
| 27-08 | 21 | 26 | Stage 3Aix-les-Bains - Albertville (127.0km) | 127.0km |
| 26-08 | 26 | 32 | Stage 2Champagnole - Saint-Vulbas (162.0km) | 162.0km |
| 25-08 | 10 | 32 | Stage 1Louhans - Arbois (146.0km) | 146.0km |
| 24-08 | 42 | 42 | PrologueLouhans - Louhans (5.0km) | 5.0km |
| 20-08 | DNF | | GP Stad Zottegem (1.1) | |
| | | Tour de l'Ain (2.1) |
| 36 | | Klassement |
| 13-08 | 35 | 36 | Stage 4Nantua - Belley (126.0km) | 126.0km |
| 12-08 | 34 | 35 | Stage 3Izernore - Lélex (136.0km) | 136.0km |
| 11-08 | 64 | 56 | Stage 2Courtes - Oyonnax (149.0km) | 149.0km |
| 10-08 | 57 | 20 | Stage 1Lagnieu - Bourg-en-Bresse (156.0km) | 156.0km |
| 09-08 | 19 | 19 | PrologueTrévoux - Trévoux (4.0km) | 4.0km |
| | | Tour Alsace (2.2) |
| 29 | | Klassement |
| 28-07 | 13 | 29 | Stage 6Ribeauville - Cernay (139.0km) | 139.0km |
| 27-07 | 38 | 35 | Stage 5Selestat - Le Markstein (176.0km) | 176.0km |
| 26-07 | 19 | 8 | Stage 4Dannemarie - Colmar (164.0km) | 164.0km |
| 25-07 | 7 | 8 | Stage 3Strasbourg - Bischoffsheim (153.0km) | 153.0km |
| 24-07 | 47 | 40 | Stage 2Mulhouse - Huningue (157.0km) | 157.0km |
| 23-07 | 30 | 30 | Stage 1Le Bioscope Ungersheim - Sausheim (118.0km) | 118.0km |
| | | Internationale Thüringen-Rundfahrt U23 (2.2U) |
| 40 | | Klassement |
| 15-06 | 28 | 40 | Stage 7Ichtershausen - Ichtershausen (157.0km) | 157.0km |
| 14-06 | 72 | 41 | Stage 6Ichtershausen - Ichtershausen (171.0km) | 171.0km |
| 13-06 | 47 | 44 | Stage 5Streufdorf - Streufdorf (27.0km) | 27.0km |
| 12-06 | 77 | 47 | Stage 4Langewiesen - Langewiesen (163.0km) | 163.0km |
| 11-06 | 48 | 47 | Stage 3Neuhaus am Rennweg - Neuhaus am Rennweg (152.0km) | 152.0km |
| 10-06 | 45 | 37 | Stage 2Behringen - Behringen (177.0km) | 177.0km |
| 09-06 | 39 | 37 | Stage 1Erfurt - Erfurt (170.0km) | 170.0km |
| 08-06 | 70 | 70 | PrologueSülzenbrücken - Holzhausen (4.0km) | 4.0km |
| 05-06 | 3 | | National Road Championships - Netherlands TT U23 (CN) | 34.0km |
| 26-05 | DNF | | Boucles de l'Aulne (1.1) | |
| 25-05 | 57 | | Grand Prix de Plumelec-Morbihan (1.1) | |
| | | Rhône-Alpes Isère Tour (2.2) |
| 17 | | Klassement |
| 12-05 | 33 | 17 | Stage 4Charvieu-Chavagneux - Charvieu-Chavagneux (158.0km) | 158.0km |
| 11-05 | 21 | 19 | Stage 3Saint-Maurice-l'Exil - Toussieu (181.0km) | 181.0km |
| 10-05 | 6 | 19 | Stage 2Villefontaine - Saint-Maurice-l'Exil (158.0km) | 158.0km |
| 09-05 | 46 | 46 | Stage 1Les Eparres - Bourgoin-Jallieu (150.0km) | 150.0km |
| 04-05 | 38 | | Ronde van Overijssel (1.2) | 202.0km |
| | | Le Tour de Bretagne Cycliste (2.2) |
| 30 | | Klassement |
| 01-05 | 46 | 30 | Stage 7Huelgoat - Quimperlé (141.0km) | 141.0km |
| 30-04 | 19 | 24 | Stage 6Huelgoat - Huelgoat (15.0km) | 15.0km |
| 29-04 | 56 | 48 | Stage 5Saint-Thélo - Le Quillio (170.0km) | 170.0km |
| 28-04 | 58 | 52 | Stage 4Le Rheu - Fougères (156.0km) | 156.0km |
| 27-04 | 17 | 27 | Stage 3La Turballe - Le Rheu (183.0km) | 183.0km |
| 26-04 | 18 | 33 | Stage 2Ploemel - La Turballe (174.0km) | 174.0km |
| 25-04 | 41 | 48 | Stage 1Sainte-Anne-d'Auray - Pluvigner (166.0km) | 166.0km |
| 21-04 | 103 | | Int. Ronde van Noord-Holland (1.2) | 198.0km |
| 13-04 | 4 | | Liège - Bastogne - Liège U23 (1.2U) | 181.0km |
| | | Circuit des Ardennes International (2.2) |
| 07-04 | DNF | | Stage 4Les Mazures - Tournes (104.0km) | 104.0km |
| 07-04 | | 60 | Stage 3Charleville-Mézières - Charleville-Mézières (22.0km) | 22.0km |
| 06-04 | 74 | 60 | Stage 2Givet - Haybes (161.0km) | 161.0km |
| 05-04 | 49 | 49 | Stage 1Juniville - Tagnon (162.0km) | 162.0km |
| 30-03 | DNF | | Volta Limburg Classic (1.1) | 196.0km |
| | | Volta ao Alentejo (2.2) |
| 18 | | Klassement |
| 24-03 | 18 | 18 | Stage 5Vila Nova de Santo Andre - Santiago do Cacém (135.0km) | 135.0km |
| 23-03 | 22 | 18 | Stage 4Ourique - Odemira (153.0km) | 153.0km |
| 22-03 | 18 | 30 | Stage 3Vidigueira - Mértola (180.0km) | 180.0km |
| 21-03 | 42 | 34 | Stage 2Sousel - Portel (172.0km) | 172.0km |
| 20-03 | 43 | 42 | Stage 1Castelo de Vide - Marvao (167.0km) | 167.0km |
| 10-03 | 45 | | Kattekoers (Deinze-Ieper) (1.2) | 174.0km |
| 03-03 | 39 | | Grand Prix de la Ville de Lillers (1.2) | 177.0km |