1 | 2018-05-06 | 4 | 100 Cycle Challenge | 1.2 | 100 | 4 | 20 | |
2 | 2018-04-26 | 53 | Tour de Limpopo | 2.2 | | - | - | |
3 | 2018-04-26 | 26 | Tour de Limpopo | Stage 4 | 2.2 | 96.9 | - | - | 2164 |
4 | 2018-04-25 | 14 | Tour de Limpopo | Stage 3 (TTT) | 2.2 | 28.8 | - | - | 407 |
5 | 2018-04-24 | 42 | Tour de Limpopo | Stage 2 | 2.2 | 175 | - | - | 2744 |
6 | 2018-04-23 | 86 | Tour de Limpopo | Stage 1 | 2.2 | 96.4 | - | - | 1247 |
7 | 2017-02-12 | 15 | National Championships South Africa ME - Road Race | NC | 179.5 | - | - | |
8 | 2016-10-02 | DNF | Piccolo Giro di Lombardia | 1.2U | 163.1 | - | - | |
9 | 2016-09-27 | DNF | Ruota d'Oro - GP Festa del Perdono | 1.2U | 167 | - | - | |
10 | 2016-09-17 | DNF | Memorial Marco Pantani | 1.1 | 189.8 | - | - | |
11 | 2016-09-15 | DNF | Coppa Agostoni - Giro delle Brianze | 1.1 | 199 | - | - | |
12 | 2016-09-14 | DNF | Coppa Bernocchi - GP BPM | 1.1 | 192 | - | - | |
13 | 2016-07-30 | DNF | Tour Alsace | Stage 3 | 2.2 | 157.8 | - | - | |
14 | 2016-07-29 | 14 | Tour Alsace | Stage 2 | 2.2 | 151.2 | - | - | |
15 | 2016-07-28 | 135 | Tour Alsace | Stage 1 | 2.2 | 171.8 | - | - | |
16 | 2016-07-27 | 63 | Tour Alsace | Prologue | 2.2 | 7.1 | - | - | |
17 | 2016-07-14 | OTL | Giro Ciclistico della Valle d'Aosta Mont Blanc | Stage 2 | 2.2U | 138.4 | - | - | |
18 | 2016-07-13 | 12 | Giro Ciclistico della Valle d'Aosta Mont Blanc | Stage 1 (TTT) | 2.2U | 19.94 | - | - | |
19 | 2016-07-10 | DNF | Giro del Medio Brenta | 1.2 | 177 | - | - | |
20 | 2016-05-15 | 71 | Gran Premio Industrie del Marmo | 1.2 | 174 | - | - | |
21 | 2016-05-01 | 63 | Le Tour de Bretagne Cycliste trophée harmonie Mutuelle | Youth classification | 2.2 | | - | - | |
22 | 2016-05-01 | 100 | Le Tour de Bretagne Cycliste trophée harmonie Mutuelle | 2.2 | | - | - | |
23 | 2016-05-01 | 78 | Le Tour de Bretagne Cycliste trophée harmonie Mutuelle | Stage 7 | 2.2 | 149 | - | - | |
24 | 2016-04-30 | 103 | Le Tour de Bretagne Cycliste trophée harmonie Mutuelle | Stage 6 | 2.2 | 156 | - | - | |
25 | 2016-04-29 | 35 | Le Tour de Bretagne Cycliste trophée harmonie Mutuelle | Stage 5 | 2.2 | 192.7 | - | - | |
26 | 2016-04-28 | 143 | Le Tour de Bretagne Cycliste trophée harmonie Mutuelle | Stage 4 | 2.2 | 163.5 | - | - | |
27 | 2016-04-27 | 123 | Le Tour de Bretagne Cycliste trophée harmonie Mutuelle | Stage 3 | 2.2 | 148 | - | - | |
28 | 2016-04-26 | 68 | Le Tour de Bretagne Cycliste trophée harmonie Mutuelle | Stage 2 | 2.2 | 204 | - | - | |
29 | 2016-04-25 | 56 | Le Tour de Bretagne Cycliste trophée harmonie Mutuelle | Stage 1 | 2.2 | 158 | - | - | |
30 | 2016-04-17 | DNF | Giro dell'Appennino | 1.1 | 196.6 | - | - | |
31 | 2016-04-09 | OTL | Circuit des Ardennes International | Stage 2 | 2.2 | 173 | - | - | |
32 | 2016-04-08 | 125 | Circuit des Ardennes International | Stage 1 | 2.2 | 166 | - | - | |
33 | 2016-03-29 | DNF | G.P. Palio del Recioto - 34th Memorial cav. Sante Carradori | 1.2U | 143.2 | - | - | |
34 | 2016-03-26 | DNS | Settimana Internazionale Coppi e Bartali | Stage 3 | 2.1 | 172 | - | - | |
35 | 2016-03-25 | 180 | Settimana Internazionale Coppi e Bartali | Stage 2 | 2.1 | 146.6 | - | - | |
36 | 2016-03-24 | 38 | Settimana Internazionale Coppi e Bartali | Stage 1b (TTT) | 2.1 | 13.3 | - | - | |
37 | 2016-03-24 | 184 | Settimana Internazionale Coppi e Bartali | Stage 1a | 2.1 | 95.9 | - | - | |
38 | 2016-02-14 | 26 | National Championships South Africa ME - Road Race | NC | 187 | - | - | |
39 | 2014-02-09 | DNF | National Championships South Africa ME - Road Race | NC | 180 | - | - | |
| | | | | 5229.54 | 4 | 20 | 6562 |