09.10 | DNF | | | Paris - Tours Elite (1.Pro) | 213.5 | | | more |
06.10 | 139 | | | Paris - Bourges (1.1) | 198 | | | more |
03.10 | 102 | | | Sparkassen Münsterland Giro (1.Pro) | 205.9 | | | more |
18.09 | DNF | | | Gooikse Pijl (1.1) | 199 | | | more |
17.09 | DNF | | | Primus Classic (1.Pro) | 199.3 | | | more |
16.09 | 122 | | | Kampioenschap van Vlaanderen (1.1) | 195.3 | | | more |
04.09 › 08.094-8/9 | | | | Tour of Britain (2.Pro) | | | | more |
| 87 | | | General classificationGeneral classification | | | | |
08.09 | 81 | | | S5Stage 5 - West Bridgford › Mansfield | 186.8 | | | |
07.09 | 96 | 88 | | S4Stage 4 - Redcar › Duncombe Park, Helmsley | 149.5 | | | |
06.09 | 57 | 80 | | S3Stage 3 - Durham › Sunderland | 163.6 | | | |
05.09 | 96 | 98 | | S2Stage 2 - Hawick › Duns | 175.2 | | | |
04.09 | 102 | 102 | | S1Stage 1 - Aberdeen › Glenshee Ski Centre | 181.3 | | | |
21.08 | 107 | | | BEMER Cyclassics (1.UWT) | 204.7 | 5 | | more |
07.08 | 30 | | | Commonwealth Games ME - Road Race (JR) | 160 | | | more |
30.07 › 05.0830-5/7 | | | | Tour de Pologne (2.UWT) | | | | more |
04.08 | DNS | | | S6 (ITT)Stage 6 (ITT) - Nowy Targ (Gronków) › Stacja Narciarska Rusiński | 11.8 | | | |
03.08 | 122 | 136 | | S5Stage 5 - Łańcut › Rzeszów 160k | 178.1 | | | |
02.08 | 136 | 139 | | S4Stage 4 - Lesko › Sanok | 179.4 | | | |
01.08 | 148 | 145 | | S3Stage 3 - Kraśnik › Przemyśl | 237.9 | | | |
31.07 | 135 | 133 | | S2Stage 2 - Chełm › Zamość | 205.6 | | | |
30.07 | 155 | 149 | | S1Stage 1 - Kielce › Lublin | 218.8 | | | |
23.07 › 27.0723-27/7 | | | | Ethias-Tour de Wallonie (2.Pro) | | | | more |
| 97 | | | General classificationGeneral classification | | | | |
27.07 | 105 | | | S5Stage 5 - Le Roeulx › Chapelle-lez-Herlaimont | 214.8 | | | |
26.07 | 101 | 109 | | S4Stage 4 - Durbuy › Couvin | 200.8 | | | |
25.07 | 36 | 112 | | S3Stage 3 - Visé › Rochefort | 195.6 | | | |
24.07 | 109 | 124 | | S2Stage 2 - Verviers › Herve | 176.8 | | | |
23.07 | 128 | 129 | | S1Stage 1 - Temploux › Huy | 174.4 | | | |
15.06 › 19.0615-19/6 | | | | Baloise Belgium Tour (2.Pro) | | | | more |
| 114 | | | General classificationGeneral classification | | | | |
19.06 | 73 | | | S5Stage 5 - Gingelom › Beringen | 179.9 | | | |
18.06 | 107 | 122 | | S4Stage 4 - Durbuy › Durbuy | 172.2 | | | |
17.06 | 109 | 130 | | S3 (ITT)Stage 3 (ITT) - Scherpenheuvel-Zichem › Scherpenheuvel-Zichem | 11.8 | | | |
16.06 | 62 | 127 | | S2Stage 2 - Beveren › Knokke-Heist | 175.6 | | | |
15.06 | 135 | 135 | | S1Stage 1 - Merelbeke › Maarkedal | 165 | | | |
06.06 | 48 | | | Ronde van Limburg (1.1) | 202.6 | | | more |
05.06 | DNF | | | Brussels Cycling Classic (1.Pro) | 203.9 | | | more |
04.06 | 120 | | | Heylen Vastgoed Heistse Pijl (1.1) | 192.8 | | | more |
24.05 › 29.0524-29/5 | | | | Tour of Norway (2.Pro) | | | | more |
| 42 | | | Points classificationPoints classification | | | | |
| 72 | | | General classificationGeneral classification | | | | |
29.05 | 50 | | | S6Stage 6 - Stavanger › Stavanger | 149.3 | | | |
28.05 | 49 | 78 | | S5Stage 5 - Flekkefjord › Sandnes | 181.7 | | | |
27.05 | 91 | 86 | | S4Stage 4 - Hovden › Kristiansand 205k | 232.1 | | | |
26.05 | 79 | 84 | | S3Stage 3 - Gol › Stavsro/Gaustatoppen | 175.8 | | | |
25.05 | 90 | 91 | | S2Stage 2 - Ulvik › Geilo | 123.8 | | | |
24.05 | 99 | 99 | | S1Stage 1 - Bergen › Voss Resort | 173.6 | | | |
10.04 › 17.0410-17/4 | | | | Presidential Cycling Tour of Türkiye (2.Pro) | | | | more |
15.04 | DNS | | | S6Stage 6 - Edremit (Akçay) › Eceabat (57.Alay Şehitliği) | 201.5 | | | |
14.04 | 147 | 160 | | S5Stage 5 - Manisa › Ayvalık | 186.1 | | | |
13.04 | 159 | 161 | | S4Stage 4 - İzmir (Konak) › Manisa (Spil Milli Park) | 146.2 | | | |
12.04 | 143 | 162 | | S3Stage 3 - Çeşme › İzmir (Karşıyaka) | 117.9 | | | |
11.04 | 159 | 162 | | S2Stage 2 - Selçuk (Efes) › Alaçatı | 156.4 | | | |
10.04 | 165 | 165 | | S1Stage 1 - Bodrum › Kuşadası | 202 | | | |
18.03 | 53 | | | Bredene Koksijde Classic (1.Pro) | 200.9 | | | more |
17.03 | DNF | | | Grand Prix de Denain - Porte du Hainaut (1.Pro) | 200.3 | | | more |
16.03 | 74 | | | Danilith Nokere Koerse (1.Pro) | 189.8 | | | more |
20.02 › 26.0220-26/2 | | | | UAE Tour (2.UWT) | | | | more |
| 85 | | | General classificationGeneral classification | | 5 | | |
26.02 | 76 | | | S7Stage 7 - Al Ain › Jebel Hafeet | 148 | | | |
25.02 | 52 | 97 | | S6Stage 6 - Expo 2020 Dubai › Expo 2020 Dubai | 180 | | | |
24.02 | 64 | 97 | | S5Stage 5 - Ras al Khaimah Corniche › Al Marjan Island | 182 | | | |
23.02 | 100 | 97 | | S4Stage 4 - Fujairah Fort › Jebel Jais | 181 | | | |
22.02 | 99 | 90 | | S3 (ITT)Stage 3 (ITT) - Ajman › Ajman | 9 | | | |
21.02 | 96 | 69 | | S2Stage 2 - Hudayriyat Island › Abu Dhabi Breakwater | 176 | | | |
20.02 | 38 | 42 | | S1Stage 1 - Madinat Zayed › Madinat Zayed | 184 | | | |
13.02 | 8 | | | National Championships New Zealand ME - Road Race (NC) | 90 | | 10 | more |
16.01 | 1 | | | National Criterium Championships New Zealand (NAT) | | | | more |
05.01 › 09.015-9/1 | | | | New Zealand Cycle Classic (2.2) New Zealand | | | | more |
09.01 | DNF | | | S5Stage 5 - Wellington › Wellington | | | | |
08.01 | 46 | 46 | | S4Stage 4 - Masterton › Te Wharau Hill | 137.2 | | | |
07.01 | 16 | 67 | | S3Stage 3 - Masterton › Martinborough | 127.3 | | | |
06.01 | 75 | 72 | | S2Stage 2 - Masterton › Masterton | 158.1 | | | |
05.01 | 3 | 69 | | S1 (TTT)Stage 1 (TTT) - Masterton › Masterton | 10 | 3 | 0.167 | |