| | | Tour du Rwanda (2.2) |
| 13-11 | DNS | | Stage 1Kigali - Huye (120.0km) | 120.0km |
| 12-11 | 73 | 73 | PrologueKigali - Kigali (3.0km) | 3.0km |
| 28-09 | 80 | | Coppa Sabatini (1.1) | 195.0km |
| | | Giro della Toscana (2.1) |
| 69 | | Klassement |
| 27-09 | 78 | 69 | Stage 2Lajatico - Volterra (165.0km) | 165.0km |
| 26-09 | 54 | 54 | Stage 1Pontedera - Pontedera (181.0km) | 181.0km |
| 22-09 | 75 | | UCI World Championship Bergen U23 (CM) | 191.0km |
| 18-09 | 35 | | UCI World Championship Bergen TT U23 (CM) | 37.0km |
| 14-09 | 25 | | 99° Coppa Bernocchi - 42° GP BPM
(1.1) | |
| 13-09 | DNS | | Coppa Agostoni - Giro delle Brianze (1.1) | 199.0km |
| 10-09 | 3 | | 19. Int. RAIFFEISEN Grand Prix Judendorf-Straßengel
(1.2) | |
| | | Tour de l'Avenir (2.NCUP) |
| 84 | | Klassement |
| 15 | | Punten |
| 27 | | Berg |
| 27-08 | 72 | 84 | Stage 9Bourg-Saint-Maurice - Albiez-Montrond (106.0km) | 106.0km |
| 26-08 | 82 | 86 | Stage 8Albertville - Sainte-Foy-Tarentaise (120.0km) | 120.0km |
| 25-08 | 107 | 81 | Stage 7Saint-Gervais Mont-Blanc - Le Saisies (118.0km) | 118.0km |
| 23-08 | 29 | 1 | Stage 6Montrichard - Saint-Amand-Montrond (139.0km) | 139.0km |
| 22-08 | 2 | 1 | Stage 5Montreuil - Amboise (157.0km) | 157.0km |
| 21-08 | 23 | 27 | Stage 4Derval - Saumur (166.0km) | 166.0km |
| 20-08 | 65 | 38 | Stage 3Missillac - Chateaubriant (125.0km) | 125.0km |
| 19-08 | 55 | 30 | Stage 2Inzinzac-Lochrist - Bignan (132.0km) | 132.0km |
| 18-08 | 20 | 20 | Stage 1Loudéac - Loudéac (134.0km) | 134.0km |
| 13-08 | DNF | | 42° Gran Premio Sportivi di Poggiana-42 Trofeo Bonin Costruzioni-7° Gran premio Pasta Zara
(1.2U) | |
| 05-08 | 73 | | UEC Road European Championships U23 (CC) | 160.0km |
| 03-08 | 6 | | UEC Road European Championships TT U23 (CC) | 31.0km |
| | | Giro Ciclistico della Valle d'Aosta Mont Blanc
(2.2U) |
| 13-07 | DNS | | Stage 2Quassolo - Scalaro (172.0km) | 172.0km |
| 12-07 | 106 | | Stage 1Saint-Gervais Mont-Blanc - Saint Nicolas de Veroce (8.0km) | 8.0km |
| | | Int. Österreich-Rundfahrt
(2.HC) |
| 117 | | Klassement |
| 18 | | Punten |
| 08-07 | 101 | 117 | Stage 6St. Johann/Alpendorf - Wels (203.0km) | 203.0km |
| 07-07 | 98 | 119 | Stage 5Kitzbühel - St. Johann/Alpendorf (212.0km) | 212.0km |
| 06-07 | 111 | 128 | Stage 4Salzburg - Kitzbühel (82.0km) | 82.0km |
| 05-07 | 125 | 127 | Stage 3Wieselburg - Altheim (226.0km) | 226.0km |
| 04-07 | 126 | 121 | Stage 2Wien - Pöggstall (199.0km) | 199.0km |
| 03-07 | 24 | 23 | Stage 1Graz - Wien (193.0km) | 193.0km |
| 02-07 | 115 | 115 | PrologueGraz - Schlossberg0 | 0 |
| 25-06 | DNF | | National Road Championships - Austria (CN) | |
| 23-06 | 6 | | National Road Championships - Austria TT (CN) | |
| | | Tour de Slovénie (2.1) |
| 96 | | Klassement |
| 18-06 | 16 | 96 | Stage 4Rogaška Slatina - Novo Mesto (160.0km) | 160.0km |
| 17-06 | 68 | 100 | Stage 3Celje - Rogla (167.0km) | 167.0km |
| 16-06 | 90 | 85 | Stage 2 Ljubljana - Ljubljana (169.0km) | 169.0km |
| 15-06 | 32 | 35 | Stage 1Koper - Kocevje (159.0km) | 159.0km |
| | | Grand Prix Priessnitz spa (2.NCUP) |
| 49 | | Klassement |
| 04-06 | 47 | 49 | Stage 4Jeseník - Jeseník (160.0km) | 160.0km |
| 03-06 | 66 | 60 | Stage 3Krnov - Dlouhé (151.0km) | 151.0km |
| 02-06 | 26 | 12 | Stage 2Jeseník - Rýmařov (133.0km) | 133.0km |
| 01-06 | 9 | 9 | Stage 1Krnov - Krnov (2.0km) | 2.0km |
| | | Flèche du Sud (2.2) |
| 82 | | Klassement |
| 28-05 | 90 | 82 | Stage 5Esch-sur-Alzette - Esch-sur-Alzette (143.0km) | 143.0km |
| 27-05 | 13 | 80 | Stage 4Mondorf-les-Bains - Roeser (151.0km) | 151.0km |
| 26-05 | 80 | 88 | Stage 3Bourscheid - Bourscheid (128.0km) | 128.0km |
| 25-05 | 75 | 77 | Stage 2Rumelange - Rumelange (150.0km) | 150.0km |
| 24-05 | 26 | 26 | Stage 1Redange - Redange (79.0km) | 79.0km |
| 20-05 | DNF | | Berner Rundfahrt / Tour de Berne (1.2) | |
| 14-05 | 24 | | Gran Premio Industrie del Marmo (1.2) | |
| | | CCC Tour - Grody Piastowskie (2.2) |
| 59 | | Klassement |
| 07-05 | 16 | 59 | Stage 3Glogow - Polkowice (131.0km) | 131.0km |
| 06-05 | 63 | 66 | Stage 2Dzierzoniow - Srebrna Gora (128.0km) | 128.0km |
| 05-05 | 77 | 79 | Stage 1Zlotoryja - Jawor (166.0km) | 166.0km |
| | | Tour of the Alps (2.HC) |
| 21-04 | DNF | | Stage 5Smarano - Trento (192.0km) | 192.0km |
| 20-04 | 107 | 122 | Stage 4Bolzano - Clès (165.0km) | 165.0km |
| 19-04 | 131 | 123 | Stage 3Villabassa - Villnöss (143.0km) | 143.0km |
| 18-04 | 135 | 116 | Stage 2Innsbruck - Innervillgraten (181.0km) | 181.0km |
| 17-04 | 101 | 101 | Stage 1Kufstein - Innsbruck (142.0km) | 142.0km |
| 02-04 | DNF | | GP Adria Mobil (1.2) | |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 26-03 | DNF | | Stage 4Fiorano Modenese - Sassuolo (160.0km) | 160.0km |
| 25-03 | 63 | 133 | Stage 3Crevalcore - Crevalcore (171.0km) | 171.0km |
| 24-03 | 135 | 139 | Stage 2Riccione - Sogliano al Rubicone (130.0km) | 130.0km |
| 23-03 | 106 | 106 | Stage 1aGatteo - Gatteo (98.0km) | 98.0km |
| 23-03 | 21 | 109 | Stage 1bGatteo - Gatteo (13.0km) | 13.0km |
| 04-03 | 39 | | Trofej Porec - Porec Trophy (1.2) | |
| 01-03 | 112 | | Trofej Umag - Umag Trophy (1.2) | |
| 19-02 | 55 | | GP Laguna Porec (1.2) | |
| 12-02 | DNF | | Trofeo Laigueglia (1.HC) | 192.0km |
| 05-02 | 31 | | G.P. Costa degli Etruschi (1.1) | 190.0km |