13.10 | 7 | | | Chrono des Nations (1.1) | 45.43 | 20 | 35 | more |
08.10 | NR | | | Tre Valli Varesine (1.Pro) | 168.33 57.9 | | | more |
07.10 | 115 | | | Coppa Bernocchi - GP Banco BPM (1.Pro) 112k | 174.34 | | | more |
06.10 | DNF | | | Coppa Agostoni - Giro delle Brianze (1.1) | 166.7 | | | more |
18.09 › 22.0918-22/9 | | | | Skoda Tour de Luxembourg (2.Pro) | | | | more |
19.09 | DNF | | | S2Stage 2 - Junglinster › Schifflange | 155 | | | |
18.09 | 88 | 88 | | S1Stage 1 - Luxembourg › Luxembourg | 158 | | | |
12.09 | DNF | | | Gran Premio città di Peccioli - Coppa Sabatini (1.Pro) | 197.6 | | | more |
11.09 | DNF | | | Giro della Toscana - Memorial Alfredo Martini (1.1) | 182.7 | | | more |
08.09 | DNF | | | GP Industria & Artigianato (1.Pro) | 168.8 | | | more |
25.08 | 114 | | | Bretagne Classic - Ouest-France (1.UWT) | 259.8 | 5 | | more |
20.08 › 23.0820-23/8 | | | | Tour Poitou - Charentes en Nouvelle Aquitaine (2.1) | | | | more |
| 10 | | | Mountains classificationMountains classification | | | | |
| 33 | | | Points classificationPoints classification | | | | |
| 8 | | | General classificationGeneral classification | | 18 | 30 | |
23.08 | 19 | | | S4Stage 4 - Fontaine-le-Comte › Poitiers | 175.3 | | | |
22.08 | 8 | 8 | | S3 (ITT)Stage 3 (ITT) - Ménigoute › Fontaine-le-Comte | 29.2 | 1 | | |
21.08 | 51 | 36 | | S2Stage 2 - Gensac-la-Pallue › Niort | 181.7 | | | |
20.08 | 38 | 40 | | S1Stage 1 - Les Gonds › Cognac | 178.5 | | | |
11.08 | 48 | | | Circuito de Getxo - Memorial Hermanos Otxoa (1.1) | 173 | | | more |
10.08 | DNF | | | Donostia San Sebastian Klasikoa (1.UWT) 129k | 236 | | | more |
04.08 › 07.084-7/8 | | | | Arctic Race of Norway (2.Pro) | | | | more |
06.08 | DNS | | | S3Stage 3 - Tverlandet › Sulitjelma (Jakobsbakken) | 155.7 | | | |
05.08 | 78 | 91 | | S2Stage 2 - Beiarn › Fauske | 178.1 | | | |
04.08 | 102 | 103 | | S1Stage 1 - Bodø › Rognan | 155.3 | | | |
25.07 | 29 | | | Prueba Villafranca - Ordiziako Klasika (1.1) | 165.7 | | | more |
23.07 | 93 | | | Vuelta a Castilla y Leon (1.1) | 199.7 | | | more |
13.07 › 15.0713-15/7 | | | | Tour de l'Ain (2.1) | | | | more |
| 23 | | | Mountains classificationMountains classification | | | | |
| 37 | | | General classificationGeneral classification | | | | |
15.07 | 30 | | | S3Stage 3 - Lagnieu › Ile Chambod | 153.1 | | | |
14.07 | 41 | 46 | | S2Stage 2 - Saint-Vulbas › Lélex Monts-Jura 59k | 155.3 | | | |
13.07 | 45 | 45 | | S1Stage 1 - Laiz › Bourg-en-Bresse | 137.3 | | | |
23.06 | DNF | | | National Championships France ME - Road Race (NC) | 240.6 | | | more |
20.06 | 5 | | | National Championships France ME - ITT (NC) | 35.2 | | 10 | more |
12.06 › 16.0612-16/6 | | | | Baloise Belgium Tour (2.Pro) | | | | more |
15.06 | DNF | | | S4Stage 4 - Durbuy › Durbuy | 177 | | | |
14.06 | 157 | 150 | | S3Stage 3 - Turnhout › Scherpenheuvel - Zichem | 188.3 | | | |
13.06 | 141 | 101 | | S2Stage 2 - Merelbeke › Knokke-Heist | 184.2 | | | |
12.06 | 107 | 107 | | S1 (ITT)Stage 1 (ITT) - Beringen › Beringen | 12 | | | |
08.06 | DNF | | | Duracell Dwars door het Hageland (1.Pro) | 178.4 | | | more |
29.05 | DNF | | | Mercan'Tour Classic Alpes-Maritimes (1.1) 50k | 168.2 | | | more |
24.03 | DNF | | | La Roue Tourangelle Centre Val de Loire - Trophée Groupama Paris Val de Loire (1.1) | 200 | | | more |
03.03 › 10.033-10/3 | | | | Paris - Nice (2.UWT) | | | | more |
09.03 | DNF | | | S7Stage 7 - Nice › La Madone d'Utelle | 104 | | | |
08.03 | 133 | 125 | | S6Stage 6 - Sisteron › La Colle-sur-Loup | 198.2 | | | |
07.03 | 141 | 117 | | S5Stage 5 - Saint-Sauveur-de-Montagut › Sisteron 170k | 193.5 | | | |
06.03 | 110 | 84 | | S4Stage 4 - Chalon-sur-Saône › Mont Brouilly | 183 | | | |
05.03 | 13 | 81 | | S3 (TTT)Stage 3 (TTT) - Auxerre › Auxerre | 26.9 | | | |
04.03 | 96 | 106 | | S2Stage 2 - Thoiry › Montargis | 177.6 | | | |
03.03 | 101 | 101 | | S1Stage 1 - Les Mureaux › Les Mureaux | 157.7 | | | |
18.02 › 25.0218-25/2 | | | | Tour du Rwanda (2.1) | | | | more |
| 1 | | | Mountains classificationMountains classification | | | | |
| 11 | | | General classificationGeneral classification | | 12 | 15 | |
25.02 | 2 | | | S8Stage 8 - Kigali › Kigali | 73.6 | 12 | 5 | |
24.02 | 30 | 12 | | S7Stage 7 - Rukomo › Kayonza | 158 | | | |
23.02 | 18 | 12 | | S6Stage 6 - Ruhengeri (Muzanze) › Mont Kigali | 93.3 | | | |
22.02 | 1 | 10 | | S5 (ITT)Stage 5 (ITT) - Ruhengeri (Muzanze) › Kinigi Kwita Izina | 13 | 20 | 14 | |
21.02 | 39 | 24 | | S4Stage 4 - Karongi › Rubavu | 93 | | | |
20.02 | 24 | 23 | | S3Stage 3 - Huye › Rusizi | 140.3 | | | |
19.02 | 15 | 15 | | S2Stage 2 - Muhanga › Kibeho | 129.4 | | | |
18.02 | 5 | | | S1 (TTT)Stage 1 (TTT) - Kigali › Kigali | 18.3 | | | |
30.01 › 03.0230-3/1 | | | | AlUla Tour (2.1) | | | | more |
| 12 | | | Points classificationPoints classification | | | | |
| 50 | | | General classificationGeneral classification | | | | |
03.02 | 5 | | | S5Stage 5 - AlUla Old Town › Skyviews of Harrat Uwayrid | 150.2 | 4 | | |
02.02 | 106 | 76 | | S4Stage 4 - Hegra › Maraya | 142.2 | | | |
01.02 | 41 | 38 | | S3Stage 3 - AlUla International Airport › AlUla Camel Cup Track | 170.6 | | | |
31.01 | 9 | 30 | | S2Stage 2 - AlUla Winter Park › Sharaan Nature Reserve | 199.1 | | | |
30.01 | 62 | 62 | | S1Stage 1 - Al Manshiya Train Station › Al Manshiya Train Station | 149.1 | | | |