| 01-10 | 4 | | 88°Piccolo Giro di Lombardia (1.2U) | |
| 25-09 | 59 | | Gooikse Pijl (1.2) | 198.0km |
| 17-09 | 10 | | UEC Road European Championships U23 (CC) | 152.0km |
| 04-09 | 6 | | Kernen Omloop Echt-Susteren (1.2) | |
| | | Tour de l'Avenir (2.NCUP) |
| 17 | | Klassement |
| 27-08 | 40 | 17 | Stage 8Saint-Michel-de-Maurienne - Saint-Sorlin-d'Arves (72.0km) | 72.0km |
| 26-08 | 17 | 14 | Stage 7Val-d'Isère - Vailmeinier (121.0km) | 121.0km |
| 25-08 | 15 | 15 | Stage 6Saint-Gervais Mont-Blanc - Tignes (123.0km) | 123.0km |
| 24-08 | 12 | 28 | Stage 5Scionzier - Les Carroz-d'Arâches (97.0km) | 97.0km |
| 23-08 | 31 | 33 | Stage 4Lugny - Lugny (16.0km) | 16.0km |
| 22-08 | 26 | 39 | Stage 3Bourg-en-Bresse - Autun (171.0km) | 171.0km |
| 21-08 | 14 | 45 | Stage 2Montrond-les-Bains - Trévoux (156.0km) | 156.0km |
| 20-08 | 52 | 52 | Stage 1Le Puy-en-Velay - Veauche (139.0km) | 139.0km |
| | | Tour de l'Ain (2.1) |
| 36 | | Klassement |
| 13-08 | 50 | 36 | Stage 4Lagnieu - Belley (132.0km) | 132.0km |
| 12-08 | 28 | 31 | Stage 3Nantua - Lélex (141.0km) | 141.0km |
| 11-08 | 65 | 47 | Stage 2Saint-Didier-sur-Chalaronne - Montréal-la-Cluse (173.0km) | 173.0km |
| 10-08 | 53 | 53 | Stage 1La Plaine Tonique - Saint-Vulbas (149.0km) | 149.0km |
| | | Tour Alsace (2.2) |
| 52 | | Klassement |
| 31-07 | 86 | 52 | Stage 4Colmar - Selestat (149.0km) | 149.0km |
| 30-07 | 51 | 51 | Stage 3Ribeauville - Lac Blanc (157.0km) | 157.0km |
| 29-07 | 72 | 94 | Stage 2Altkirch - Huningue (151.0km) | 151.0km |
| 28-07 | 44 | 90 | Stage 1Velleminfroy - Dannemarie (171.0km) | 171.0km |
| 27-07 | 104 | 104 | PrologueSausheim - Sausheim (7.0km) | 7.0km |
| | | Giro Ciclistico della Valle d'Aosta Mont Blanc (2.2U) |
| 65 | | Klassement |
| 17-07 | 48 | 65 | Stage 5Valtournenche - Breuil-Cervinia (107.0km) | 107.0km |
| 16-07 | 59 | 83 | Stage 4Pontey - Val Clavalité (166.0km) | 166.0km |
| 15-07 | 39 | 91 | Stage 3Quincinetto - Tavagnasco (159.0km) | 159.0km |
| 14-07 | 108 | 118 | Stage 2Morillon - Saint-Gervais Mont-Blanc (136.0km) | 136.0km |
| 26-06 | 17 | | National Road Championships - Switzerland (CN) | 195.0km |
| 22-06 | 3 | | National Road Championships - Switzerland TT U23 (CN) | 20.0km |
| | | Tour des Pays de Savoie (2.2) |
| 17-06 | DNS | | Stage 2Barby - Les Déserts (118.0km) | 118.0km |
| 16-06 | 81 | 81 | Stage 1Saint-Michel-de-Maurienne - Cruseilles (145.0km) | 145.0km |
| 09-06 | 18 | | GP Kanton Aargau (1.HC) | 172.0km |
| | | Tour de Gironde (2.2) |
| 17 | | Klassement |
| 29-05 | 20 | 17 | Stage 3Captieux - Villenave-d'Ornon (163.0km) | 163.0km |
| 28-05 | 21 | 22 | Stage 2Carbon-Blanc - Cenon (211.0km) | 211.0km |
| 27-05 | 28 | 31 | Stage 1Bordeaux-Caudéran - Lacanau Océan (162.0km) | 162.0km |
| 21-05 | 28 | | Berner Rundfahrt / Tour de Berne (1.2) | |
| 08-05 | 22 | | Flèche Ardennaise (1.2) | |
| 05-05 | 23 | | Dwars door de Vlaamse Ardennen (1.2) | |
| | | Le Tour de Bretagne (2.2) |
| 26 | | Klassement |
| 01-05 | 31 | 26 | Stage 7Le Hinglé - Dinan (149.0km) | 149.0km |
| 30-04 | 55 | 23 | Stage 6Fouesnant - Fouesnant (156.0km) | 156.0km |
| 29-04 | 38 | 23 | Stage 5Plestin-les-Grèves - Treffléan (192.0km) | 192.0km |
| 28-04 | 38 | 22 | Stage 4Plancoët - Lannion (163.0km) | 163.0km |
| 27-04 | 49 | 97 | Stage 3Louisfert - Janzé (152.0km) | 152.0km |
| 26-04 | 91 | 113 | Stage 2Belz - Louisfert (204.0km) | 204.0km |
| 25-04 | 134 | 133 | Stage 1Quiberon - Landévant (158.0km) | 158.0km |
| 16-04 | 18 | | Liège - Bastogne - Liège U23 (1.2U) | |
| 09-04 | DNF | | Ronde van Vlaanderen U23 (1.NCUP) | |
| 03-04 | 2 | | 68° Trofeo Piva (1.2U) | |
| 28-03 | 1 | | Giro del Belvedere (1.2U) | |