| 09-10 | 11 | | UCI Gravel World Championship (CM) | 194.0km |
| 25-09 | 40 | | UCI World Championship Wollongong (CM) | 266.0km |
| | | Skoda Tour de Luxembourg (2.Pro) |
| 34 | | Standings |
| 17-09 | 48 | 34 | Stage 5Mersch - Luxembourg | 178.0km |
| 16-09 | 49 | 31 | Stage 4Remich - Remich | 26.0km |
| 15-09 | 31 | 28 | Stage 3Rosport - Diekirch | 188.0km |
| 14-09 | 40 | 35 | Stage 2Junglinster - Schifflange | 163.0km |
| 13-09 | 39 | 39 | Stage 1Luxembourg - Luxembourg | 163.0km |
| 04-09 | 27 | | Tour du Doubs (1.1) | 204.0km |
| | | Deutschland Tour (2.Pro) |
| 34 | | Standings |
| 33 | | Points |
| 28-08 | 42 | 34 | Stage 4Schiltach - Stuttgart | 188.0km |
| 27-08 | 32 | 33 | Stage 3Freiburg - Schauinsland | 150.0km |
| 26-08 | 39 | 40 | Stage 2Meiningen - Marburg | 199.0km |
| 25-08 | 77 | 75 | Stage 1Weimar - Meiningen | 171.0km |
| 24-08 | 88 | 88 | PrologueWeimar - Weimar | 2.0km |
| 14-08 | 26 | | UEC Road European Championships (CC) | 209.0km |
| | | Tour de l'Ain (2.1) |
| 11-08 | DNF | | Stage 3Plateau d'Hauteville - Lélex | 131.0km |
| 10-08 | 105 | 100 | Stage 2Saint-Vulbas - Lagnieu | 144.0km |
| 09-08 | 56 | 56 | Stage 1Chatillon-sur-Chalaronne - Val-Revermont | 152.0km |
| | | Tour de France (2.UWT) |
| 34 | | Standings |
| 97 | | Points |
| 27 | | Mountain |
| 24-07 | 36 | 34 | Stage 21Paris - Paris | 112.0km |
| 23-07 | 80 | 35 | Stage 20Lacapelle-Marival - Rocamadour | 40.0km |
| 22-07 | 36 | 33 | Stage 19Castelnaudary - Cahors | 188.0km |
| 21-07 | 35 | 37 | Stage 18Lourdes - Hautacam | 143.0km |
| 20-07 | 39 | 45 | Stage 17Saint-Gaudens - Peyragudes | 129.0km |
| 19-07 | 58 | 43 | Stage 16Carcassonne - Foix | 178.0km |
| 17-07 | 31 | 42 | Stage 15Rodez - Carcassonne | 202.0km |
| 16-07 | 52 | 46 | Stage 14Saint-Étienne - Mende | 192.0km |
| 15-07 | 117 | 41 | Stage 13Bourg-d'Oisans - Saint-Étienne | 192.0km |
| 14-07 | 28 | 30 | Stage 12Briançon - L'Alpe-d'Huez | 165.0km |
| 13-07 | 42 | 43 | Stage 11Albertville - Col du Granon | 151.0km |
| 12-07 | 41 | 40 | Stage 10Morzine - Megève | 148.0km |
| 10-07 | 59 | 41 | Stage 9Aigle - Les Portes du Soleil | 192.0km |
| 09-07 | 42 | 39 | Stage 8Dôle - Lausanne | 186.0km |
| 08-07 | 45 | 42 | Stage 7Tomblaine - La Planche des Belles Filles | 176.0km |
| 07-07 | 42 | 59 | Stage 6Binche - Longwy | 219.0km |
| 06-07 | 110 | 96 | Stage 5Lille - Arenberg | 157.0km |
| 05-07 | 78 | 93 | Stage 4Dunkerque - Calais | 171.0km |
| 03-07 | 115 | 129 | Stage 3Vejle - Sønderborg | 182.0km |
| 02-07 | 89 | 138 | Stage 2Roskilde - Nyborg | 202.0km |
| 01-07 | 137 | 137 | Stage 1København (Copenhagen) - København (Copenhagen) | 13.0km |
| 14-06 | 22 | | Mont Ventoux Dénivelé Challenge (1.1) | 154.0km |
| | | Critérium du Dauphiné (2.UWT) |
| 51 | | Standings |
| 29 | | Points |
| 17 | | Mountain |
| 12-06 | 65 | 51 | Stage 8Saint-Alban-Leysse - Plateau de Solaison | 139.0km |
| 11-06 | 50 | 50 | Stage 7Saint-Chaffrey - Vaujany | 134.0km |
| 10-06 | 52 | 64 | Stage 6Rives - Gap | 196.0km |
| 09-06 | 11 | 68 | Stage 5Thizy-les-Bourgs - Chaintré | 162.0km |
| 08-06 | 117 | 80 | Stage 4Montbrison - La Bâtie d'Urfé | 31.0km |
| 07-06 | 75 | 70 | Stage 3Saint-Paulien - Chastreix | 164.0km |
| 06-06 | 75 | 72 | Stage 2Saint-Péray - Brives-Charensac | 169.0km |
| 05-06 | 67 | 69 | Stage 1La Voulte-sur-Rhône - Beauchastel | 191.0km |
| 31-05 | 14 | | Mercan'Tour Classic Alpes-Maritimes (1.1) | 167.0km |
| | | Alpes Isère Tour (2.2) |
| 14 | | Standings |
| 36 | | Points |
| 9 | | Mountain |
| 29-05 | 13 | 14 | Stage 5Les Échelles - Allevard-les-Bains | 133.0km |
| 28-05 | 29 | 13 | Stage 4Saint-Maurice-l'Exil - Beaurepaire | 174.0km |
| 27-05 | 15 | 14 | Stage 3Saint-Exupéry - Toussieu | 145.0km |
| 26-05 | 16 | 13 | Stage 2Les Abrets-en-Dauphiné - Saint-Quentin-Fallavier | 161.0km |
| 25-05 | 39 | 43 | Stage 1Charvieu-Chavagneux - Charvieu-Chavagneux | 118.0km |
| 22-05 | 6 | | Boucles de l'Aulne - Châteaulin (1.1) | 177.0km |
| | | 4 Jours de Dunkerque (2.Pro) |
| 15 | | Standings |
| 08-05 | 38 | 15 | Stage 6Ardres - Dunkerque | 182.0km |
| 07-05 | 14 | 15 | Stage 5Roubaix - Cassel | 183.0km |
| 06-05 | 50 | 44 | Stage 4Mazingarbe - Aire-sur-la-Lys | 174.0km |
| 05-05 | 46 | 43 | Stage 3Péronne - Mont-Saint-Éloi | 170.0km |
| 04-05 | 52 | 44 | Stage 2Béthune - Maubeuge | 181.0km |
| 03-05 | 39 | 41 | Stage 1Dunkerque - Aniche | 161.0km |
| 01-05 | 24 | | Eschborn-Frankfurt (1.UWT) | 183.0km |
| 27-02 | DNF | | Drome Classic (1.Pro) | 191.0km |
| 26-02 | 68 | | Faun-Ardèche Classic
(1.Pro) | 168.0km |
| | | Tour de la Provence (2.Pro) |
| 17 | | Standings |
| 13-02 | 16 | 17 | Stage 3Manosque - La Montagne de Lure | 166.0km |
| 12-02 | 14 | 38 | Stage 2Arles - Manosque | 180.0km |
| 11-02 | 41 | 73 | Stage 1Istres - Les Saintes-Maries-de-la-Mer | 152.0km |
| 10-02 | 87 | 87 | PrologueBerre l'Etang - Berre l'Etang | 7.0km |
| | | Etoile de Bessèges (2.1) |
| 32 | | Standings |
| 17 | | Mountain |
| 06-02 | 100 | 32 | Stage 5Alès - Alès | 10.0km |
| 05-02 | 29 | 30 | Stage 4Saint-Hilaire-de-Brethmas - Le Mont Bouquet | 145.0km |
| 04-02 | 71 | 44 | Stage 3Bessèges - Bessèges | 155.0km |
| 03-02 | 25 | 31 | Stage 2Saint-Christol-lès-Alès - Rousson | 155.0km |
| 02-02 | 58 | 58 | Stage 1Bellegarde - Bellegarde | 160.0km |