| 27-09 | 41 | | UCI World Championship Yorkshire U23 (CM) | 193.0km |
| 18-09 | 33 | | Grand Prix de Wallonie (1.1) | 205.0km |
| 08-09 | DNF | | Gylne Gutuer (1.2) | |
| 07-09 | 4 | | Lillehammer GP (1.2) | |
| 01-09 | 39 | | Grote Prijs Jef Scherens - Rondom Leuven (1.1) | 185.0km |
| | | The Larry H.Miller Tour of Utah (2.HC) |
| 23 | | Klassement |
| 38 | | Punten |
| 18-08 | 20 | 23 | Stage 6Park City - Park City (133.0km) | 133.0km |
| 17-08 | 24 | 25 | Stage 5Canyons Village - Canyons Village (142.0km) | 142.0km |
| 16-08 | 46 | 25 | Stage 4Salt Lake City - Salt Lake City (86.0km) | 86.0km |
| 15-08 | 43 | 27 | Stage 3Antelope Island State Park - North Salt Lake (137.0km) | 137.0km |
| 14-08 | 20 | 18 | Stage 2Brigham City - Powder Mountain Resort (138.0km) | 138.0km |
| 13-08 | 19 | 17 | Stage 1North Logan City - North Logan City (145.0km) | 145.0km |
| 12-08 | 17 | 17 | PrologueSnowbird Resort - Snowbird Resort (5.0km) | 5.0km |
| 30-06 | DNF | | National Road Championships - USA (CN) | 190.0km |
| 27-06 | 25 | | National Road Championships - USA TT (CN) | |
| | | Baby Giro (2.2U) |
| 79 | | Klassement |
| 23-06 | 100 | 79 | Stage 9Agordo - Passo Fedaia (35.0km) | 35.0km |
| 22-06 | 25 | 77 | Stage 8Rosà - Falcade (134.0km) | 134.0km |
| 21-06 | 37 | 85 | Stage 7Dimaro Folgarida - Levico Terme (153.0km) | 153.0km |
| 20-06 | 69 | 90 | Stage 6Aprica - Aprica (94.0km) | 94.0km |
| 19-06 | 100 | 94 | Stage 5Sorbolo - Passo Maniva (155.0km) | 155.0km |
| 17-06 | 82 | 95 | Stage 4Buonconvento - Vetta Amiata (163.0km) | 163.0km |
| 16-06 | 101 | 105 | Stage 3Sesto Fiorentino - Gaiole in Chianti (145.0km) | 145.0km |
| 15-06 | 63 | 112 | Stage 2Bagno di Romagna - Pescia (174.0km) | 174.0km |
| 14-06 | 121 | 123 | Stage 1Riccione - Santa Sofia (143.0km) | 143.0km |
| 13-06 | 28 | 28 | PrologueRiccione - Riccione (3.0km) | 3.0km |
| 02-06 | 28 | | Paris-Roubaix Espoirs (1.2U) | |
| | | Tour de Yorkshire (2.HC) |
| 21 | | Klassement |
| 19 | | Punten |
| 16 | | Berg |
| 05-05 | 11 | 21 | Stage 4Halifax - Leeds (175.0km) | 175.0km |
| 04-05 | 34 | 29 | Stage 3Bridlington - Scarborough (132.0km) | 132.0km |
| 03-05 | 22 | 8 | Stage 2Barnsley - Bedale (132.0km) | 132.0km |
| 02-05 | 18 | 5 | Stage 1Doncaster - Selby (178.0km) | 178.0km |
| 20-04 | 1 | | Liège - Bastogne - Liège U23 (1.2U) | 171.0km |
| | | Circuit des Ardennes International (2.2) |
| 41 | | Klassement |
| 14-04 | 25 | 41 | Stage 4Villers-Semeuse - Charleville-Mézières (101.0km) | 101.0km |
| 14-04 | 70 | 44 | Stage 3Nouvion-sur-Meuse - Aiglemont (58.0km) | 58.0km |
| 13-04 | 37 | 35 | Stage 2Rocroi - Monthermé (160.0km) | 160.0km |
| 12-04 | 45 | 47 | Stage 1Neuvizy - Launois-sur-Vence (187.0km) | 187.0km |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 36 | | Klassement |
| 31-03 | 36 | 36 | Stage 5Fiorano Modenese - Sassuolo (153.0km) | 153.0km |
| 30-03 | 50 | 38 | Stage 4Crevalcore - Crevalcore (171.0km) | 171.0km |
| 29-03 | 51 | 38 | Stage 3Forlì - Forlì (166.0km) | 166.0km |
| 28-03 | 28 | 33 | Stage 2Riccione - Sogliano al Rubicone (140.0km) | 140.0km |
| 27-03 | 4 | 54 | Stage 1bGatteo a Mare - Gatteo (13.0km) | 13.0km |
| 27-03 | 111 | 65 | Stage 1aGatteo - Gatteo (97.0km) | 97.0km |