|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 22/10/2019 | | 2.WT3r | | | | 2 | | Tour of Guangxi, Points classification | | 18 | |
| 22/10/2019 | | 2.WT3 | | | | 16 | | Tour of Guangxi | | 24 | |
| 22/10/2019 | | 2.WT3s | | | | 7 | | Tour of Guangxi, Stage 6 : Guilin - Guilin | | 1 | |
| 21/10/2019 | | 2.WT3s | | | | 3 | | Tour of Guangxi, Stage 5 : Liuzhou - Guilin | | 12 | |
| 20/10/2019 | | 2.WT3s | | | | 23 | | Tour of Guangxi, Stage 4 : Nanning - Nongla | | 0 | |
| 19/10/2019 | | 2.WT3s | | | | 3 | | Tour of Guangxi, Stage 3 : Nanning - Nanning | | 12 | |
| 18/10/2019 | | 2.WT3s | | | | 3 | | Tour of Guangxi, Stage 2 : Beihai - Qinzhou | | 12 | |
| 17/10/2019 | | 2.WT3s | | | | 3 | | Tour of Guangxi, Stage 1 : Beihai - Beihai | | 12 | |
| 12/10/2019 | | 1.WT1 | | | | DNF | | Il Lombardia | | 0 | |
| 29/09/2019 | | WCRR | | | | 2 | | World Championships (Harrogate) R.R. | | 240 | |
| 22/09/2019 | | 1.1 | | | | 1 | | Trofeo Matteotti | | 80 | |
| 14/09/2019 | | 2.HC | | | | 2 | | Tour of Britain | | 120 | |
| 14/09/2019 | | 2.HCs | | | | 3 | | Tour of Britain, Stage 8 : Altrincham - Manchester | | 10 | |
| 13/09/2019 | | 2.HCs | | | | 2 | | Tour of Britain, Stage 7 : Warwick - Burton Dassett Country Park | | 15 | |
| 12/09/2019 | | 2.HCs | | | | 13 | | Tour of Britain, Stage 6 : Pershore - Pershore I.T.T. | | 0 | |
| 11/09/2019 | | 2.HCs | | | | leader | | Tour of Britain, Stage 5 : Birkenhead - Birkenhead | | 8 | |
| 11/09/2019 | | 2.HCs | | | | 3 | | Tour of Britain, Stage 5 : Birkenhead - Birkenhead | | 10 | |
| 10/09/2019 | | 2.HCs | | | | 9 | | Tour of Britain, Stage 4 : Gateshead - Kendal | | 0 | |
| 9/09/2019 | | 2.HCs | | | | leader | | Tour of Britain, Stage 3 : Berwick-upon-Tweed - Newcastle-upon-Tyne | | 8 | |
| 9/09/2019 | | 2.HCs | | | | 5 | | Tour of Britain, Stage 3 : Berwick-upon-Tweed - Newcastle-upon-Tyne | | 3 | |
| 8/09/2019 | | 2.HCs | | | | leader | | Tour of Britain, Stage 2 : Kelso - Kelso | | 8 | |
| 8/09/2019 | | 2.HCs | | | | 1 | | Tour of Britain, Stage 2 : Kelso - Kelso | | 25 | |
| 7/09/2019 | | 2.HCs | | | | 3 | | Tour of Britain, Stage 1 : Glasgow - Kirkcudbright | | 10 | |
| 1/09/2019 | | 1.WT2 | | | | 22 | | Bretagne Classic - Ouest-France | | 14 | |
| 25/08/2019 | | 1.WT2 | | | | 7 | | EuroEyes Cyclassics - Hamburg | | 66 | |
| 11/08/2019 | | CC1 | | | | 7 | | European Championships (Alkmaar) R.R. | | 25 | |
| 28/07/2019 | | GT1r | | | | 6 | | Tour de France, Points classification | | 10 | |
| 28/07/2019 | | GT1 | | | | 52 | | Tour de France | | 20 | |
| 28/07/2019 | | GT1s | | | | 7 | | Tour de France, Stage 21 : Rambouillet - Paris | | 5 | |
| 27/07/2019 | | GT1s | | | | 138 | | Tour de France, Stage 20 : Albertville - Val Thorens | | 0 | |
| 26/07/2019 | | GT1s | | | | 76 | | Tour de France, Stage 19 : Saint-Jean-de-Maurienne - Col de l'Iséran | | 0 | |
| 25/07/2019 | | GT1s | | | | 150 | | Tour de France, Stage 18 : Embrun - Valloire | | 0 | |
| 24/07/2019 | | GT1s | | | | 1 | | Tour de France, Stage 17 : Pont-du-Gard - Gap | | 80 | |
| 23/07/2019 | | GT1s | | | | 7 | | Tour de France, Stage 16 : Nîmes - Nîmes | | 5 | |
| 21/07/2019 | | GT1s | | | | 115 | | Tour de France, Stage 15 : Limoux - Foix/Prat d'Albis | | 0 | |
| 20/07/2019 | | GT1s | | | | 119 | | Tour de France, Stage 14 : Tarbes - Col du Tourmalet | | 0 | |
| 19/07/2019 | | GT1s | | | | 114 | | Tour de France, Stage 13 : Pau - Pau I.T.T. | | 0 | |
| 18/07/2019 | | GT1s | | | | 6 | | Tour de France, Stage 12 : Toulouse - Bagnères-de-Bigorre | | 10 | |
| 17/07/2019 | | GT1s | | | | 61 | | Tour de France, Stage 11 : Albi - Toulouse | | 0 | |
| 15/07/2019 | | GT1s | | | | 8 | | Tour de France, Stage 10 : Saint-Flour - Albi | | 3 | |
| 14/07/2019 | | GT1s | | | | 130 | | Tour de France, Stage 9 : Saint-Étienne - Brioude | | 0 | |
| 13/07/2019 | | GT1s | | | | 6 | | Tour de France, Stage 8 : Mâcon - Saint-Étienne | | 10 | |
| 12/07/2019 | | GT1s | | | | 44 | | Tour de France, Stage 7 : Belfort - Chalon-sur-Saône | | 0 | |
| 11/07/2019 | | GT1s | | | | 123 | | Tour de France, Stage 6 : Mulhouse - La Planche des Belles Filles | | 0 | |
| 10/07/2019 | | GT1s | | | | 3 | | Tour de France, Stage 5 : Saint-Dié-des-Vosges - Colmar | | 35 | |
| 9/07/2019 | | GT1s | | | | 11 | | Tour de France, Stage 4 : Reims - Nancy | | 0 | |
| 8/07/2019 | | GT1s | | | | 6 | | Tour de France, Stage 3 : Binche (BEL) - Epernay | | 10 | |
| 7/07/2019 | | GT1s | | | | 11 | | Tour de France, Stage 2 : Brussel (BEL) T.T.T. | | 0 | |
| 6/07/2019 | | GT1s | | | | 7 | | Tour de France, Stage 1 : Brussel (BEL) - Brussel (BEL) | | 5 | |
| 23/06/2019 | | 2.WT1r | | | | 5 | | Tour de Suisse, Points classification | | 5 | |
| 23/06/2019 | | 2.WT1 | | | | 49 | | Tour de Suisse | | 5 | |
| 23/06/2019 | | 2.WT1s | | | | 68 | | Tour de Suisse, Stage 9 : Ulrichen - Ulrichen | | 0 | |
| 22/06/2019 | | 2.WT1s | | | | 10 | | Tour de Suisse, Stage 8 : Goms - Goms I.T.T. | | 0 | |
| 21/06/2019 | | 2.WT1s | | | | 51 | | Tour de Suisse, Stage 7 : Unterterzen - San Gottardo | | 0 | |
| 20/06/2019 | | 2.WT1s | | | | 71 | | Tour de Suisse, Stage 6 : Einsiedeln - Flumserberg | | 0 | |
| 19/06/2019 | | 2.WT1s | | | | 4 | | Tour de Suisse, Stage 5 : Münchenstein - Einsiedeln | | 10 | |
| 18/06/2019 | | 2.WT1s | | | | 4 | | Tour de Suisse, Stage 4 : Murten - Arlesheim | | 10 | |
| 17/06/2019 | | 2.WT1s | | | | 12 | | Tour de Suisse, Stage 3 : Flamatt - Murten | | 0 | |
| 16/06/2019 | | 2.WT1s | | | | 3 | | Tour de Suisse, Stage 2 : Langnau im Emmental - Langnau im Emmental | | 18 | |
| 15/06/2019 | | 2.WT1s | | | | 22 | | Tour de Suisse, Stage 1 : Langnau im Emmental I.T.T. | | 0 | |
| 21/04/2019 | | 1.WT2 | | | | 10 | | Amstel Gold Race | | 46 | |
| 14/04/2019 | | 1.WT1 | | | | 43 | | Paris - Roubaix | | 5 | |
| 7/04/2019 | | 1.WT1 | | | | 21 | | Ronde van Vlaanderen | | 22 | |
| 31/03/2019 | | 1.WT2 | | | | 7 | | Gent - Wevelgem | | 66 | |
| 29/03/2019 | | 1.WT2 | | | | 7 | | E3 BinckBank Classic | | 66 | |
| 23/03/2019 | | 1.WT1 | | | | 10 | | Milano - Sanremo | | 62 | |
| 17/03/2019 | | 2.WT1r | | | | 4 | | Paris - Nice, Mountains classification | | 10 | |
| 17/03/2019 | | 2.WT1r | | | | 5 | | Paris - Nice, Points classification | | 5 | |
| 17/03/2019 | | 2.WT1 | | | | 39 | | Paris - Nice | | 5 | |
| 17/03/2019 | | 2.WT1s | | | | 39 | | Paris - Nice, Stage 8 : Nice - Nice | | 0 | |
| 16/03/2019 | | 2.WT1s | | | | 91 | | Paris - Nice, Stage 7 : Nice - Col de Turini | | 0 | |
| 15/03/2019 | | 2.WT1s | | | | 3 | | Paris - Nice, Stage 6 : Peynier - Brignoles | | 18 | |
| 14/03/2019 | | 2.WT1s | | | | 113 | | Paris - Nice, Stage 5 : Barbentane - Barbentane I.T.T. | | 0 | |
| 13/03/2019 | | 2.WT1s | | | | 8 | | Paris - Nice, Stage 4 : Vichy - Pélussin | | 1 | |
| 12/03/2019 | | 2.WT1s | | | | 19 | | Paris - Nice, Stage 3 : Cepoy - Moulins-Yzeure | | 0 | |
| 11/03/2019 | | 2.WT1s | | | | 4 | | Paris - Nice, Stage 2 : Les Bréviaires - Bellegarde | | 10 | |
| 10/03/2019 | | 2.WT1s | | | | 6 | | Paris - Nice, Stage 1 : Saint-Germain-en-Laye - Saint-Germain-en-Laye | | 3 | |
| 2/03/2019 | | 1.WT3 | | | | 9 | | Omloop Het Nieuwsblad | | 40 | |
| 24/02/2019 | | 2.HC | | | | 75 | | Vuelta a Andalucia / Ruta Del Sol | | 0 | |
| 24/02/2019 | | 2.HCs | | | | 1 | | Vuelta a Andalucia / Ruta Del Sol, Stage 5 : Otura - Alhaurin de la Torre | | 25 | |
| 21/02/2019 | | 2.HCs | | | | 1 | | Vuelta a Andalucia / Ruta Del Sol, Stage 2 : Sevilla - Toredonjimeno | | 25 | |
| 17/02/2019 | | 1.HC | | | | 13 | | Clasica de Almeria | | 15 | |
| 16/02/2019 | | 2.1 | | | | 7 | | Vuelta a Murcia | | 40 | |
| 16/02/2019 | | 2.1s | | | | 3 | | Vuelta a Murcia, Stage 2 : Beniel - Murcia | | 5 | |
| 15/02/2019 | | 2.1s | | | | 7 | | Vuelta a Murcia, Stage 1 : Yecla - San Javier | | 0 | |
| 10/02/2019 | | 2.1 | | | | 55 | | Volta a la Comunitat Valenciana | | 0 | |
| 10/02/2019 | | 2.1s | | | | 3 | | Volta a la Comunitat Valenciana, Stage 5 : Paterna - Valencia | | 5 | |
| 8/02/2019 | | 2.1s | | | | 2 | | Volta a la Comunitat Valenciana, Stage 3 : Quart de Poblet - Chera | | 10 | |
| 7/02/2019 | | 2.1s | | | | 1 | | Volta a la Comunitat Valenciana, Stage 2 : Alicante - Alicante | | 20 | |