Ride sharing startups have cropped up at a high speed in recent years, disrupting the traditional cab service industry by giving users more flexibility and control over the vehicles they hire. Companies such as Uber, Lyft, Whisk, Sidecar, Summon Ahead, Flywheel, Gett, Zimride, Hailo, and LeCab are all ride-sharing or on-demand car service apps which provide users with services such as GPS tracking of the vehicles, mobile one-tap hailing, and more. The competition between these services has become so fierce that Uber recently launched a price war against one of its major competitors, Lyft, by offering free rides in select cities.


While users of these services are enjoying greater convenience and more competitive prices than before, ride-sharing startups need to up their game to secure customer loyalty in the long term. One way of doing it is to enhance the user experience by personalizing the service. This is where Machine Learning technology enters the picture. In fact, many ride-sharing apps already allow users to give ratings and reviews after taking a ride, which can potentially make the service more personalized.


By using PredictionIO, you can personalize future rides for your users by recommending drivers based on the ratings given by the same user, or users with similar rating patterns.

PredictionIO may also open up the possibility of sightseeing recommendations, or suggestions on noteworthy locations and spots for tourists and people new to an area. For example, after taking a ride to Fisherman’s Wharf in San Francisco, a user may get suggestions to go to Golden Gate Bridge or Ferry Building, which are popular sights that other visitors to Fisherman’s Wharf have also been to.

We’re going to show you how to make your ride-sharing apps more personalized for your users with PredictionIO:

Personalized Recommendation of Drivers

The example below shows you how to recommend drivers to users based on their previous ratings and their current locations. The top five matches are recommended to each user based on his/her personal preference.

Step 1: Install PredictionIO Server

Follow the instructions to install PredictionIO.

When the installation is complete, go to the PredictionIO Admin Panel to add a new application (app) for the service you are building. You will then obtain an App Key, which is needed later when you integrate the PredictionIO SDK.

Step 2: Install the SDK in Your Development Language

PredictionIO provides SDK in various languages. The Java SDK is used in this example, which also supports Android.

Step 3: Integrate PredictionIO

Follow the instructions in https://docs.prediction.io/templates/recommendation/quickstart/ to integrate PredictionIO to your application’s data collection, and prediction querying stages.

Suggest Similar Sightseeing Spots

As mentioned above, PredictionIO can also empower your app to give sightseeing suggestions based on the users’ previous destinations.

Go to the PredictionIO Template Gallery, look for Similar Product, and follow the quickstart guide. This engine will recommend similar destinations to users based on their previous destinations.

Personalizing your ride-sharing app could not be easier. In fact, PredictionIO can virtually make any app smarter, with ride-sharing apps being just one example. Try out PredictionIO for yourself!

By Simon Chan