|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6/10/2019 | | 2.1 | | | | 42 | | Cro Race | | 0 | |
| 22/09/2019 | | 2.1 | | | | 26 | | Tour of China II | | 3 | |
| 16/09/2019 | | 2.1s | | | | 12 | | Tour of China II, Prologue : Hewan I.T.T. | | 0 | |
| 14/09/2019 | | 2.1 | | | | 5 | | Tour of China I | | 50 | |
| 14/09/2019 | | 2.1s | | | | 12 | | Tour of China I, Stage 6 : Ningyuan - Jiuyi Mountain | | 0 | |
| 10/09/2019 | | 2.1s | | | | leader | | Tour of China I, Stage 3 : Huangshi - Huangshi | | 6 | |
| 8/09/2019 | | 2.1s | | | | leader | | Tour of China I, Stage 2 : Chengde Yongqian - Chengde Yongqian I.T.T. | | 6 | |
| 8/09/2019 | | 2.1s | | | | 1 | | Tour of China I, Stage 2 : Chengde Yongqian - Chengde Yongqian I.T.T. | | 20 | |
| 7/09/2019 | | 2.1s | | | | 20 | | Tour of China I, Stage 1 : Yodaokou - Yodaokou | | 0 | |
| 3/09/2019 | | 2.2s | | | | 3 | | Tour of Xingtai, Stage 2 : Licheng - Wangao | | 1 | |
| 25/08/2019 | | 2.HC | | | | 87 | | Danmark Rundt - Tour of Denmark | | 0 | |
| 28/06/2019 | | NCT1 | | | | 20 | | National Championships Italy (Bedonia) I.T.T. | | 0 | |
| 23/06/2019 | | 2.HC | | | | 50 | | Tour de Slovénie | | 5 | |
| 2/06/2019 | | GT2r | | | | 7 | | Giro d'Italia, Points classification | | 5 | |
| 2/06/2019 | | GT2 | | | | 103 | | Giro d'Italia | | 15 | |
| 2/06/2019 | | GT2s | | | | 94 | | Giro d'Italia, Stage 21 : Verona - Verona I.T.T. | | 0 | |
| 1/06/2019 | | GT2s | | | | 115 | | Giro d'Italia, Stage 20 : Feltre - Croce d'Aune/Monte Avena | | 0 | |
| 31/05/2019 | | GT2s | | | | 107 | | Giro d'Italia, Stage 19 : Treviso - San Martino di Castrozza | | 0 | |
| 30/05/2019 | | GT2s | | | | 10 | | Giro d'Italia, Stage 18 : Valdaora - Santa Maria di Sala | | 1 | |
| 29/05/2019 | | GT2s | | | | 17 | | Giro d'Italia, Stage 17 : Commezzadura - Anterselva | | 0 | |
| 28/05/2019 | | GT2s | | | | 104 | | Giro d'Italia, Stage 16 : Lovere - Ponte di Legno | | 0 | |
| 26/05/2019 | | GT2s | | | | 120 | | Giro d'Italia, Stage 15 : Ivrea - Como | | 0 | |
| 25/05/2019 | | GT2s | | | | 113 | | Giro d'Italia, Stage 14 : Saint-Vincent - Courmayeur | | 0 | |
| 24/05/2019 | | GT2s | | | | 119 | | Giro d'Italia, Stage 13 : Pinerolo - Ceresole Reale/Lago Serru | | 0 | |
| 23/05/2019 | | GT2s | | | | 106 | | Giro d'Italia, Stage 12 : Cuneo - Pinerolo | | 0 | |
| 22/05/2019 | | GT2s | | | | 130 | | Giro d'Italia, Stage 11 : Carpi - Novi Ligure | | 0 | |
| 21/05/2019 | | GT2s | | | | 88 | | Giro d'Italia, Stage 10 : Ravenna - Modena | | 0 | |
| 19/05/2019 | | GT2s | | | | 121 | | Giro d'Italia, Stage 9 : Riccione - San Marino (SMR) I.T.T. | | 0 | |
| 18/05/2019 | | GT2s | | | | 122 | | Giro d'Italia, Stage 8 : Tortoredo Lido - Pesaro | | 0 | |
| 17/05/2019 | | GT2s | | | | 96 | | Giro d'Italia, Stage 7 : Vasto - L'Aquila | | 0 | |
| 16/05/2019 | | GT2s | | | | 128 | | Giro d'Italia, Stage 6 : Cassino - San Giovanni Rotondo | | 0 | |
| 15/05/2019 | | GT2s | | | | 25 | | Giro d'Italia, Stage 5 : Frascati - Terracina | | 0 | |
| 14/05/2019 | | GT2s | | | | 117 | | Giro d'Italia, Stage 4 : Orbetello - Frascati | | 0 | |
| 13/05/2019 | | GT2s | | | | 174 | | Giro d'Italia, Stage 3 : Vinci - Orbetello | | 0 | |
| 12/05/2019 | | GT2s | | | | 122 | | Giro d'Italia, Stage 2 : Bologna - Fucecchio | | 0 | |
| 11/05/2019 | | GT2s | | | | 138 | | Giro d'Italia, Stage 1 : Bologna - San Luca I.T.T. | | 0 | |
| 21/04/2019 | | 1.WT2 | | | | DNF | | Amstel Gold Race | | 0 | |
| 13/04/2019 | | 2.HC | | | | 32 | | Tour de Langkawi | | 5 | |
| 13/04/2019 | | 2.HCs | | | | 13 | | Tour de Langkawi, Stage 8 : Dataran Lang - Kuah | | 0 | |
| 23/03/2019 | | 1.WT1 | | | | 142 | | Milano - Sanremo | | 5 | |
| 19/03/2019 | | 2.WT1r | | | | 1 | | Tirreno - Adriatico, Points classification | | 45 | |
| 19/03/2019 | | 2.WT1 | | | | 115 | | Tirreno - Adriatico | | 5 | |
| 19/03/2019 | | 2.WT1s | | | | 111 | | Tirreno - Adriatico, Stage 7 : San Benedetto del Tronto I.T.T. | | 0 | |
| 18/03/2019 | | 2.WT1s | | | | 119 | | Tirreno - Adriatico, Stage 6 : Matelica - Jesi | | 0 | |
| 17/03/2019 | | 2.WT1s | | | | 118 | | Tirreno - Adriatico, Stage 5 : Colli al Metauro - Recanti | | 0 | |
| 16/03/2019 | | 2.WT1s | | | | 125 | | Tirreno - Adriatico, Stage 4 : Foligno - Fossombrone | | 0 | |
| 15/03/2019 | | 2.WT1s | | | | 139 | | Tirreno - Adriatico, Stage 3 : Pomarance - Foligno | | 0 | |
| 14/03/2019 | | 2.WT1s | | | | 125 | | Tirreno - Adriatico, Stage 2 : Camaiore - Pomarance | | 0 | |
| 13/03/2019 | | 2.WT1s | | | | 23 | | Tirreno - Adriatico, Stage 1 : Lido di Camaiore T.T.T. | | 0 | |
| 17/02/2019 | | 2.1 | | | | 77 | | Tour Colombia | | 0 | |