|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 15/09/2019 | | 1.WT2 | | | | 34 | | GP de Montréal | | 5 | |
| 13/09/2019 | | 1.WT2 | | | | 11 | | GP de Québec | | 40 | |
| 7/09/2019 | | 1.HC | | | | 25 | | Brussels Cycling Classic | | 5 | |
| 18/08/2019 | | 2.1 | | | | 1 | | Czech Cycling Tour | | 110 | |
| 18/08/2019 | | 2.1s | | | | 2 | | Czech Cycling Tour, Stage 4 : Mohelnice - Sternberk | | 10 | |
| 17/08/2019 | | 2.1s | | | | leader | | Czech Cycling Tour, Stage 3 : Olomouc - Unicov | | 6 | |
| 16/08/2019 | | 2.1s | | | | leader | | Czech Cycling Tour, Stage 2 : Olomouc - Frydek-Mistek | | 6 | |
| 16/08/2019 | | 2.1s | | | | 2 | | Czech Cycling Tour, Stage 2 : Olomouc - Frydek-Mistek | | 10 | |
| 15/08/2019 | | 2.1s | | | | 1 | | Czech Cycling Tour, Stage 1 : Ostrava - Ostrava T.T.T. | | 5 | |
| 4/08/2019 | | 1.WT3 | | | | 12 | | Ride London - Surrey Classic | | 27 | |
| 28/07/2019 | | GT1 | | | | 72 | | Tour de France | | 20 | |
| 14/07/2019 | | GT1s | | | | 1 | | Tour de France, Stage 9 : Saint-Étienne - Brioude | | 80 | |
| 16/06/2019 | | 2.WT1 | | | | 71 | | Critérium du Dauphiné | | 5 | |
| 28/04/2019 | | 1.WT1 | | | | 23 | | Liège - Bastogne - Liège | | 18 | |
| 21/04/2019 | | 1.WT2 | | | | 15 | | Amstel Gold Race | | 24 | |
| 31/03/2019 | | 2.WT2 | | | | 66 | | Volta a Catalunya | | 5 | |
| 30/03/2019 | | 2.WT2s | | | | 3 | | Volta a Catalunya, Stage 6 : Valls - Vilaseca | | 14 | |
| 29/03/2019 | | 2.WT2s | | | | 4 | | Volta a Catalunya, Stage 5 : Puigcerda - Sant Cugat | | 8 | |
| 26/03/2019 | | 2.WT2s | | | | 3 | | Volta a Catalunya, Stage 2 : Mataro - Sant Feliu de Guixols | | 14 | |
| 25/03/2019 | | 2.WT2s | | | | 7 | | Volta a Catalunya, Stage 1 : Calella - Calella | | 2 | |
| 23/03/2019 | | 1.WT1 | | | | 119 | | Milano - Sanremo | | 5 | |
| 10/02/2019 | | NC3 | | | | 1 | | National Championships South Africa (Tshwane) R.R. | | 60 | |
| 8/02/2019 | | NCT3 | | | | 1 | | National Championships South Africa (Tshwane) I.T.T. | | 30 | |
| 27/01/2019 | | 1.WT3 | | | | 3 | | Cadel Evans Great Ocean Road Race | | 92 | |
| 20/01/2019 | | 2.WT1r | | | | 8 | | Tour Down Under, Mountains classification | | 1 | |
| 20/01/2019 | | 2.WT1r | | | | 4 | | Tour Down Under, Points classification | | 10 | |
| 20/01/2019 | | 2.WT1 | | | | 1 | | Tour Down Under | | 260 | |
| 20/01/2019 | | 2.WT1s | | | | 3 | | Tour Down Under, Stage 6 : McLaren Vale - Willunga Hill | | 18 | |
| 18/01/2019 | | 2.WT1s | | | | 1 | | Tour Down Under, Stage 4 : Unley - Campbelltown | | 45 | |
| 17/01/2019 | | 2.WT1s | | | | 3 | | Tour Down Under, Stage 3 : Lobethal - Uraidla | | 18 | |