|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 22/10/2019 | | 2.WT3 | | | | 7 | | Tour of Guangxi | | 70 | |
| 22/10/2019 | | 2.WT3s | | | | 90 | | Tour of Guangxi, Stage 6 : Guilin - Guilin | | 0 | |
| 21/10/2019 | | 2.WT3s | | | | 28 | | Tour of Guangxi, Stage 5 : Liuzhou - Guilin | | 0 | |
| 20/10/2019 | | 2.WT3s | | | | 7 | | Tour of Guangxi, Stage 4 : Nanning - Nongla | | 1 | |
| 19/10/2019 | | 2.WT3s | | | | 22 | | Tour of Guangxi, Stage 3 : Nanning - Nanning | | 0 | |
| 18/10/2019 | | 2.WT3s | | | | 55 | | Tour of Guangxi, Stage 2 : Beihai - Qinzhou | | 0 | |
| 17/10/2019 | | 2.WT3s | | | | 41 | | Tour of Guangxi, Stage 1 : Beihai - Beihai | | 0 | |
| 12/10/2019 | | 1.WT1 | | | | 72 | | Il Lombardia | | 5 | |
| 29/09/2019 | | WCRR | | | | DNF | | World Championships (Harrogate) R.R. | | 0 | |
| 15/09/2019 | | GT2 | | | | 8 | | Vuelta a España | | 165 | |
| 15/09/2019 | | GT2s | | | | 70 | | Vuelta a España, Stage 21 : Fuenlabrada - Madrid | | 0 | |
| 14/09/2019 | | GT2s | | | | 15 | | Vuelta a España, Stage 20 : Arenas de San Pedro - Plataforma de Gredos | | 0 | |
| 13/09/2019 | | GT2s | | | | 18 | | Vuelta a España, Stage 19 : Avila - Toledo | | 0 | |
| 12/09/2019 | | GT2s | | | | 6 | | Vuelta a España, Stage 18 : Colmenar Viejo - Becerril de la Sierra | | 7 | |
| 11/09/2019 | | GT2s | | | | 35 | | Vuelta a España, Stage 17 : Aranda de Duero - Guadelajara | | 0 | |
| 9/09/2019 | | GT2s | | | | 24 | | Vuelta a España, Stage 16 : Pravia - Alto de la Cubilla | | 0 | |
| 8/09/2019 | | GT2s | | | | 24 | | Vuelta a España, Stage 15 : Tineo - Santuario del Acebo | | 0 | |
| 7/09/2019 | | GT2s | | | | 75 | | Vuelta a España, Stage 14 : San Vicente de la Barquer - Oviedo | | 0 | |
| 6/09/2019 | | GT2s | | | | 19 | | Vuelta a España, Stage 13 : Bilbao - Los Machucos | | 0 | |
| 5/09/2019 | | GT2s | | | | 30 | | Vuelta a España, Stage 12 : Bilbao - Bilbao | | 0 | |
| 4/09/2019 | | GT2s | | | | 27 | | Vuelta a España, Stage 11 : Saint-Palais (FRA) - Urdax-Dantxarinea | | 0 | |
| 3/09/2019 | | GT2s | | | | 32 | | Vuelta a España, Stage 10 : Jurançon (FRA) - Pau (FRA) I.T.T. | | 0 | |
| 1/09/2019 | | GT2s | | | | 11 | | Vuelta a España, Stage 9 : Andorra la Vella (AND) - Cortals d'Encamp (AND) | | 0 | |
| 31/08/2019 | | GT2s | | | | 13 | | Vuelta a España, Stage 8 : Valls - Igualada | | 0 | |
| 30/08/2019 | | GT2s | | | | 26 | | Vuelta a España, Stage 7 : Onda - Mas de la Costa | | 0 | |
| 29/08/2019 | | GT2s | | | | 30 | | Vuelta a España, Stage 6 : Mora de Rubielos - Ares del Maestrat | | 0 | |
| 28/08/2019 | | GT2s | | | | 29 | | Vuelta a España, Stage 5 : L'Eliana - Javalambre | | 0 | |
| 27/08/2019 | | GT2s | | | | 42 | | Vuelta a España, Stage 4 : Cullera - El Puig | | 0 | |
| 26/08/2019 | | GT2s | | | | 25 | | Vuelta a España, Stage 3 : Ibi - Alicante | | 0 | |
| 25/08/2019 | | GT2s | | | | 27 | | Vuelta a España, Stage 2 : Benidorm - Calpe | | 0 | |
| 24/08/2019 | | GT2s | | | | - | | Vuelta a España, Stage 1 : Salinas de Torrevieja - Torrevieja T.T.T. | | 0 | |
| 9/08/2019 | | 2.WT2r | | | | 4 | | Tour de Pologne, Mountains classification | | 8 | |
| 9/08/2019 | | 2.WT2 | | | | 18 | | Tour de Pologne | | 23 | |
| 9/08/2019 | | 2.WT2s | | | | 22 | | Tour de Pologne, Stage 7 : Bukowina Tatranska - Bukowina Tatranska | | 0 | |
| 8/08/2019 | | 2.WT2s | | | | 23 | | Tour de Pologne, Stage 6 : Zakopane - Zakopane | | 0 | |
| 7/08/2019 | | 2.WT2s | | | | 49 | | Tour de Pologne, Stage 5 : Kopalnia Soli - Bielsko-Biala | | 0 | |
| 5/08/2019 | | 2.WT2s | | | | 50 | | Tour de Pologne, Stage 3 : Chorzow - Zabrze | | 0 | |
| 4/08/2019 | | 2.WT2s | | | | 39 | | Tour de Pologne, Stage 2 : Tarnowskie Gory - Katowice | | 0 | |
| 3/08/2019 | | 2.WT2s | | | | 33 | | Tour de Pologne, Stage 1 : Krakow - Krakow | | 0 | |
| 30/06/2019 | | NC3 | | | | 3 | | National Championships Norway (Royse) R.R. | | 30 | |
| 16/06/2019 | | 2.WT1 | | | | 31 | | Critérium du Dauphiné | | 5 | |
| 16/06/2019 | | 2.WT1s | | | | 3 | | Critérium du Dauphiné, Stage 8 : Cluses - Champéry (SUI) | | 18 | |
| 15/06/2019 | | 2.WT1s | | | | 35 | | Critérium du Dauphiné, Stage 7 : Saint-Genix-les-Villages - Pipay | | 0 | |
| 14/06/2019 | | 2.WT1s | | | | 30 | | Critérium du Dauphiné, Stage 6 : Saint-Vulbas - Saint-Michel-de-Maurienne | | 0 | |
| 13/06/2019 | | 2.WT1s | | | | 63 | | Critérium du Dauphiné, Stage 5 : Boën-sur-Lignon - Voiron | | 0 | |
| 12/06/2019 | | 2.WT1s | | | | 57 | | Critérium du Dauphiné, Stage 4 : Roanne - Roanne I.T.T. | | 0 | |
| 11/06/2019 | | 2.WT1s | | | | 93 | | Critérium du Dauphiné, Stage 3 : Le Puy-en-Velay - Riom | | 0 | |
| 10/06/2019 | | 2.WT1s | | | | 102 | | Critérium du Dauphiné, Stage 2 : Mauriac - Craponne-sur-Arzon | | 0 | |
| 9/06/2019 | | 2.WT1s | | | | 21 | | Critérium du Dauphiné, Stage 1 : Aurillac - Jussac | | 0 | |
| 2/06/2019 | | 2.HC | | | | 10 | | Tour of Norway | | 44 | |
| 26/05/2019 | | 2.1 | | | | 8 | | Hammer Series Stavanger | | 8 | |
| 25/05/2019 | | 2.1s | | | | 8 | | Hammer Series Stavanger, Stage 2 : Stavanger, Hammer sprint | | 0 | |
| 24/05/2019 | | 2.1s | | | | 2 | | Hammer Series Stavanger, Stage 1 : Sandness, Hammer climb | | 2 | |
| 5/05/2019 | | 2.WT1 | | | | 15 | | Tour de Romandie | | 38 | |
| 5/05/2019 | | 2.WT1s | | | | 43 | | Tour de Romandie, Stage 5 : Genève I.T.T. | | 0 | |
| 4/05/2019 | | 2.WT1s | | | | 14 | | Tour de Romandie, Stage 4 : Lucens - Torgon | | 0 | |
| 3/05/2019 | | 2.WT1s | | | | 9 | | Tour de Romandie, Stage 3 : Romont - Romont | | 0 | |
| 2/05/2019 | | 2.WT1s | | | | 39 | | Tour de Romandie, Stage 2 : Le Locles - Morgins | | 0 | |
| 1/05/2019 | | 2.WT1s | | | | 6 | | Tour de Romandie, Stage 1 : Neuchâtel - La-Chaux-de-Fonds | | 3 | |
| 30/04/2019 | | 2.WT1s | | | | 88 | | Tour de Romandie, Prologue : Neuchâtel I.T.T. | | 0 | |
| 19/03/2019 | | 2.WT1 | | | | 84 | | Tirreno - Adriatico | | 5 | |
| 19/03/2019 | | 2.WT1s | | | | 113 | | Tirreno - Adriatico, Stage 7 : San Benedetto del Tronto I.T.T. | | 0 | |
| 18/03/2019 | | 2.WT1s | | | | 73 | | Tirreno - Adriatico, Stage 6 : Matelica - Jesi | | 0 | |
| 17/03/2019 | | 2.WT1s | | | | 67 | | Tirreno - Adriatico, Stage 5 : Colli al Metauro - Recanti | | 0 | |
| 16/03/2019 | | 2.WT1s | | | | 82 | | Tirreno - Adriatico, Stage 4 : Foligno - Fossombrone | | 0 | |
| 15/03/2019 | | 2.WT1s | | | | 141 | | Tirreno - Adriatico, Stage 3 : Pomarance - Foligno | | 0 | |
| 14/03/2019 | | 2.WT1s | | | | 151 | | Tirreno - Adriatico, Stage 2 : Camaiore - Pomarance | | 0 | |
| 13/03/2019 | | 2.WT1s | | | | - | | Tirreno - Adriatico, Stage 1 : Lido di Camaiore T.T.T. | | 0 | |
| 9/03/2019 | | 1.WT3 | | | | DNF | | Strade Bianche | | 0 | |
| 24/02/2019 | | 2.HC | | | | 16 | | Volta ao Algarve | | 19 | |
| 24/02/2019 | | 2.HCs | | | | 14 | | Volta ao Algarve, Stage 5 : Faro - Alto de Malhao | | 0 | |
| 20/02/2019 | | 2.HCs | | | | 18 | | Volta ao Algarve, Stage 1 : Portimao - Lagos | | 0 | |
| 27/01/2019 | | 1.WT3 | | | | 53 | | Cadel Evans Great Ocean Road Race | | 5 | |
| 20/01/2019 | | 2.WT1 | | | | 36 | | Tour Down Under | | 5 | |
| 20/01/2019 | | 2.WT1s | | | | 32 | | Tour Down Under, Stage 6 : McLaren Vale - Willunga Hill | | 0 | |
| 19/01/2019 | | 2.WT1s | | | | 112 | | Tour Down Under, Stage 5 : Glenelg - Strathalbyn | | 0 | |
| 18/01/2019 | | 2.WT1s | | | | 36 | | Tour Down Under, Stage 4 : Unley - Campbelltown | | 0 | |
| 17/01/2019 | | 2.WT1s | | | | 26 | | Tour Down Under, Stage 3 : Lobethal - Uraidla | | 0 | |
| 16/01/2019 | | 2.WT1s | | | | 86 | | Tour Down Under, Stage 2 : Norwood - Angaston | | 0 | |
| 15/01/2019 | | 2.WT1s | | | | 101 | | Tour Down Under, Stage 1 : Barnsley - Bedale | | 0 | |