|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 29/09/2019 | | WCRR | | | | DNF | | World Championships (Harrogate) R.R. | | 0 | |
| 25/09/2019 | | WCTT | | | | 25 | | World Championships (Harrogate) I.T.T. | | 10 | |
| 21/09/2019 | | 1.1 | | | | 1 | | Memorial Marco Pantani | | 80 | |
| 19/09/2019 | | 1.1 | | | | 1 | | Coppa Sabatini - GP Citta di Peccioli | | 80 | |
| 15/09/2019 | | 1.1 | | | | 100 | | Coppa Bernocchi | | 0 | |
| 14/09/2019 | | 1.1 | | | | 2 | | Coppa Agostoni - Giro delle Brianze | | 48 | |
| 1/09/2019 | | 2.HC | | | | 4 | | Deutschland Tour | | 84 | |
| 1/09/2019 | | 2.HCs | | | | 4 | | Deutschland Tour, Stage 4 : Eisenach - Erfurt | | 5 | |
| 31/08/2019 | | 2.HCs | | | | 11 | | Deutschland Tour, Stage 3 : Göttingen - Eisenach | | 0 | |
| 30/08/2019 | | 2.HCs | | | | 19 | | Deutschland Tour, Stage 2 : Marburg - Göttingen | | 0 | |
| 18/08/2019 | | 2.HC | | | | 1 | | Arctic Race of Norway | | 160 | |
| 18/08/2019 | | 2.HCs | | | | 3 | | Arctic Race of Norway, Stage 4 : Lødingen - Narvik | | 10 | |
| 17/08/2019 | | 2.HCs | | | | 3 | | Arctic Race of Norway, Stage 3 : Sortland - Melbu/Storheia | | 10 | |
| 15/08/2019 | | 2.HCs | | | | 9 | | Arctic Race of Norway, Stage 1 : Aa - Leknes | | 0 | |
| 28/07/2019 | | GT1r | | | | 8 | | Tour de France, Mountains classification | | 3 | |
| 28/07/2019 | | GT1 | | | | 19 | | Tour de France | | 77 | |
| 28/07/2019 | | GT1s | | | | 62 | | Tour de France, Stage 21 : Rambouillet - Paris | | 0 | |
| 27/07/2019 | | GT1s | | | | 49 | | Tour de France, Stage 20 : Albertville - Val Thorens | | 0 | |
| 26/07/2019 | | GT1s | | | | 26 | | Tour de France, Stage 19 : Saint-Jean-de-Maurienne - Col de l'Iséran | | 0 | |
| 25/07/2019 | | GT1s | | | | 3 | | Tour de France, Stage 18 : Embrun - Valloire | | 35 | |
| 24/07/2019 | | GT1s | | | | 92 | | Tour de France, Stage 17 : Pont-du-Gard - Gap | | 0 | |
| 23/07/2019 | | GT1s | | | | 156 | | Tour de France, Stage 16 : Nîmes - Nîmes | | 0 | |
| 21/07/2019 | | GT1s | | | | 29 | | Tour de France, Stage 15 : Limoux - Foix/Prat d'Albis | | 0 | |
| 20/07/2019 | | GT1s | | | | 48 | | Tour de France, Stage 14 : Tarbes - Col du Tourmalet | | 0 | |
| 19/07/2019 | | GT1s | | | | 30 | | Tour de France, Stage 13 : Pau - Pau I.T.T. | | 0 | |
| 18/07/2019 | | GT1s | | | | 61 | | Tour de France, Stage 12 : Toulouse - Bagnères-de-Bigorre | | 0 | |
| 17/07/2019 | | GT1s | | | | 56 | | Tour de France, Stage 11 : Albi - Toulouse | | 0 | |
| 15/07/2019 | | GT1s | | | | 50 | | Tour de France, Stage 10 : Saint-Flour - Albi | | 0 | |
| 14/07/2019 | | GT1s | | | | 63 | | Tour de France, Stage 9 : Saint-Étienne - Brioude | | 0 | |
| 13/07/2019 | | GT1s | | | | 12 | | Tour de France, Stage 8 : Mâcon - Saint-Étienne | | 0 | |
| 12/07/2019 | | GT1s | | | | 50 | | Tour de France, Stage 7 : Belfort - Chalon-sur-Saône | | 0 | |
| 11/07/2019 | | GT1s | | | | 28 | | Tour de France, Stage 6 : Mulhouse - La Planche des Belles Filles | | 0 | |
| 10/07/2019 | | GT1s | | | | 15 | | Tour de France, Stage 5 : Saint-Dié-des-Vosges - Colmar | | 0 | |
| 9/07/2019 | | GT1s | | | | 40 | | Tour de France, Stage 4 : Reims - Nancy | | 0 | |
| 8/07/2019 | | GT1s | | | | 18 | | Tour de France, Stage 3 : Binche (BEL) - Epernay | | 0 | |
| 7/07/2019 | | GT1s | | | | 10 | | Tour de France, Stage 2 : Brussel (BEL) T.T.T. | | 0 | |
| 6/07/2019 | | GT1s | | | | 54 | | Tour de France, Stage 1 : Brussel (BEL) - Brussel (BEL) | | 0 | |
| 30/06/2019 | | NC4 | | | | 1 | | National Championships Kazakhstan (Shchuchinsk) R.R. | | 30 | |
| 26/06/2019 | | NCT4 | | | | 1 | | National Championships Kazakhstan (Burabay) I.T.T. | | 15 | |
| 16/06/2019 | | 2.WT1r | | | | 10 | | Critérium du Dauphiné, Mountains classification | | 0 | |
| 16/06/2019 | | 2.WT1r | | | | 4 | | Critérium du Dauphiné, Points classification | | 10 | |
| 16/06/2019 | | 2.WT1 | | | | 7 | | Critérium du Dauphiné | | 100 | |
| 16/06/2019 | | 2.WT1s | | | | 8 | | Critérium du Dauphiné, Stage 8 : Cluses - Champéry (SUI) | | 1 | |
| 15/06/2019 | | 2.WT1s | | | | 11 | | Critérium du Dauphiné, Stage 7 : Saint-Genix-les-Villages - Pipay | | 0 | |
| 14/06/2019 | | 2.WT1s | | | | 10 | | Critérium du Dauphiné, Stage 6 : Saint-Vulbas - Saint-Michel-de-Maurienne | | 0 | |
| 13/06/2019 | | 2.WT1s | | | | 19 | | Critérium du Dauphiné, Stage 5 : Boën-sur-Lignon - Voiron | | 0 | |
| 12/06/2019 | | 2.WT1s | | | | 17 | | Critérium du Dauphiné, Stage 4 : Roanne - Roanne I.T.T. | | 0 | |
| 11/06/2019 | | 2.WT1s | | | | 27 | | Critérium du Dauphiné, Stage 3 : Le Puy-en-Velay - Riom | | 0 | |
| 10/06/2019 | | 2.WT1s | | | | 6 | | Critérium du Dauphiné, Stage 2 : Mauriac - Craponne-sur-Arzon | | 3 | |
| 9/06/2019 | | 2.WT1s | | | | 8 | | Critérium du Dauphiné, Stage 1 : Aurillac - Jussac | | 1 | |
| 28/04/2019 | | 1.WT1 | | | | DNF | | Liège - Bastogne - Liège | | 0 | |
| 24/04/2019 | | 1.WT2 | | | | 31 | | Flèche Wallonne | | 5 | |
| 21/04/2019 | | 1.WT2 | | | | 69 | | Amstel Gold Race | | 5 | |
| 13/04/2019 | | 2.WT2s | | | | DNF | | Itzulia Basque Country, Stage 6 : Eibar - Eibar | | 0 | |
| 12/04/2019 | | 2.WT2s | | | | 92 | | Itzulia Basque Country, Stage 5 : Arrigorriaga - Arrate | | 0 | |
| 11/04/2019 | | 2.WT2s | | | | 95 | | Itzulia Basque Country, Stage 4 : Vitoria-Gasteiz - Arrigorriaga | | 0 | |
| 10/04/2019 | | 2.WT2s | | | | 34 | | Itzulia Basque Country, Stage 3 : Sarriguren - Estibaliz | | 0 | |
| 9/04/2019 | | 2.WT2s | | | | 78 | | Itzulia Basque Country, Stage 2 : Zumarraga - Gorraiz | | 0 | |
| 8/04/2019 | | 2.WT2s | | | | 21 | | Itzulia Basque Country, Stage 1 : Zumarraga - Zumarraga I.T.T. | | 0 | |
| 19/03/2019 | | 2.WT1r | | | | 1 | | Tirreno - Adriatico, Mountains classification | | 45 | |
| 19/03/2019 | | 2.WT1r | | | | 8 | | Tirreno - Adriatico, Points classification | | 1 | |
| 19/03/2019 | | 2.WT1 | | | | 13 | | Tirreno - Adriatico | | 48 | |
| 19/03/2019 | | 2.WT1s | | | | 52 | | Tirreno - Adriatico, Stage 7 : San Benedetto del Tronto I.T.T. | | 0 | |
| 18/03/2019 | | 2.WT1s | | | | 21 | | Tirreno - Adriatico, Stage 6 : Matelica - Jesi | | 0 | |
| 17/03/2019 | | 2.WT1s | | | | 16 | | Tirreno - Adriatico, Stage 5 : Colli al Metauro - Recanti | | 0 | |
| 16/03/2019 | | 2.WT1s | | | | 1 | | Tirreno - Adriatico, Stage 4 : Foligno - Fossombrone | | 45 | |
| 15/03/2019 | | 2.WT1s | | | | 47 | | Tirreno - Adriatico, Stage 3 : Pomarance - Foligno | | 0 | |
| 14/03/2019 | | 2.WT1s | | | | 21 | | Tirreno - Adriatico, Stage 2 : Camaiore - Pomarance | | 0 | |
| 13/03/2019 | | 2.WT1s | | | | 13 | | Tirreno - Adriatico, Stage 1 : Lido di Camaiore T.T.T. | | 0 | |
| 9/03/2019 | | 1.WT3 | | | | 7 | | Strade Bianche | | 54 | |
| 2/03/2019 | | 1.WT3 | | | | 4 | | Omloop Het Nieuwsblad | | 78 | |
| 21/02/2019 | | 2.HC | | | | 1 | | Tour of Oman | | 160 | |
| 20/02/2019 | | 2.HCs | | | | leader | | Tour of Oman, Stage 5 : Samail - Jabal Al Akhdhar (Green Mountain) | | 8 | |
| 20/02/2019 | | 2.HCs | | | | 1 | | Tour of Oman, Stage 5 : Samail - Jabal Al Akhdhar (Green Mountain) | | 25 | |
| 19/02/2019 | | 2.HCs | | | | leader | | Tour of Oman, Stage 4 : As Sifah - Muscat | | 8 | |
| 19/02/2019 | | 2.HCs | | | | 12 | | Tour of Oman, Stage 4 : As Sifah - Muscat | | 0 | |
| 18/02/2019 | | 2.HCs | | | | leader | | Tour of Oman, Stage 3 : Shati al Qurum - Quriyat | | 8 | |
| 18/02/2019 | | 2.HCs | | | | 1 | | Tour of Oman, Stage 3 : Shati al Qurum - Quriyat | | 25 | |
| 17/02/2019 | | 2.HCs | | | | 1 | | Tour of Oman, Stage 2 : Al Seeb - Al Bustan | | 25 | |