1 | 2019-04-08 | DNS | Tour du Maroc | Stage 4 | 2.2 | 128 | - | - | 1237 |
2 | 2019-04-07 | 84 | Tour du Maroc | Stage 3 | 2.2 | 183 | - | - | 4205 |
3 | 2019-04-06 | 97 | Tour du Maroc | Stage 2 | 2.2 | 140.5 | - | - | 1110 |
4 | 2019-04-05 | 97 | Tour du Maroc | Stage 1 | 2.2 | 159 | - | - | 1072 |
5 | 2019-03-08 | 41 | Tour of Good Hope | 2.2 | | - | - | |
6 | 2019-03-08 | 52 | Tour of Good Hope | Stage 5 | 2.2 | 66.7 | - | - | |
7 | 2019-03-07 | 37 | Tour of Good Hope | Stage 4 | 2.2 | 126.7 | - | - | |
8 | 2019-03-06 | 4 | Tour of Good Hope | Stage 3 (TTT) | 2.2 | 16.5 | 2 | - | |
9 | 2019-03-05 | 60 | Tour of Good Hope | Stage 2 | 2.2 | 114 | - | - | |
10 | 2019-03-04 | 58 | Tour of Good Hope | Stage 1 | 2.2 | 58.7 | - | - | |
11 | 2019-02-10 | 61 | National Championships South Africa ME - Road Race | NC | 162 | - | - | |
12 | 2019-01-27 | 33 | La Tropicale Amissa Bongo | 2.1 | | - | - | |
13 | 2019-01-27 | 46 | La Tropicale Amissa Bongo | Stage 7 | 2.1 | 140 | - | - | 831 |
14 | 2019-01-26 | 46 | La Tropicale Amissa Bongo | Stage 6 | 2.1 | 110 | - | - | 910 |
15 | 2019-01-25 | 49 | La Tropicale Amissa Bongo | Stage 5 | 2.1 | 126 | - | - | 863 |
16 | 2019-01-24 | 50 | La Tropicale Amissa Bongo | Stage 4 | 2.1 | 113 | - | - | 918 |
17 | 2019-01-23 | 42 | La Tropicale Amissa Bongo | Stage 3 | 2.1 | 98 | - | - | 983 |
18 | 2019-01-22 | 41 | La Tropicale Amissa Bongo | Stage 2 | 2.1 | 169 | - | - | 1607 |
19 | 2019-01-21 | 67 | La Tropicale Amissa Bongo | Stage 1 | 2.1 | 100 | - | - | 1291 |
20 | 2018-05-06 | DNS | 100 Cycle Challenge | 1.2 | 100 | - | - | |
21 | 2018-04-26 | 14 | Tour de Limpopo | 2.2 | | - | - | |
22 | 2018-04-26 | 14 | Tour de Limpopo | Stage 4 | 2.2 | 96.9 | - | - | 2164 |
23 | 2018-04-25 | 7 | Tour de Limpopo | Stage 3 (TTT) | 2.2 | 28.8 | - | - | 407 |
24 | 2018-04-24 | 15 | Tour de Limpopo | Stage 2 | 2.2 | 175 | - | - | 2744 |
25 | 2018-04-23 | 28 | Tour de Limpopo | Stage 1 | 2.2 | 96.4 | - | - | 1247 |
26 | 2018-02-10 | 18 | National Championships South Africa ME - Road Race | NC | 154.8 | - | - | |
27 | 2017-07-19 | DSQ | Tour of Qinghai Lake | Stage 4 | 2.HC | 159 | - | - | 2969 |
28 | 2017-07-18 | 102 | Tour of Qinghai Lake | Stage 3 | 2.HC | 133 | - | - | 2322 |
29 | 2017-07-17 | 94 | Tour of Qinghai Lake | Stage 2 | 2.HC | 115 | - | - | 683 |
30 | 2017-07-16 | 117 | Tour of Qinghai Lake | Stage 1 | 2.HC | 153 | - | - | 1472 |
31 | 2017-04-02 | 89 | Vuelta Ciclista a La Rioja | 1.1 | 150.5 | - | - | 1506 |
32 | 2017-04-01 | DNF | Gran Premio Miguel Indurain | 1.1 | 186 | - | - | 2739 |
33 | 2017-03-18 | DNF | Classic Loire Atlantique | 1.1 | 182.8 | - | - | 2399 |
34 | 2017-02-22 | DNF | Tour Cycliste International La Provence | Stage 2 | 2.1 | 158.6 | - | - | 2092 |
35 | 2017-02-21 | 114 | Tour Cycliste International La Provence | Stage 1 | 2.1 | 205.9 | - | - | 2190 |
36 | 2017-02-19 | DNF | Tour Cycliste International du Haut Var Matin | Stage 2 | 2.1 | 206.8 | - | - | 3556 |
37 | 2017-02-18 | 122 | Tour Cycliste International du Haut Var Matin | Stage 1 | 2.1 | 153.7 | - | - | 2192 |
38 | 2017-02-12 | 27 | National Championships South Africa ME - Road Race | NC | 179.5 | - | - | |
39 | 2016-10-06 | 118 | Paris-Bourges | 1.1 | 190.3 | - | - | |
40 | 2016-10-03 | 87 | Sparkassen Münsterland Giro | 1.HC | 208 | - | - | |
41 | 2016-09-24 | DNF | Giro dell'Emilia | 1.HC | 213 | - | - | |
42 | 2016-09-22 | DNF | Coppa Sabatini - Gran Premio citta di Peccioli | 1.1 | 195.9 | - | - | |
43 | 2016-09-11 | DNF | Grand Prix Cycliste de Montréal | 1.UWT | 205.7 | - | - | 3779 |
44 | 2016-09-09 | DNF | Grand Prix Cycliste de Quebec | 1.UWT | 201.6 | - | - | 2824 |
45 | 2016-08-28 | DNF | Bretagne Classic - Ouest-France | 1.UWT | 247 | - | - | 2914 |
46 | 2016-08-14 | 61 | Arctic Race of Norway | 2.HC | | - | - | |
47 | 2016-08-14 | 74 | Arctic Race of Norway | Stage 4 | 2.HC | 193 | - | - | |
48 | 2016-08-13 | 57 | Arctic Race of Norway | Stage 3 | 2.HC | 160 | - | - | |
49 | 2016-08-12 | 113 | Arctic Race of Norway | Stage 2 | 2.HC | 198 | - | - | |
50 | 2016-08-11 | 110 | Arctic Race of Norway | Stage 1 | 2.HC | 176 | - | - | |
51 | 2016-07-30 | DNF | Clasica Ciclista San Sebastian | 1.UWT | 220.2 | - | - | 3851 |
52 | 2016-07-18 | 94 | Tour de Pologne | 2.UWT | | 5 | - | |
53 | 2016-07-18 | 95 | Tour de Pologne | Stage 7 (ITT) | 2.UWT | 25 | - | - | 168 |
54 | 2016-07-16 | 94 | Tour de Pologne | Stage 5 | 2.UWT | 225 | - | - | 4081 |
55 | 2016-07-15 | 145 | Tour de Pologne | Stage 4 | 2.UWT | 218 | - | - | 2275 |
56 | 2016-07-14 | 161 | Tour de Pologne | Stage 3 | 2.UWT | 240 | - | - | 2647 |
57 | 2016-07-13 | 182 | Tour de Pologne | Stage 2 | 2.UWT | 128 | - | - | 878 |
58 | 2016-07-12 | 151 | Tour de Pologne | Stage 1 | 2.UWT | 138 | - | - | 673 |
59 | 2016-05-29 | 103 | Giro d'Italia | Points classification | 2.UWT | | - | - | |
60 | 2016-05-29 | 144 | Giro d'Italia | 2.UWT | | 20 | - | |
61 | 2016-05-29 | 114 | Giro d'Italia | Stage 21 | 2.UWT | 163 | - | - | 879 |
62 | 2016-05-28 | 155 | Giro d'Italia | Stage 20 | 2.UWT | 134 | - | - | 4500 |
63 | 2016-05-27 | 123 | Giro d'Italia | Stage 19 | 2.UWT | 162 | - | - | 3905 |
64 | 2016-05-26 | 147 | Giro d'Italia | Stage 18 | 2.UWT | 244 | - | - | 1637 |
65 | 2016-05-25 | 151 | Giro d'Italia | Stage 17 | 2.UWT | 196 | - | - | 1567 |
66 | 2016-05-24 | 154 | Giro d'Italia | Stage 16 | 2.UWT | 132 | - | - | 2737 |
67 | 2016-05-22 | 139 | Giro d'Italia | Stage 15 (ITT) | 2.UWT | 10.8 | - | - | 785 |
68 | 2016-05-21 | 137 | Giro d'Italia | Stage 14 | 2.UWT | 210 | - | - | 6001 |
69 | 2016-05-20 | 145 | Giro d'Italia | Stage 13 | 2.UWT | 170 | - | - | 3669 |
70 | 2016-05-19 | 115 | Giro d'Italia | Stage 12 | 2.UWT | 182 | - | - | 122 |
71 | 2016-05-18 | 141 | Giro d'Italia | Stage 11 | 2.UWT | 227 | - | - | 777 |
72 | 2016-05-17 | 122 | Giro d'Italia | Stage 10 | 2.UWT | 219 | - | - | 4618 |
73 | 2016-05-15 | 144 | Giro d'Italia | Stage 9 (ITT) | 2.UWT | 40.5 | - | - | 561 |
74 | 2016-05-14 | 160 | Giro d'Italia | Stage 8 | 2.UWT | 186 | - | - | 1985 |
75 | 2016-05-13 | 161 | Giro d'Italia | Stage 7 | 2.UWT | 211 | - | - | 2301 |
76 | 2016-05-12 | 95 | Giro d'Italia | Stage 6 | 2.UWT | 157 | - | - | 3749 |
77 | 2016-05-11 | 162 | Giro d'Italia | Stage 5 | 2.UWT | 233 | - | - | 3459 |
78 | 2016-05-10 | 149 | Giro d'Italia | Stage 4 | 2.UWT | 200 | - | - | 2418 |
79 | 2016-05-08 | 193 | Giro d'Italia | Stage 3 | 2.UWT | 190 | - | - | 691 |
80 | 2016-05-07 | 183 | Giro d'Italia | Stage 2 | 2.UWT | 190 | - | - | 732 |
81 | 2016-05-06 | 196 | Giro d'Italia | Stage 1 (ITT) | 2.UWT | 9.8 | - | - | 37 |
82 | 2016-05-01 | 124 | Tour de Romandie | 2.UWT | | 5 | - | |
83 | 2016-05-01 | 123 | Tour de Romandie | Stage 5 | 2.UWT | 177.4 | - | - | 2154 |
84 | 2016-04-30 | 129 | Tour de Romandie | Stage 4 | 2.UWT | 172.7 | - | - | 3346 |
85 | 2016-04-29 | 147 | Tour de Romandie | Stage 3 (ITT) | 2.UWT | 15.11 | - | - | 278 |
86 | 2016-04-28 | 148 | Tour de Romandie | Stage 2 | 2.UWT | 173.9 | - | - | 3196 |
87 | 2016-04-27 | 143 | Tour de Romandie | Stage 1 | 2.UWT | 100.5 | - | - | 2212 |
88 | 2016-04-26 | 158 | Tour de Romandie | Prologue | 2.UWT | 3.95 | - | - | 69 |
89 | 2016-04-13 | 58 | De Brabantse Pijl - La Flèche Brabançonne ME | 1.HC | 203 | - | - | |
90 | 2016-03-02 | 17 | Le Tour de Langkawi | Mountains classification | 2.HC | | - | - | |
91 | 2016-03-02 | 51 | Le Tour de Langkawi | Points classification | 2.HC | | - | - | |
92 | 2016-03-02 | 39 | Le Tour de Langkawi | 2.HC | | - | 3 | |
93 | 2016-03-02 | 68 | Le Tour de Langkawi | Stage 8 | 2.HC | 119 | - | - | |
94 | 2016-03-01 | 102 | Le Tour de Langkawi | Stage 7 | 2.HC | 202.3 | - | - | |
95 | 2016-02-29 | 57 | Le Tour de Langkawi | Stage 6 | 2.HC | 147.6 | - | - | |
96 | 2016-02-28 | 87 | Le Tour de Langkawi | Stage 5 | 2.HC | 148.8 | - | - | |
97 | 2016-02-27 | 44 | Le Tour de Langkawi | Stage 4 | 2.HC | 129.4 | - | - | 1608 |
98 | 2016-02-26 | 50 | Le Tour de Langkawi | Stage 3 | 2.HC | 107.2 | - | - | |
99 | 2016-02-25 | 53 | Le Tour de Langkawi | Stage 2 | 2.HC | 158.1 | - | - | |
100 | 2016-02-24 | 43 | Le Tour de Langkawi | Stage 1 | 2.HC | 165.5 | - | - | |
| | | | | 13521.06 | 32 | 3 | 129792 |