1 | 2023-02-12 | 26 | National Championships South Africa ME - Road Race | NC | 170 | - | - | |
2 | 2022-02-13 | 6 | National Championships South Africa ME - Road Race | NC | 169 | 1 | 30 | |
3 | 2021-03-21 | 19 | National Championships South Africa ME - Road Race | NC | 178 | - | - | |
4 | 2019-10-22 | 25 | Gree-Tour of Guangxi | 2.UWT | | 10 | 12 | |
5 | 2019-10-22 | 60 | Gree-Tour of Guangxi | Stage 6 | 2.UWT | 168.3 | - | - | 1275 |
6 | 2019-10-21 | 60 | Gree-Tour of Guangxi | Stage 5 | 2.UWT | 212.2 | - | - | 2133 |
7 | 2019-10-20 | 30 | Gree-Tour of Guangxi | Stage 4 | 2.UWT | 161.4 | - | - | 1589 |
8 | 2019-10-19 | 37 | Gree-Tour of Guangxi | Stage 3 | 2.UWT | 143 | - | - | 2190 |
9 | 2019-10-18 | 44 | Gree-Tour of Guangxi | Stage 2 | 2.UWT | 152.3 | - | - | 601 |
10 | 2019-10-17 | 43 | Gree-Tour of Guangxi | Stage 1 | 2.UWT | 135.6 | - | - | 537 |
11 | 2019-09-22 | DNF | Trofeo Matteotti | 1.1 | 195 | - | - | 2513 |
12 | 2019-09-21 | DNF | Memorial Marco Pantani | 1.1 | 194.7 | - | - | 2928 |
13 | 2019-09-01 | DNF | Bretagne Classic - Ouest-France | 1.UWT | 248.1 | - | - | 3765 |
14 | 2019-08-17 | 95 | Vuelta a Burgos | 2.HC | | - | - | |
15 | 2019-08-17 | 104 | Vuelta a Burgos | Stage 5 | 2.HC | 146 | - | - | 2378 |
16 | 2019-08-16 | 106 | Vuelta a Burgos | Stage 4 | 2.HC | 174 | - | - | 1678 |
17 | 2019-08-15 | 91 | Vuelta a Burgos | Stage 3 | 2.HC | 150 | - | - | 2610 |
18 | 2019-08-14 | 101 | Vuelta a Burgos | Stage 2 | 2.HC | 155 | - | - | 994 |
19 | 2019-08-13 | 42 | Vuelta a Burgos | Stage 1 | 2.HC | 162 | - | - | 1453 |
20 | 2019-08-03 | 79 | Clásica Ciclista San Sebastián | 1.UWT | 227.3 | 5 | - | 3980 |
21 | 2019-06-13 | DNS | Critérium du Dauphiné | Stage 5 | 2.UWT | 201 | - | - | 2098 |
22 | 2019-06-12 | 119 | Critérium du Dauphiné | Stage 4 (ITT) | 2.UWT | 26.1 | - | - | 341 |
23 | 2019-06-11 | 135 | Critérium du Dauphiné | Stage 3 | 2.UWT | 177 | - | - | 1424 |
24 | 2019-06-10 | 125 | Critérium du Dauphiné | Stage 2 | 2.UWT | 180 | - | - | 3127 |
25 | 2019-06-09 | 101 | Critérium du Dauphiné | Stage 1 | 2.UWT | 142 | - | - | 2500 |
26 | 2019-05-01 | DNS | Tour de Romandie | Stage 1 | 2.UWT | 168.4 | - | - | 3094 |
27 | 2019-04-30 | 127 | Tour de Romandie | Prologue | 2.UWT | 3.87 | - | - | 38 |
28 | 2019-04-28 | 100 | Liège-Bastogne-Liège | 1.UWT | 256 | 5 | - | 4075 |
29 | 2019-04-24 | DNF | La Flèche Wallonne | 1.UWT | 195 | - | - | 2930 |
30 | 2019-04-13 | OTL | Itzulia Basque Country | Stage 6 | 2.UWT | 118.2 | - | - | 2850 |
31 | 2019-04-12 | 128 | Itzulia Basque Country | Stage 5 | 2.UWT | 149.8 | - | - | 3231 |
32 | 2019-04-11 | 110 | Itzulia Basque Country | Stage 4 | 2.UWT | 163.6 | - | - | 2223 |
33 | 2019-04-10 | 75 | Itzulia Basque Country | Stage 3 | 2.UWT | 191.4 | - | - | 2356 |
34 | 2019-04-09 | 80 | Itzulia Basque Country | Stage 2 | 2.UWT | 149.5 | - | - | 1887 |
35 | 2019-04-08 | 154 | Itzulia Basque Country | Stage 1 (ITT) | 2.UWT | 11.3 | - | - | 269 |
36 | 2019-03-31 | DNF | Volta Ciclista a Catalunya | Stage 7 | 2.UWT | 143.1 | - | - | 2225 |
37 | 2019-03-30 | 130 | Volta Ciclista a Catalunya | Stage 6 | 2.UWT | 169.1 | - | - | 2025 |
38 | 2019-03-29 | 147 | Volta Ciclista a Catalunya | Stage 5 | 2.UWT | 188.1 | - | - | 2705 |
39 | 2019-03-28 | 151 | Volta Ciclista a Catalunya | Stage 4 | 2.UWT | 150.3 | - | - | 3500 |
40 | 2019-03-27 | 158 | Volta Ciclista a Catalunya | Stage 3 | 2.UWT | 179 | - | - | 3899 |
41 | 2019-03-26 | 116 | Volta Ciclista a Catalunya | Stage 2 | 2.UWT | 166.7 | - | - | 1725 |
42 | 2019-03-25 | 114 | Volta Ciclista a Catalunya | Stage 1 | 2.UWT | 163.7 | - | - | 3015 |
43 | 2019-03-19 | 31 | African Continental Championships - Road Race | CC | 166.4 | - | 3 | |
44 | 2019-02-21 | 12 | Tour of Oman | 2.HC | | 32 | 25 | |
45 | 2019-02-21 | 48 | Tour of Oman | Stage 6 | 2.HC | 135.5 | - | - | 1396 |
46 | 2019-02-20 | 16 | Tour of Oman | Stage 5 | 2.HC | 152 | - | - | 1927 |
47 | 2019-02-19 | 32 | Tour of Oman | Stage 4 | 2.HC | 131 | - | - | 2829 |
48 | 2019-02-18 | 11 | Tour of Oman | Stage 3 | 2.HC | 192.5 | - | - | 2383 |
49 | 2019-02-17 | 36 | Tour of Oman | Stage 2 | 2.HC | 156.5 | - | - | 1843 |
50 | 2019-02-16 | 36 | Tour of Oman | Stage 1 | 2.HC | 138.5 | - | - | 151 |
51 | 2019-02-10 | 6 | National Championships South Africa ME - Road Race | NC | 162 | 1 | 30 | |
52 | 2018-10-07 | 83 | Gran Premio Bruno Beghelli | 1.HC | 196.3 | - | - | 1682 |
53 | 2018-10-06 | 51 | Giro dell'Emilia | 1.HC | 207.4 | - | - | 3307 |
54 | 2018-09-30 | DNF | World Championships ME - Road Race | WC | 258 | - | - | 5020 |
55 | 2018-09-20 | 79 | Coppa Sabatini - Gran Premio citta di Peccioli | 1.1 | 201.8 | - | - | 2166 |
56 | 2018-09-19 | 38 | Giro della Toscana - Memorial Alfredo Martini | 1.1 | 198.9 | - | - | 2502 |
57 | 2018-08-26 | 40 | Deutschland Tour | 2.1 | | - | - | |
58 | 2018-08-26 | 42 | Deutschland Tour | Stage 4 | 2.1 | 207.5 | - | - | 2638 |
59 | 2018-08-25 | 60 | Deutschland Tour | Stage 3 | 2.1 | 177 | - | - | 2379 |
60 | 2018-08-24 | 27 | Deutschland Tour | Stage 2 | 2.1 | 196 | - | - | 2677 |
61 | 2018-08-23 | 46 | Deutschland Tour | Stage 1 | 2.1 | 157 | - | - | 1464 |
62 | 2018-08-19 | 44 | Arctic Race of Norway | 2.HC | | - | - | |
63 | 2018-08-19 | 32 | Arctic Race of Norway | Stage 4 | 2.HC | 145.5 | - | - | 1449 |
64 | 2018-08-18 | 24 | Arctic Race of Norway | Stage 3 | 2.HC | 194 | - | - | 2315 |
65 | 2018-08-17 | 53 | Arctic Race of Norway | Stage 2 | 2.HC | 195 | - | - | 2566 |
66 | 2018-08-16 | 78 | Arctic Race of Norway | Stage 1 | 2.HC | 184 | - | - | 1905 |
67 | 2018-08-04 | DNF | Clasica Ciclista San Sebastian | 1.UWT | 228.7 | - | - | 4130 |
68 | 2018-07-14 | 67 | Int. Österreich-Rundfahrt-Tour of Austria | 2.1 | | - | - | |
69 | 2018-07-14 | 86 | Int. Österreich-Rundfahrt-Tour of Austria | Stage 8 | 2.1 | 163.2 | - | - | 1672 |
70 | 2018-07-13 | 59 | Int. Österreich-Rundfahrt-Tour of Austria | Stage 7 | 2.1 | 129.3 | - | - | 2885 |
71 | 2018-07-12 | 74 | Int. Österreich-Rundfahrt-Tour of Austria | Stage 6 | 2.1 | 167.4 | - | - | 3181 |
72 | 2018-07-11 | 45 | Int. Österreich-Rundfahrt-Tour of Austria | Stage 5 | 2.1 | 92.9 | - | - | 2495 |
73 | 2018-07-10 | 124 | Int. Österreich-Rundfahrt-Tour of Austria | Stage 4 | 2.1 | 143 | - | - | 2295 |
74 | 2018-07-09 | 58 | Int. Österreich-Rundfahrt-Tour of Austria | Stage 3 | 2.1 | 133.6 | - | - | 2254 |
75 | 2018-07-08 | 79 | Int. Österreich-Rundfahrt-Tour of Austria | Stage 2 | 2.1 | 181.5 | - | - | 2722 |
76 | 2018-07-07 | 51 | Int. Österreich-Rundfahrt-Tour of Austria | Stage 1 | 2.1 | 152.8 | - | - | 2262 |
77 | 2018-05-27 | 78 | Giro d'Italia | 2.UWT | | 20 | - | |
78 | 2018-05-27 | 124 | Giro d'Italia | Stage 21 | 2.UWT | 115 | - | - | 897 |
79 | 2018-05-26 | 62 | Giro d'Italia | Stage 20 | 2.UWT | 214 | - | - | 4254 |
80 | 2018-05-25 | 90 | Giro d'Italia | Stage 19 | 2.UWT | 184 | - | - | 5216 |
81 | 2018-05-24 | 154 | Giro d'Italia | Stage 18 | 2.UWT | 196 | - | - | 2314 |
82 | 2018-05-23 | 148 | Giro d'Italia | Stage 17 | 2.UWT | 155 | - | - | 2040 |
83 | 2018-05-22 | 99 | Giro d'Italia | Stage 16 (ITT) | 2.UWT | 34.2 | - | - | 223 |
84 | 2018-05-20 | 41 | Giro d'Italia | Stage 15 | 2.UWT | 176 | - | - | 4112 |
85 | 2018-05-19 | 126 | Giro d'Italia | Stage 14 | 2.UWT | 186 | - | - | 4477 |
86 | 2018-05-18 | 92 | Giro d'Italia | Stage 13 | 2.UWT | 180 | - | - | 429 |
87 | 2018-05-17 | 87 | Giro d'Italia | Stage 12 | 2.UWT | 214 | - | - | 874 |
88 | 2018-05-16 | 63 | Giro d'Italia | Stage 11 | 2.UWT | 156 | - | - | 2027 |
89 | 2018-05-15 | 150 | Giro d'Italia | Stage 10 | 2.UWT | 244 | - | - | 4133 |
90 | 2018-05-13 | 90 | Giro d'Italia | Stage 9 | 2.UWT | 225 | - | - | 4034 |
91 | 2018-05-12 | 69 | Giro d'Italia | Stage 8 | 2.UWT | 209 | - | - | 3248 |
92 | 2018-05-11 | 117 | Giro d'Italia | Stage 7 | 2.UWT | 159 | - | - | 1023 |
93 | 2018-05-10 | 69 | Giro d'Italia | Stage 6 | 2.UWT | 164 | - | - | 3307 |
94 | 2018-05-09 | 65 | Giro d'Italia | Stage 5 | 2.UWT | 153 | - | - | 2237 |
95 | 2018-05-08 | 76 | Giro d'Italia | Stage 4 | 2.UWT | 202 | - | - | 3428 |
96 | 2018-05-06 | 139 | Giro d'Italia | Stage 3 | 2.UWT | 229 | - | - | 1771 |
97 | 2018-05-05 | 80 | Giro d'Italia | Stage 2 | 2.UWT | 167 | - | - | 988 |
98 | 2018-05-04 | 100 | Giro d'Italia | Stage 1 (ITT) | 2.UWT | 9.7 | - | - | 155 |
99 | 2018-04-22 | 79 | Liège - Bastogne - Liège | 1.UWT | 258.5 | 5 | - | 4109 |
100 | 2018-04-19 | DNS | Tour of the Alps | Stage 4 | 2.HC | 134.3 | - | - | 2408 |
| | | | | 15544.97 | 79 | 100 | 206360 |