| 20-10 | 21 | | Utsunomiya Japan Cup Road Race (1.Pro) | 144.0km |
| 12-10 | 107 | | Il Lombardia (1.UWT) | 252.0km |
| 07-10 | 54 | | Coppa Bernocchi (1.Pro) | 174.0km |
| 05-10 | DNF | | Giro dell'Emilia (1.Pro) | 215.0km |
| | | Skoda Tour de Luxembourg (2.Pro) |
| 53 | | Standings |
| 22-09 | 69 | 53 | Stage 5Mersch - Luxembourg | 176.0km |
| 21-09 | 39 | 53 | Stage 4Differdange - Differdange | 15.0km |
| 20-09 | 66 | 54 | Stage 3Rosport - Diekirch | 201.0km |
| 19-09 | 52 | 37 | Stage 2Junglinster - Schifflange | 155.0km |
| 18-09 | 44 | 44 | Stage 1Luxembourg - Luxembourg | 156.0km |
| 15-09 | 68 | | Grand Prix Cycliste de Montréal (1.UWT) | 209.0km |
| 13-09 | 77 | | Grand Prix Cycliste de Québec (1.UWT) | 201.0km |
| | | Lidl Deutschland Tour (2.Pro) |
| 35 | | Standings |
| 25-08 | 36 | 35 | Stage 4Annweiler am Trifels - Saarbrücken | 172.0km |
| 24-08 | 41 | 45 | Stage 3Schwäbisch Gmünd - Villingen-Schwenningen | 212.0km |
| 23-08 | 45 | 46 | Stage 2Heilbronn - Schwäbisch Gmünd | 173.0km |
| 22-08 | 58 | 63 | Stage 1Schweinfurt - Heilbronn | 177.0km |
| 21-08 | 89 | 89 | PrologueSchweinfurt - Schweinfurt | 2.0km |
| | | Tour de Suisse (2.UWT) |
| 10-06 | DNS | | Stage 2Regensdorf - Regensdorf | 177.0km |
| 09-06 | 162 | 162 | Stage 1Vaduz - Vaduz | 4.0km |
| | | 4 Jours de Dunkerque (2.Pro) |
| 63 | | Standings |
| 32 | | Points |
| 1 | | Mountain |
| 19-05 | 67 | 63 | Stage 6Loon-Plage - Dunkerque | 176.0km |
| 18-05 | 86 | 67 | Stage 5Arques - Cassel | 179.0km |
| 17-05 | 79 | 70 | Stage 4Mazingarbe - Pont-à-Marcq | 171.0km |
| 16-05 | 83 | 53 | Stage 3Saint-Laurent-Blangy - Bouchain | 165.0km |
| 15-05 | 72 | 50 | Stage 2Wimereux - Abbeville | 184.0km |
| 14-05 | 42 | 42 | Stage 1Dunkerque - Le Touquet-Paris-Plage | 173.0km |
| 01-05 | 30 | | Eschborn-Frankfurt (1.UWT) | 203.0km |
| | | Tour de Romandie (2.UWT) |
| 42 | | Standings |
| 3 | | Mountain |
| 28-04 | 62 | 42 | Stage 5Vernier - Vernier | 150.0km |
| 27-04 | 59 | 48 | Stage 4Bains de Saillon - Leysin | 151.0km |
| 26-04 | 48 | 49 | Stage 3Oron - Oron | 15.0km |
| 25-04 | 56 | 49 | Stage 2Freiburg - Salvan | 171.0km |
| 24-04 | 63 | 82 | Stage 1Château-d'Œx - Freiburg | 165.0km |
| 23-04 | 136 | 136 | ProloguePayerne - Payerne | 2.0km |
| 21-04 | 71 | | Liège-Bastogne-Liège (1.UWT) | 259.0km |
| | | Tirreno-Adriatico (2.UWT) |
| 09-03 | DNS | | Stage 6Sassoferrato - Cagli | 180.0km |
| 08-03 | 75 | 64 | Stage 5Torricella Sicura - Valle Castellana | 146.0km |
| 07-03 | 93 | 73 | Stage 4Arrone - Giulianova | 207.0km |
| 06-03 | 75 | 40 | Stage 3Volterra - Gualdo Tadino | 220.0km |
| 05-03 | 75 | 60 | Stage 2Camaiore - Follonica | 198.0km |
| 04-03 | 64 | 64 | Stage 1Lido di Camaiore - Lido di Camaiore | 10.0km |
| 25-02 | 76 | | Faun Drome Classic (1.1) | 189.0km |
| 24-02 | 72 | | Faun-Ardèche Classic (1.Pro) | 169.0km |
| | | Tour of Oman (2.Pro) |
| 16 | | Standings |
| 14-02 | 19 | 16 | Stage 5Samail - Jabal al Akhdhar (Green Mountain) | 72.0km |
| 13-02 | 15 | 24 | Stage 4Fanja - Yitti Hills | 104.0km |
| 12-02 | 44 | 27 | Stage 3Naseem Garden - Al Bustan | 76.0km |
| 11-02 | 22 | 30 | Stage 2Al Sifah - Qurayyat | 170.0km |
| 10-02 | 70 | 71 | Stage 1Nizwa - Muscat | 181.0km |
| 09-02 | 28 | | Muscat Classic (1.1) | 174.0km |