02.09 › 09.092-9/9 | | | | Ovo Energy Tour of Britain (2.HC) | | | | more |
| 41 | | | Mountains classificationMountains classification | | | | |
| 72 | | | General classificationGeneral classification | | | | |
09.09 | 54 | | | S8Stage 8 - London › London | 77 | | | |
08.09 | 97 | 74 | | S7Stage 7 - West Bridgford › Mansfield | 215.6 | | | |
07.09 | 69 | 70 | | S6Stage 6 - Barrow-in-Furness › Whinlatter Pass | 168.3 | | | |
06.09 | 13 | 71 | | S5 (TTT)Stage 5 (TTT) - Cockermouth › Whinlatter Pass | 14 | | | |
05.09 | 17 | 74 | | S4Stage 4 - Nuneaton › Royal Leamington Spa | 183.5 | | | |
04.09 | 33 | 74 | | S3Stage 3 - Bristol › Bristol | 127.2 | | | |
03.09 | 79 | 82 | | S2Stage 2 - Cranbrook › Barnstaple | 174.9 | | | |
02.09 | 116 | 113 | | S1Stage 1 - Pembrey Country Park › Newport | 174.8 | | | |
17.08 › 26.0817-26/8 | | | | Tour de l'Avenir (2.Ncup) Ireland | | | | more |
| 4 | | | Points classificationPoints classification | | | | |
| 88 | | | General classificationGeneral classification | | | | |
26.08 | 94 | | | S10Stage 10 - Val d'Isère › Saint-Colomban-des-Villards Col du Glandon | 150.8 | | | |
25.08 | 78 | 85 | | S9Stage 9 - Séez › Val d'Isère | 89 | | | |
24.08 | 93 | 85 | | S8Stage 8 - La Bathie › Crest-Voland Cohennoz | 81.1 | | | |
23.08 | 93 | 75 | | S7Stage 7 - Moutiers › Méribel | 35.9 | | | |
22.08 | 2 | 20 | | S6Stage 6 - Le Blanc › Cérilly | 183.5 | 2 | 9 | |
21.08 | 11 | 28 | | S5Stage 5 - Beaugency › Levroux | 130.4 | | | |
20.08 | 13 | 39 | | S4 (TTT)Stage 4 (TTT) - Orléans › Orléans | 20.2 | | | |
19.08 | 10 | 13 | | S3Stage 3 - Le Lude › Châteaudu | 165.8 | | | |
18.08 | 29 | 16 | | S2Stage 2 - Drefféac › Châteaubriant | 137.6 | | | |
17.08 | 8 | 9 | | S1Stage 1 - Grand-Champ › Elven | 132.5 | | | |
15.07 | DNF | | | European Continental Championships MU - Road Race (CC) Ireland | 140.4 | | | more |
01.07 | 3 | | | National Championships Ireland ME - Road Race (NC) | 180 | 7 | 60 | more |
07.06 › 16.067-16/6 | | | | Giro Ciclistico d'Italia (2.2U) | | | | more |
| 37 | | | Mountains classificationMountains classification | | | | |
| 65 | | | General classificationGeneral classification | | | | |
16.06 | 64 | | | S9b (ITT)Stage 9b (ITT) - Il Muro di cà del Poggio › Cà del Poggio | 22.4 | | | |
16.06 | 4 | 65 | | S9aStage 9a - Conegliano › Valdobbiadene | 72.8 | | | |
15.06 | 97 | 72 | | S8Stage 8 - Levico Terme › Asiago | 157.4 | | | |
14.06 | 94 | 73 | | S7Stage 7 - Schio › Pian Delle Fugazze | 136.9 | | | |
13.06 | 9 | 71 | | S6Stage 6 - Dimaro Folgarida › Pergine Valsugana | 120.7 | | | |
12.06 | 86 | 95 | | S5Stage 5 - Darfo Boario Terme › Dimaro Folgarida (Malga di Dimaro) | 127.8 | | | |
11.06 | 89 | 100 | | S4Stage 4 - Mornico Al Serio › Passo Manivia | 127.9 | | | |
10.06 | 41 | 106 | | S3Stage 3 - Rio Saliceto › Mornico Al Serio | 164.3 | | | |
09.06 | 121 | 108 | | S2Stage 2 - Nonantola › Sestola | 138.2 | | | |
08.06 | 11 | 56 | | S1Stage 1 - Riccione › Forlì | 137.7 | | | |
07.06 | 67 | 67 | | ProloguePrologue - Forlì › Forlì | 4.4 | | | |
27.05 | 46 | | | Paris-Roubaix Espoirs (1.2U) | 188.3 | | | more |
18.05 › 20.0518-20/5 | | | | A Travers Les Hauts De France - Trophee Paris-Arras Tour (2.2) | | | | more |
| 12 | | | Youth classificationYouth classification | | | | |
| 26 | | | General classificationGeneral classification | | | | |
20.05 | 21 | | | S3Stage 3 - Hermies › Arras | 192.6 | | | |
19.05 | 38 | 40 | | S2Stage 2 - Lens › Liévin | 189.6 | | | |
18.05 | 106 | 106 | | S1Stage 1 - Le Cateau-Cambrésis › Villers-lès-Cagnicourt | 121.7 | | | |
14.04 | 4 | | | Commonwealth Games ME - Road Race (JR) Northern Ireland | 169.8 | 6 | | more |
14.03 › 18.0314-18/3 | | | | Volta ao Alentejo (2.2) | | | | more |
| 1 | | | Youth classificationYouth classification | | | | |
| 2 | | | Points classificationPoints classification | | | | |
| 3 | | | General classificationGeneral classification | | 14 | 25 | |
18.03 | 4 | | | S6Stage 6 - Castelo de Vide › Évora | 151.3 | | | |
17.03 | 14 | 3 | | S5 (ITT)Stage 5 (ITT) - Castelo de Vide › Castelo de Vide | 8.4 | | | |
17.03 | 3 | 1 | | S4Stage 4 - Monforte › Portalegre | 64.2 | 1 | 1 | |
16.03 | 5 | 1 | | S3Stage 3 - Grândola › Arraiolos | 149.3 | | | |
15.03 | 2 | 1 | | S2Stage 2 - Beja › Sines | 205.2 | 2 | 3 | |
14.03 | 3 | 3 | | S1Stage 1 - Vendas Novas › Serpa | 173.5 | 1 | 1 | |
11.03 | 4 | | | Classica da Arrabida - Cyclin'Portugal (1.2) | 169.6 | 4 | 20 | more |