|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6/09/2017 | | 2.HCs | | | | DNF | | Tour of Britain, Stage 4 : Mansfield - Newark-on-Trent | | 0 | |
| 25/08/2017 | | 2.1 | | | | 57 | | Tour du Poitou Charentes | | 0 | |
| 24/08/2017 | | 2.1s | | | | 9 | | Tour du Poitou Charentes, Stage 4 : Mirebeau - Neuville-de-Poitou I.T.T. | | 0 | |
| 13/08/2017 | | 2.HC | | | | 7 | | Colorado Classic | | 62 | |
| 13/08/2017 | | 2.HCs | | | | 12 | | Colorado Classic, Stage 4 : Denver - Denver | | 0 | |
| 12/08/2017 | | 2.HCs | | | | 6 | | Colorado Classic, Stage 3 : Denver - Denver | | 0 | |
| 11/08/2017 | | 2.HCs | | | | 6 | | Colorado Classic, Stage 2 : Breckenridge - Breckenridge | | 0 | |
| 10/08/2017 | | 2.HCs | | | | 10 | | Colorado Classic, Stage 1 : Colorado Springs - Colorado Springs | | 0 | |
| 6/08/2017 | | 2.HC | | | | 5 | | Tour of Utah | | 74 | |
| 6/08/2017 | | 2.HCs | | | | 2 | | Tour of Utah, Stage 7 : Salt Lake City - Salt Lake City | | 15 | |
| 5/08/2017 | | 2.HCs | | | | 10 | | Tour of Utah, Stage 6 : Heber Valley - Snowbird Resort | | 0 | |
| 4/08/2017 | | 2.HCs | | | | 5 | | Tour of Utah, Stage 5 : Layton - Bountiful | | 3 | |
| 2/08/2017 | | 2.HCs | | | | 11 | | Tour of Utah, Stage 3 : Big Cottonwood Canyon - Brighton I.T.T. | | 0 | |
| 1/08/2017 | | 2.HCs | | | | 1 | | Tour of Utah, Stage 2 : Brigham City - Snowbasin Resort | | 25 | |
| 25/06/2017 | | NC3 | | | | 6 | | National Championships United States (Knoxville) R.R. | | 16 | |
| 24/06/2017 | | NCT3 | | | | 2 | | National Championships United States (Knoxville) I.T.T. | | 18 | |
| 11/06/2017 | | 2.WT1 | | | | 64 | | Critérium du Dauphiné | | 5 | |
| 11/06/2017 | | 2.WT1s | | | | 65 | | Critérium du Dauphiné, Stage 8 : Albertville - Plateau de Solaison | | 0 | |
| 10/06/2017 | | 2.WT1s | | | | 111 | | Critérium du Dauphiné, Stage 7 : Aoste - Alpe d'Huez | | 0 | |
| 9/06/2017 | | 2.WT1s | | | | 67 | | Critérium du Dauphiné, Stage 6 : Villars-les-Dombes - La Motte-Servolex | | 0 | |
| 8/06/2017 | | 2.WT1s | | | | 68 | | Critérium du Dauphiné, Stage 5 : La Tour-de-Salvagny - Mâcon | | 0 | |
| 7/06/2017 | | 2.WT1s | | | | 10 | | Critérium du Dauphiné, Stage 4 : La Tour-du-Pin - Bourgion-Jalieu I.T.T. | | 0 | |
| 6/06/2017 | | 2.WT1s | | | | 115 | | Critérium du Dauphiné, Stage 3 : Le Chambon-sur-Lignon - Tullins | | 0 | |
| 5/06/2017 | | 2.WT1s | | | | 61 | | Critérium du Dauphiné, Stage 2 : Saint-Champond - Arlanc | | 0 | |
| 4/06/2017 | | 2.WT1s | | | | 20 | | Critérium du Dauphiné, Stage 1 : Saint-Etienne - Saint-Etienne | | 0 | |
| 20/05/2017 | | 2.WT3r | | | | 7 | | Tour of California, Points classification | | 1 | |
| 20/05/2017 | | 2.WT3 | | | | 4 | | Tour of California | | 100 | |
| 20/05/2017 | | 2.WT3s | | | | 11 | | Tour of California, Stage 7 : Mountain High - Pasadena | | 0 | |
| 19/05/2017 | | 2.WT3s | | | | 2 | | Tour of California, Stage 6 : Big Bear Lake I.T.T. | | 18 | |
| 18/05/2017 | | 2.WT3s | | | | 5 | | Tour of California, Stage 5 : Ontario - Mount Baldy | | 4 | |
| 17/05/2017 | | 2.WT3s | | | | 21 | | Tour of California, Stage 4 : Santa Barbara - Santa Clarita | | 0 | |
| 16/05/2017 | | 2.WT3s | | | | 17 | | Tour of California, Stage 3 : Pismo Beach - Morro Bay | | 0 | |
| 15/05/2017 | | 2.WT3s | | | | 6 | | Tour of California, Stage 2 : Modesto - San Jose | | 2 | |
| 14/05/2017 | | 2.WT3s | | | | 19 | | Tour of California, Stage 1 : Sacramento - Sacramento | | 0 | |
| 30/04/2017 | | 2.1 | | | | 4 | | Tour de Yorkshire | | 56 | |
| 30/04/2017 | | 2.1s | | | | 4 | | Tour de Yorkshire, Stage 3 : Bradford - Stocksbridge | | 3 | |
| 29/04/2017 | | 2.1s | | | | 11 | | Tour de Yorkshire, Stage 2 : Tadcaster - Harrogate | | 0 | |
| 28/04/2017 | | 2.1s | | | | 12 | | Tour de Yorkshire, Stage 1 : Bridlington - Scarborough | | 0 | |
| 21/04/2017 | | 2.HC | | | | 11 | | Tour of the Alps - Giro del Trentino | | 38 | |
| 21/04/2017 | | 2.HCs | | | | 2 | | Tour of the Alps - Giro del Trentino, Stage 5 : Smarano - Trento | | 15 | |
| 20/04/2017 | | 2.HCs | | | | 11 | | Tour of the Alps - Giro del Trentino, Stage 4 : Bolzano - Cles | | 0 | |
| 19/04/2017 | | 2.HCs | | | | 16 | | Tour of the Alps - Giro del Trentino, Stage 3 : Villabassa - Funes | | 0 | |
| 17/04/2017 | | 2.HCs | | | | 18 | | Tour of the Alps - Giro del Trentino, Stage 1 : Kufstein (AUT) - Innsbrück/Hungerburg (AUT) | | 0 | |
| 26/03/2017 | | 2.WT2 | | | | 79 | | Volta a Catalunya | | 5 | |
| 26/03/2017 | | 2.WT2s | | | | 63 | | Volta a Catalunya, Stage 7 : Barcelona - Barcelona | | 0 | |
| 25/03/2017 | | 2.WT2s | | | | 87 | | Volta a Catalunya, Stage 6 : Tortosa - Reus | | 0 | |
| 24/03/2017 | | 2.WT2s | | | | 65 | | Volta a Catalunya, Stage 5 : Valls - Tortosa/Lo Tosa | | 0 | |
| 23/03/2017 | | 2.WT2s | | | | 28 | | Volta a Catalunya, Stage 4 : La Seu d'Urgell - Igualada | | 0 | |
| 22/03/2017 | | 2.WT2s | | | | 93 | | Volta a Catalunya, Stage 3 : Mataro - La Molina | | 0 | |
| 21/03/2017 | | 2.WT2s | | | | leader | | Volta a Catalunya, Stage 2 : Banyoles - Banyoles T.T.T. | | 10 | |
| 21/03/2017 | | 2.WT2s | | | | 1 | | Volta a Catalunya, Stage 2 : Banyoles - Banyoles T.T.T. | | 8 | |
| 20/03/2017 | | 2.WT2s | | | | 46 | | Volta a Catalunya, Stage 1 : Calella - Calella | | 0 | |
| 4/03/2017 | | 1.WT3 | | | | 26 | | Strade Bianche | | 5 | |
| 23/02/2017 | | 2.1 | | | | 17 | | Tour La Provence | | 8 | |
| 22/02/2017 | | 2.1s | | | | 18 | | Tour La Provence, Stage 2 : Miramat - La Ciotat | | 0 | |
| 21/02/2017 | | 2.1s | | | | 13 | | Tour La Provence, Stage 1 : Aubagne - Istres | | 0 | |
| 19/02/2017 | | 2.1 | | | | 7 | | Tour du Haut-Var | | 40 | |
| 19/02/2017 | | 2.1s | | | | 7 | | Tour du Haut-Var, Stage 2 : Draguignan - Draguignan | | 0 | |
| 18/02/2017 | | 2.1s | | | | 13 | | Tour du Haut-Var, Stage 1 : Le Cannet-des-Maures - Saint-Paul-en-Forêt | | 0 | |