24.09 | DNF | | | European Continental Championships ME - Road Race (CC) Estonia | 199.8 | | | more |
20.09 | 25 | | | Omloop van het Houtland (1.1) | 195.2 | | 3 | more |
17.09 | DNF | | | Grand Prix d'Isbergues - Pas de Calais (1.1) | 197.6 | | | more |
15.09 | 119 | | | Kampioenschap van Vlaanderen (1.1) | 165.1 | | | more |
12.09 | 13 | | | Memorial Briek Schotte (NAT) | 155 | 40 | | more |
10.09 | 32 | | | GP de Fourmies / La Voix du Nord (1.Pro) | 197.6 | | 3 | more |
07.09 | 10 | | | Bordes Izegem Koers (NAT) | 167.4 | 55 | | more |
30.08 | 25 | | | Muur Classic Geraardsbergen (1.2) | 177.8 | | | more |
22.08 › 25.0822-25/8 | | | | Tour Poitou - Charentes en Nouvelle Aquitaine (2.1) | | | | more |
| 8 | | | Youth classificationYouth classification | | | | |
| 26 | | | Points classificationPoints classification | | | | |
| 41 | | | General classificationGeneral classification | | | | |
25.08 | 47 | | | S4Stage 4 - Moncoutant › Poitiers | 170.4 | | | |
24.08 | 55 | 33 | | S3b (ITT)Stage 3b (ITT) - La Roche-Posay › La Roche-Posay | 22.1 | | | |
24.08 | 24 | 20 | | S3aStage 3a - Coussay-les-Bois › La Roche-Posay | 94.1 | | | |
23.08 | 23 | 20 | | S2Stage 2 - Aulnay de Saintonge › Bressuire | 187.3 | | | |
22.08 | 8 | 11 | | S1Stage 1 - Confolens › Matha | 195.2 | 1 | | |
18.08 › 20.0818-20/8 | | | | Baltic Chain Tour (2.2) Estonia | | | | more |
| 2 | | | Points classificationPoints classification | | | | |
| 1 | | | General classificationGeneral classification | | 25 | 40 | |
20.08 | 8 | | | S3Stage 3 - Panevėžys › Panevėžys | 156.5 | | | |
19.08 | 7 | 1 | | S2Stage 2 - Sigulda › Sigulda | 161.6 | | | |
18.08 | 1 | 1 | | S1Stage 1 - Tartu › Valga | 198.7 | 5 | 7 | |
13.08 | 1 | | | Tallinna Rahvasõit (NAT) | 116.6 | 50 | | more |
23.07 | 1 | | | Grand Prix de la ville de Pérenchies (1.2) | 178.4 | 15 | 40 | more |
19.07 | 45 | | | SD WORX BW Classic (1.2) | 185.1 | | | more |
25.06 | 4 | | | National Championships Estonia ME - Road Race (NC) | 162.8 | 4 | 15 | more |
20.06 | 4 | | | National Championships Estonia ME - ITT (NC) | 36.5 | | 5 | more |
09.06 › 11.069-11/6 | | | | Tour d'Eure-et-Loir (2.2) | | | | more |
| NR | | | Mountains classificationMountains classification | | | | |
| NR | | | Points classificationPoints classification | | | | |
| 20 | | | General classificationGeneral classification | | | | |
11.06 | 38 | | | S3Stage 3 - Orgères-en-Beauce › Chartres | 172.5 | | | |
10.06 | 42 | 20 | | S2Stage 2 - Gallardon › Argenvilliers | 189.1 | | | |
09.06 | 11 | 11 | | S1Stage 1 - Châteaudun › Luisant | 161.2 | | | |
28.05 | 10 | | | Hawaii Express Tartu Rattaralli (NAT) | 128 | 33 | | more |
26.05 › 27.0526-27/5 | | | | Tour of Estonia (2.1) Estonia | | | | more |
| 5 | | | Mountains classificationMountains classification | | | | |
| 19 | | | General classificationGeneral classification | | 2 | 3 | |
27.05 | 18 | | | S2Stage 2 - Tartu › Tartu | 164.8 | | | |
26.05 | 15 | 15 | | S1Stage 1 - Tallinn › Tartu | 192.6 | | | |
16.05 › 21.0516-21/5 | | | | 4 Jours de Dunkerque / Grand Prix des Hauts de France (2.Pro) | | | | more |
| 16 | | | Youth classificationYouth classification | | | | |
| 7 | | | Mountains classificationMountains classification | | | | |
| 37 | | | Points classificationPoints classification | | | | |
| 43 | | | General classificationGeneral classification | | | | |
21.05 | 15 | | | S6Stage 6 - Avion › Dunkerque | 173.7 | | | |
20.05 | 49 | 50 | | S5Stage 5 - Roubaix › Cassel 90k | 187.7 | | | |
19.05 | 17 | 68 | | S4Stage 4 - Maubeuge › Achicourt | 173.8 | | | |
18.05 | 83 | 92 | | S3 (ITT)Stage 3 (ITT) - Saint-Quentin › Saint-Quentin | 15.9 | | | |
17.05 | 93 | 86 | | S2Stage 2 - Compiègne › Laon | 162 | | | |
16.05 | 13 | 20 | | S1Stage 1 - Dunkerque › Abbeville | 196.6 | | | |
10.05 | 49 | | | Ruddervoorde Koerse (NAT) | 166.5 | | | more |
07.05 | 19 | | | Trofee Maarten Wynants (NAT) | 159 | 12 | | more |
01.05 | 84 | | | Maggioni Classique Châtillon-Dijon (NAT) | 168 | | | more |
29.04 | 15 | | | Leiedal Koerse Criterium (NAT) | 75 | 11 | | more |
04.04 › 07.044-7/4 | | | | Région Pays de la Loire Tour (2.1) | | | | more |
| 21 | | | Youth classificationYouth classification | | | | |
| 17 | | | Points classificationPoints classification | | | | |
| 66 | | | General classificationGeneral classification | | | | |
07.04 | 72 | | | S4Stage 4 - Sablé-sur-Sarthe › Le Mans | 177.8 | | | |
06.04 | 7 | 34 | | S3Stage 3 - Baugé-en-Anjou › Mayenne | 197.1 | 2 | | |
05.04 | 15 | 55 | | S2Stage 2 - Clisson › Le Lion-d'Angers | 169.4 | | | |
04.04 | 87 | 86 | | S1Stage 1 - Saint-Père-en-Retz › Saint-Gilles-Croix-de-Vie | 148.5 | | | |
16.03 | 29 | | | Grand Prix de Denain - Porte du Hainaut (1.Pro) | 194.7 | | 5 | more |
04.03 | DNF | | | Le Tour des 100 Communes (1.2) | 176.2 | | | more |
28.02 | DNF | | | Le Samyn (1.1) | 209 | | | more |
01.02 › 05.021-5/2 | | | | Etoile de Bessèges - Tour du Gard (2.1) | | | | more |
05.02 | OTL | | | S5 (ITT)Stage 5 (ITT) - Alès › Alès | 10.66 | | | |
04.02 | 104 | 104 | | S4Stage 4 - Saint-Christol-Lèz-Alès › Le Mont Bouquet | 147.5 | | | |
03.02 | 100 | 82 | | S3Stage 3 - Bessèges › Bessèges | 169.71 | | | |
01.02 | 42 | 42 | | S1Stage 1 - Bellegarde › Bellegarde | 162.18 | | | |