| | | Tour du Rwanda (2.2) |
| 5 | | Klassement |
| 20-11 | 4 | 5 | Stage 7Kigali - Kigali (108.0km) | 108.0km |
| 19-11 | 10 | 8 | Stage 6Musanze - Kigali (103.0km) | 103.0km |
| 18-11 | 9 | 8 | Stage 5Muhanga - Musanze (125.0km) | 125.0km |
| 17-11 | 3 | 6 | Stage 4Rusizi - Huye (140.0km) | 140.0km |
| 16-11 | 9 | 6 | Stage 3Karongi - Rusizi (119.0km) | 119.0km |
| 15-11 | 9 | 7 | Stage 2Kigali - Karongi (124.0km) | 124.0km |
| 14-11 | 24 | 20 | Stage 1Kigali - Ngoma (96.0km) | 96.0km |
| 13-11 | 2 | 2 | PrologueKigali - Kigali (3.0km) | 3.0km |
| 13-10 | DNF | | UCI World Championship Doha U23 (WC) | 166.0km |
| 10-10 | 33 | | UCI World Championship Doha TT U23 (CM) | 28.0km |
| 26-06 | 5 | | National Road Championships - Eritrea (CN) | |
| 24-06 | 5 | | National Road Championships - Eritrea TT (CN) | |
| | | Le Tour de Bretagne (2.2) |
| 82 | | Klassement |
| 01-05 | 9 | 82 | Stage 7Le Hinglé - Dinan (149.0km) | 149.0km |
| 30-04 | 20 | 99 | Stage 6Fouesnant - Fouesnant (156.0km) | 156.0km |
| 29-04 | 113 | 110 | Stage 5Plestin-les-Grèves - Treffléan (192.0km) | 192.0km |
| 28-04 | 125 | 105 | Stage 4Plancoët - Lannion (163.0km) | 163.0km |
| 27-04 | 26 | 26 | Stage 3Louisfert - Janzé (152.0km) | 152.0km |
| 26-04 | 35 | 27 | Stage 2Belz - Louisfert (204.0km) | 204.0km |
| 25-04 | 24 | 27 | Stage 1Quiberon - Landévant (158.0km) | 158.0km |
| 17-04 | 11 | | Giro dell'Appennino (1.1) | 197.0km |
| | | Circuit des Ardennes International (2.2) |
| 25 | | Klassement |
| 10-04 | 26 | 25 | Stage 3bCharleville-Mézières - Charleville-Mézières (97.0km) | 97.0km |
| 10-04 | 34 | 24 | Stage 3aSedan - Sedan (85.0km) | 85.0km |
| 09-04 | 42 | 19 | Stage 2Fumay - Revin (173.0km) | 173.0km |
| 08-04 | 21 | 25 | Stage 1Rocquigny - Poix-Terron (166.0km) | 166.0km |
| 29-03 | 3 | | 55° G.P. Palio del Recioto (1.2U) | |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 36 | | Klassement |
| 27-03 | 52 | 36 | Stage 4Pavullo nel Frignano - Pavullo nel Frignano (163.0km) | 163.0km |
| 26-03 | 53 | 37 | Stage 3Calderara di Reno - Crevalcore (172.0km) | 172.0km |
| 25-03 | 38 | 38 | Stage 2Riccione - Sogliano al Rubicone (154.0km) | 154.0km |
| 24-03 | 24 | 24 | Stage 1aGatteo - Gatteo (95.0km) | 95.0km |
| 24-03 | 35 | 89 | Stage 1bGatteo - Gatteo (13.0km) | 13.0km |
| 26-02 | 5 | | CAC African Road Championships (CC) | |
| 24-02 | 7 | | CAC African Road Championships TT (CC) | |