|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 12/10/2019 | | 1.WT1 | | | | 21 | | Il Lombardia | | 22 | |
| 10/10/2019 | | 1.HC | | | | 6 | | Gran Piemonte | | 48 | |
| 5/10/2019 | | 1.HC | | | | 62 | | Giro dell'Emilia | | 0 | |
| 15/09/2019 | | 1.WT2 | | | | 12 | | GP de Montréal | | 35 | |
| 13/09/2019 | | 1.WT2 | | | | 23 | | GP de Québec | | 13 | |
| 1/09/2019 | | 2.HC | | | | 21 | | Deutschland Tour | | 10 | |
| 30/08/2019 | | 2.HCs | | | | 16 | | Deutschland Tour, Stage 2 : Marburg - Göttingen | | 0 | |
| 25/08/2019 | | 1.WT2 | | | | 53 | | EuroEyes Cyclassics - Hamburg | | 5 | |
| 28/07/2019 | | GT1 | | | | 48 | | Tour de France | | 23 | |
| 28/07/2019 | | GT1s | | | | 132 | | Tour de France, Stage 21 : Rambouillet - Paris | | 0 | |
| 27/07/2019 | | GT1s | | | | 72 | | Tour de France, Stage 20 : Albertville - Val Thorens | | 0 | |
| 26/07/2019 | | GT1s | | | | 51 | | Tour de France, Stage 19 : Saint-Jean-de-Maurienne - Col de l'Iséran | | 0 | |
| 25/07/2019 | | GT1s | | | | 46 | | Tour de France, Stage 18 : Embrun - Valloire | | 0 | |
| 24/07/2019 | | GT1s | | | | 89 | | Tour de France, Stage 17 : Pont-du-Gard - Gap | | 0 | |
| 23/07/2019 | | GT1s | | | | 73 | | Tour de France, Stage 16 : Nîmes - Nîmes | | 0 | |
| 21/07/2019 | | GT1s | | | | 87 | | Tour de France, Stage 15 : Limoux - Foix/Prat d'Albis | | 0 | |
| 20/07/2019 | | GT1s | | | | 57 | | Tour de France, Stage 14 : Tarbes - Col du Tourmalet | | 0 | |
| 19/07/2019 | | GT1s | | | | 158 | | Tour de France, Stage 13 : Pau - Pau I.T.T. | | 0 | |
| 18/07/2019 | | GT1s | | | | 14 | | Tour de France, Stage 12 : Toulouse - Bagnères-de-Bigorre | | 0 | |
| 17/07/2019 | | GT1s | | | | 117 | | Tour de France, Stage 11 : Albi - Toulouse | | 0 | |
| 15/07/2019 | | GT1s | | | | 68 | | Tour de France, Stage 10 : Saint-Flour - Albi | | 0 | |
| 14/07/2019 | | GT1s | | | | 17 | | Tour de France, Stage 9 : Saint-Étienne - Brioude | | 0 | |
| 13/07/2019 | | GT1s | | | | 48 | | Tour de France, Stage 8 : Mâcon - Saint-Étienne | | 0 | |
| 12/07/2019 | | GT1s | | | | 131 | | Tour de France, Stage 7 : Belfort - Chalon-sur-Saône | | 0 | |
| 11/07/2019 | | GT1s | | | | 65 | | Tour de France, Stage 6 : Mulhouse - La Planche des Belles Filles | | 0 | |
| 10/07/2019 | | GT1s | | | | 55 | | Tour de France, Stage 5 : Saint-Dié-des-Vosges - Colmar | | 0 | |
| 9/07/2019 | | GT1s | | | | 127 | | Tour de France, Stage 4 : Reims - Nancy | | 0 | |
| 8/07/2019 | | GT1s | | | | 59 | | Tour de France, Stage 3 : Binche (BEL) - Epernay | | 0 | |
| 7/07/2019 | | GT1s | | | | 19 | | Tour de France, Stage 2 : Brussel (BEL) T.T.T. | | 0 | |
| 6/07/2019 | | GT1s | | | | 135 | | Tour de France, Stage 1 : Brussel (BEL) - Brussel (BEL) | | 0 | |
| 30/06/2019 | | NC3 | | | | 3 | | National Championships Switzerland (Fischingen) R.R. | | 30 | |
| 23/06/2019 | | 2.WT1r | | | | 9 | | Tour de Suisse, Mountains classification | | 0 | |
| 23/06/2019 | | 2.WT1 | | | | 20 | | Tour de Suisse | | 20 | |
| 23/06/2019 | | 2.WT1s | | | | 4 | | Tour de Suisse, Stage 9 : Ulrichen - Ulrichen | | 10 | |
| 22/06/2019 | | 2.WT1s | | | | 120 | | Tour de Suisse, Stage 8 : Goms - Goms I.T.T. | | 0 | |
| 21/06/2019 | | 2.WT1s | | | | 31 | | Tour de Suisse, Stage 7 : Unterterzen - San Gottardo | | 0 | |
| 20/06/2019 | | 2.WT1s | | | | 44 | | Tour de Suisse, Stage 6 : Einsiedeln - Flumserberg | | 0 | |
| 19/06/2019 | | 2.WT1s | | | | 50 | | Tour de Suisse, Stage 5 : Münchenstein - Einsiedeln | | 0 | |
| 18/06/2019 | | 2.WT1s | | | | 36 | | Tour de Suisse, Stage 4 : Murten - Arlesheim | | 0 | |
| 17/06/2019 | | 2.WT1s | | | | 57 | | Tour de Suisse, Stage 3 : Flamatt - Murten | | 0 | |
| 16/06/2019 | | 2.WT1s | | | | 38 | | Tour de Suisse, Stage 2 : Langnau im Emmental - Langnau im Emmental | | 0 | |
| 15/06/2019 | | 2.WT1s | | | | 60 | | Tour de Suisse, Stage 1 : Langnau im Emmental I.T.T. | | 0 | |
| 26/05/2019 | | 2.1 | | | | 2 | | Tour de l'Ain | | 80 | |
| 26/05/2019 | | 2.1s | | | | 5 | | Tour de l'Ain, Stage 3 : Villars-les-Dombes - Col du Grand-Colombier | | 0 | |
| 25/05/2019 | | 2.1s | | | | 3 | | Tour de l'Ain, Stage 2 : Bellignat - Col de la Faucille | | 5 | |
| 5/05/2019 | | 2.WT1 | | | | 12 | | Tour de Romandie | | 54 | |
| 5/05/2019 | | 2.WT1s | | | | 37 | | Tour de Romandie, Stage 5 : Genève I.T.T. | | 0 | |
| 4/05/2019 | | 2.WT1s | | | | 19 | | Tour de Romandie, Stage 4 : Lucens - Torgon | | 0 | |
| 3/05/2019 | | 2.WT1s | | | | 11 | | Tour de Romandie, Stage 3 : Romont - Romont | | 0 | |
| 2/05/2019 | | 2.WT1s | | | | 50 | | Tour de Romandie, Stage 2 : Le Locles - Morgins | | 0 | |
| 1/05/2019 | | 2.WT1s | | | | 18 | | Tour de Romandie, Stage 1 : Neuchâtel - La-Chaux-de-Fonds | | 0 | |
| 30/04/2019 | | 2.WT1s | | | | 48 | | Tour de Romandie, Prologue : Neuchâtel I.T.T. | | 0 | |
| 24/04/2019 | | 1.WT2 | | | | 38 | | Flèche Wallonne | | 5 | |
| 13/04/2019 | | 2.WT2 | | | | 67 | | Itzulia Basque Country | | 5 | |
| 13/04/2019 | | 2.WT2s | | | | 49 | | Itzulia Basque Country, Stage 6 : Eibar - Eibar | | 0 | |
| 12/04/2019 | | 2.WT2s | | | | 47 | | Itzulia Basque Country, Stage 5 : Arrigorriaga - Arrate | | 0 | |
| 11/04/2019 | | 2.WT2s | | | | 53 | | Itzulia Basque Country, Stage 4 : Vitoria-Gasteiz - Arrigorriaga | | 0 | |
| 10/04/2019 | | 2.WT2s | | | | 129 | | Itzulia Basque Country, Stage 3 : Sarriguren - Estibaliz | | 0 | |
| 9/04/2019 | | 2.WT2s | | | | 131 | | Itzulia Basque Country, Stage 2 : Zumarraga - Gorraiz | | 0 | |
| 8/04/2019 | | 2.WT2s | | | | 51 | | Itzulia Basque Country, Stage 1 : Zumarraga - Zumarraga I.T.T. | | 0 | |
| 16/03/2019 | | 2.WT1s | | | | DNF | | Paris - Nice, Stage 7 : Nice - Col de Turini | | 0 | |
| 15/03/2019 | | 2.WT1s | | | | 74 | | Paris - Nice, Stage 6 : Peynier - Brignoles | | 0 | |
| 14/03/2019 | | 2.WT1s | | | | 61 | | Paris - Nice, Stage 5 : Barbentane - Barbentane I.T.T. | | 0 | |
| 13/03/2019 | | 2.WT1s | | | | 43 | | Paris - Nice, Stage 4 : Vichy - Pélussin | | 0 | |
| 12/03/2019 | | 2.WT1s | | | | 131 | | Paris - Nice, Stage 3 : Cepoy - Moulins-Yzeure | | 0 | |
| 11/03/2019 | | 2.WT1s | | | | 134 | | Paris - Nice, Stage 2 : Les Bréviaires - Bellegarde | | 0 | |
| 10/03/2019 | | 2.WT1s | | | | 105 | | Paris - Nice, Stage 1 : Saint-Germain-en-Laye - Saint-Germain-en-Laye | | 0 | |
| 21/02/2019 | | 2.HC | | | | 14 | | Tour of Oman | | 26 | |
| 20/02/2019 | | 2.HCs | | | | 9 | | Tour of Oman, Stage 5 : Samail - Jabal Al Akhdhar (Green Mountain) | | 0 | |