The dynamic pricing of a Driver On Demand application, surge pricing, and prediction system.

Ouigo
Having a spot in a market full of Driver On Demand services is a hard task. Customers love the price before the product, and satisfying 2 kinds of clients can only be achieved by setting the bar exactly in the line where the user doesnt pay much and the driver doesn't lose an income.
Solution
We offer a dynamic pricing system that can be configured through the dashboard based on a marketing strategy using the data of competitors in market. The system handles the prediction of the duration of the trips since using Google API is not cheap. The targeted region is also divided into multiple zones based on both the demand and availability of drivers resulting a surge pricing.
Goal
Build a dynamic pricing system to calculate ride fares based on a configuration, surge pricing and predicting the trips duration.
Target region
Algiers / Algeria
Responsibilities
- Collecting data of simlar services in the market.
 - Refactoring the existing solution for pricing.
 - Benchmarking Maps services and building an API.
 - Building a duration prediction microservice.
 - Collaborate with marketing team to setup a configuration dashboard for pricing.
 - Building a promotion system.
 - Collaborate with other dev team to build the surge pricing system.
 

Features
Ouigo did not start from scratch, the basic app and dashboard were already implemented. So the process started by refactoring the implemented solution and adapting it to the new needs. The next step was adding the new features:
1. Configuration Dashboard
- The basic configuration is setup based on car type and other filters.
 - Clients gets notified whenever new coupons are available.
 - Prediction and surge can be enabled or disabled from the dashboard.
 - The dashboard provides a real preview of the pricing beside competitiors.
 

2. Duration Prediction
- The microservice takes depart point and arrival point as an input.
 - The duration is predicted based on a regression model.
 - The accuracy is 88% but still better than providing a range.
 - Benchmarking of 3 Models and choosing the best one.
 

3. Maps API
- A benchmarking was done between GoogleAPI, HereAPI and BingAPI.
 - This API handles all operations related to geolocalization.
 - The API is used both in the app, and the marketing dashboard.
 

4. Surge pricing
- The region is divided into zones based on demand and availability.
 - A multiplication factor is calculated for each zone.
 - The multiplication factor is normalized to stay always in range.
 - The drivers are notified to move to zones where the surge factor is high due to low availability.
 
