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

#Angular #Express #MongoDB #Redis #Flask #Python #AI


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.

Ouigo system overview

Goal

Building a dynamic pricing system to calculate ride fares based on a configuration, surge pricing and predicting the trips duration.

Target region

Algiers / Algeria

Role

Full-stack Developer

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 colleagues to build the surge pricing system.

Features & Process

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:

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.

Pricing Configuration Dashboard

Duration Prediction

This 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.

Duration prediction models

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.

Ouigo maps benchmarking

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.

Ouigo surge pricing

I keep my humor on, in case Coding didn't workout

I keep my humor on, in case Coding didn't workout

Case
Study