|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 29/09/2019 | | WCRR | | | | DNF | | World Championships (Harrogate) R.R. | | 0 | |
| 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 | |
| 17/08/2019 | | 2.1s | | | | 17 | | Czech Cycling Tour, Stage 3 : Olomouc - Unicov | | 0 | |
| 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 | |
| 28/07/2019 | | GT1s | | | | 125 | | Tour de France, Stage 21 : Rambouillet - Paris | | 0 | |
| 27/07/2019 | | GT1s | | | | 20 | | Tour de France, Stage 20 : Albertville - Val Thorens | | 0 | |
| 26/07/2019 | | GT1s | | | | 68 | | Tour de France, Stage 19 : Saint-Jean-de-Maurienne - Col de l'Iséran | | 0 | |
| 25/07/2019 | | GT1s | | | | 95 | | Tour de France, Stage 18 : Embrun - Valloire | | 0 | |
| 24/07/2019 | | GT1s | | | | 110 | | Tour de France, Stage 17 : Pont-du-Gard - Gap | | 0 | |
| 23/07/2019 | | GT1s | | | | 136 | | Tour de France, Stage 16 : Nîmes - Nîmes | | 0 | |
| 21/07/2019 | | GT1s | | | | 86 | | Tour de France, Stage 15 : Limoux - Foix/Prat d'Albis | | 0 | |
| 20/07/2019 | | GT1s | | | | 112 | | Tour de France, Stage 14 : Tarbes - Col du Tourmalet | | 0 | |
| 19/07/2019 | | GT1s | | | | 126 | | Tour de France, Stage 13 : Pau - Pau I.T.T. | | 0 | |
| 18/07/2019 | | GT1s | | | | 124 | | Tour de France, Stage 12 : Toulouse - Bagnères-de-Bigorre | | 0 | |
| 17/07/2019 | | GT1s | | | | 52 | | Tour de France, Stage 11 : Albi - Toulouse | | 0 | |
| 15/07/2019 | | GT1s | | | | 126 | | Tour de France, Stage 10 : Saint-Flour - Albi | | 0 | |
| 14/07/2019 | | GT1s | | | | 1 | | Tour de France, Stage 9 : Saint-Étienne - Brioude | | 80 | |
| 13/07/2019 | | GT1s | | | | 96 | | Tour de France, Stage 8 : Mâcon - Saint-Étienne | | 0 | |
| 12/07/2019 | | GT1s | | | | 69 | | Tour de France, Stage 7 : Belfort - Chalon-sur-Saône | | 0 | |
| 11/07/2019 | | GT1s | | | | 83 | | Tour de France, Stage 6 : Mulhouse - La Planche des Belles Filles | | 0 | |
| 10/07/2019 | | GT1s | | | | 20 | | Tour de France, Stage 5 : Saint-Dié-des-Vosges - Colmar | | 0 | |
| 9/07/2019 | | GT1s | | | | 62 | | Tour de France, Stage 4 : Reims - Nancy | | 0 | |
| 8/07/2019 | | GT1s | | | | 54 | | Tour de France, Stage 3 : Binche (BEL) - Epernay | | 0 | |
| 7/07/2019 | | GT1s | | | | 11 | | Tour de France, Stage 2 : Brussel (BEL) T.T.T. | | 0 | |
| 6/07/2019 | | GT1s | | | | 20 | | Tour de France, Stage 1 : Brussel (BEL) - Brussel (BEL) | | 0 | |
| 16/06/2019 | | 2.WT1 | | | | 71 | | Critérium du Dauphiné | | 5 | |
| 16/06/2019 | | 2.WT1s | | | | 52 | | Critérium du Dauphiné, Stage 8 : Cluses - Champéry (SUI) | | 0 | |
| 15/06/2019 | | 2.WT1s | | | | 112 | | Critérium du Dauphiné, Stage 7 : Saint-Genix-les-Villages - Pipay | | 0 | |
| 14/06/2019 | | 2.WT1s | | | | 87 | | Critérium du Dauphiné, Stage 6 : Saint-Vulbas - Saint-Michel-de-Maurienne | | 0 | |
| 13/06/2019 | | 2.WT1s | | | | 113 | | Critérium du Dauphiné, Stage 5 : Boën-sur-Lignon - Voiron | | 0 | |
| 12/06/2019 | | 2.WT1s | | | | 21 | | Critérium du Dauphiné, Stage 4 : Roanne - Roanne I.T.T. | | 0 | |
| 11/06/2019 | | 2.WT1s | | | | 29 | | Critérium du Dauphiné, Stage 3 : Le Puy-en-Velay - Riom | | 0 | |
| 10/06/2019 | | 2.WT1s | | | | 104 | | Critérium du Dauphiné, Stage 2 : Mauriac - Craponne-sur-Arzon | | 0 | |
| 9/06/2019 | | 2.WT1s | | | | 16 | | Critérium du Dauphiné, Stage 1 : Aurillac - Jussac | | 0 | |
| 28/04/2019 | | 1.WT1 | | | | 23 | | Liège - Bastogne - Liège | | 18 | |
| 24/04/2019 | | 1.WT2 | | | | DNF | | Flèche Wallonne | | 0 | |
| 21/04/2019 | | 1.WT2 | | | | 15 | | Amstel Gold Race | | 24 | |
| 17/04/2019 | | 1.HC | | | | 48 | | Brabantse Pijl | | 0 | |
| 31/03/2019 | | 2.WT2r | | | | 9 | | Volta a Catalunya, Points classification | | 0 | |
| 31/03/2019 | | 2.WT2 | | | | 66 | | Volta a Catalunya | | 5 | |
| 31/03/2019 | | 2.WT2s | | | | 29 | | Volta a Catalunya, Stage 7 : Barcelona - Barcelona | | 0 | |
| 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 | |
| 28/03/2019 | | 2.WT2s | | | | 91 | | Volta a Catalunya, Stage 4 : Llanars - La Molina | | 0 | |
| 27/03/2019 | | 2.WT2s | | | | 122 | | Volta a Catalunya, Stage 3 : Sant Feliu de Guixols - Setcases/Vallter 2000 | | 0 | |
| 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 | |
| 19/01/2019 | | 2.WT1s | | | | 19 | | Tour Down Under, Stage 5 : Glenelg - Strathalbyn | | 0 | |
| 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 | |
| 16/01/2019 | | 2.WT1s | | | | 11 | | Tour Down Under, Stage 2 : Norwood - Angaston | | 0 | |
| 15/01/2019 | | 2.WT1s | | | | 11 | | Tour Down Under, Stage 1 : Barnsley - Bedale | | 0 | |