30.07 › 03.0830-3/7 | | | | Tour Alsace (2.2) | | | | more |
01.08 | 40 | 39 | | S3Stage 3 - Velleminfroy › La Planche des Belles Filles | 141.4 | | | |
31.07 | 138 | 49 | | S2Stage 2 - Rust (Europa-Park) › Sélestat | 152.7 | | | |
30.07 | 19 | 46 | | S1 (TTT)Stage 1 (TTT) - Sausheim › Sausheim | 4.3 | | | |
27.07 | 122 | | | National Championships Belgium MU - Road Race (NC) | 177.1 | | | more |
16.07 › 20.0716-20/7 | | | | Giro Ciclistico della Valle d'Aosta - Mont Blanc (2.2U) | | | | more |
| 32 | | | General classificationGeneral classification | | | | |
20.07 | 16 | | | S5Stage 5 - Valtournenche › Breuil Cervinia | 119.5 | | | |
19.07 | 51 | 38 | | S4Stage 4 - Saint-Pierre › Valsavarenche (Pont) | 160.6 | | | |
18.07 | 40 | 33 | | S3Stage 3 - Pré-Saint-Didier › Colle del Gran San Bernardo | 81.7 | | | |
16.07 | 13 | 13 | | S1Stage 1 - Aosta › Aosta | 85.4 | | | |
15.06 › 22.0615-22/6 | | | | Giro d'Italia Next Gen (2.2U) | | | | more |
| 102 | | | General classificationGeneral classification | | | | |
22.06 | 111 | | | S8Stage 8 - Pinerolo › Pinerolo | 127 | | | |
21.06 | 113 | 100 | | S7Stage 7 - Bra › Prato Nevoso | 163 | | | |
20.06 | 58 | 93 | | S6Stage 6 - Ovada › Acqui Terme | 154 | | | |
19.06 | 72 | 106 | | S5Stage 5 - Fiorenzuola d'Arda › Gavi | 153 | | | |
18.06 | 141 | 110 | | S4Stage 4 - Manerbio › Salsomaggiore Terme | 134 | | | |
17.06 | 74 | 83 | | S3Stage 3 - Albese Con Cassano › Passo del Maniva | 144 | | | |
16.06 | 126 | 125 | | S2Stage 2 - Rho Fiera Milano › Cantù | 146 | | | |
15.06 | 87 | 87 | | S1 (ITT)Stage 1 (ITT) - Rho › Rho | 8.4 | | | |
21.05 › 25.0521-25/5 | | | | Ronde de l'Isard (2.2U) | | | | more |
| 12 | | | Youth classificationYouth classification | | | | |
| 20 | | | Mountains classificationMountains classification | | | | |
| 21 | | | Points classificationPoints classification | | | | |
| 19 | | | General classificationGeneral classification | | | | |
25.05 | 35 | | | S5Stage 5 - Saubens › Saint-Girons | 150.08 | | | |
24.05 | 26 | 19 | | S4Stage 4 - Espéraza › Pla de Soulcem | 124.3 | | | |
23.05 | 42 | 21 | | S3Stage 3 - Aspet › Salies-du-Salat | 142.94 | | | |
22.05 | 55 | 22 | | S2Stage 2 - Luz-Saint-Sauveur › Cauterets | 132.11 | | | |
21.05 | 3 | 3 | | S1Stage 1 - Saint-Mont › Bagnères-de-Bigorre | 149.19 | 1 | | |
03.05 | 63 | | | Flèche Ardennaise (1.2) | 174.3 | | | more |
19.04 | DNF | | | Liège-Bastogne-Liège MU (1.2U) | 174.6 | | | more |
09.04 › 13.049-13/4 | | | | Circuit des Ardennes (2.2) | | | | more |
11.04 | DNS | | | S3Stage 3 - Boulzicourt › Saint-Marceau | 173 | | | |
10.04 | 106 | 97 | | S2Stage 2 - Rethel › Rethel | 171 | | | |
09.04 | 92 | 94 | | S1Stage 1 - Sedan › Nouvion-sur-Meuse | 133 | | | |
05.04 | DNF | | | Volta NXT Classic ME (1.1) Lotto | 189.8 | | | more |
25.03 › 29.0325-29/3 | | | | Settimana Internazionale Coppi e Bartali (2.1) | | | | more |
28.03 | DNF | | | S4Stage 4 - Brisighella › Brisighella | 150.4 | | | |
27.03 | 135 | 118 | | S3Stage 3 - Riccione › Cesena | 142.1 | | | |
26.03 | 101 | 101 | | S2Stage 2 - Riccione › Sogliano al Rubicone | 163.9 | | | |
25.03 | 167 | 167 | | S1Stage 1 - Ferrara › Bondeno | 174.5 | | -15 | |
09.03 | DNF | | | Grand Prix de la Ville de Lillers Souvenir Bruno Comini (1.2) | 193.6 | | | more |
08.03 | 35 | | | Le Tour des 100 Communes (1.2) | 183.6 | | | more |
02.03 | 46 | | | Brussel-Opwijk (NAT) | 161 | | | more |
22.02 › 23.0222-23/2 | | | | Tour des Alpes-Maritimes (2.1) Lotto | | | | more |
| 20 | | | Youth classificationYouth classification | | | | |
| 45 | | | General classificationGeneral classification | | | | |
23.02 | 52 | | | S2Stage 2 - Villefranche-sur-Mer › Vence | 131.8 | | | |
22.02 | 48 | 48 | | S1Stage 1 - Contes › Gourdon | 162.4 | | | |
21.02 | 46 | | | Classic Var (1.1) Lotto | 164 | | | more |
01.02 | DNS | | | Trofeo Andratx - Pollença (1.1) Lotto | 151.5 23 | | | more |
31.01 | DNF | | | Trofeo Serra Tramuntana (1.1) Lotto | 151.3 | | | more |
29.01 | DNF | | | Trofeo Calvià (1.1) Lotto | 149.6 | | | more |