Yango uses data to predict travel and arrival times of its partners. In this Mobility Prediction Challenge, you are tasked to predict ride times based on the provided trip and weather data from Yango's data science team, exploring correlations between various factors such as distance, location, time of day, and weather conditions.
# 2026 Yaounde Mobility Prediction Hackathon Powered by Yango and Zindi
This repository contains the reproducible winning solution package for the Yaounde mobility prediction competition. The task is to predict trip duration for transport routes in Yaounde using route, time, location, distance, and weather data.
The submitted solution achieved a score of **6.045061283**.
## Solution Overview
The final solution is a three-model ensemble built around one main idea: ordinary trips and very long trips do not behave exactly the same. Most of the modeling work focuses on strong route, time, weather, and geography features. The final blend then adapts by trip distance and gives a little more influence to the speed-based model on the longest trips.
The three model ingredients are:
- An aggressive CatBoost duration model.
- A LightGBM duration model with target encoding.
- A LightGBM speed-space model converted back to duration.
The final submission file is `test.csv`.
## Repository Files
```text
.
├── README.md
├── requirements.txt
├── generate_submission_candidates.py
├── generate_v3_family_candidates.py
├── create_final_turbo_longtrip.py
├── Train.csv
├── test_input.csv
├── Yaounde_weather.csv
├── VariableDefinitions.csv
└── test.csv
```
`test_input.csv` is the original competition test set. It was renamed from `Test.csv` so that Windows can also create the final output file named `test.csv` in the same folder.
## EDA and Modeling Thinking
The exploratory work focused on where trip duration varies most:
- Distance is the strongest signal, especially `transporting_distance_fact_km`.
- Rush-hour and time-of-day patterns affect travel duration.
- Repeated routes, origins, destinations, and route categories carry useful historical behavior.
- Weather can interact with distance and rush-hour traffic.
- Long trips behave differently from the majority of trips, so the final ensemble treats the long-distance tail separately.
The solution therefore uses feature engin …