I’m a heavy user of GrabCar services. I have been using GrabCar for the past 2-3 years intensively, I mostly use it for transportation purposes to and from the office.
One of the things I noticed while ordering a ride from Grab is that it prioritises your request to the closest drivers around you in distance. This algorithm probably works out fine most of the time for most of the locations, however in some edge cases this can work against a customer in a very negative way. I will give very specific location as an example.
Case Study: Berjaya Times Square
Take the Bukit Bintang area at rush hour, after work, between 6pm – 7:30pm, particularly Berjaya Times Square Mall.
Here is how the traffic conditions look during the rush hour, after office hours. Area shaded in red usually has a terrible traffic congestion during this time. It’s located right across the street, opposite of The Berjaya Times Square Mall.
So, often time, when you order a ride at BTS, you will get a car across the street, which is really near to you in distance. However, due to bad traffic conditions, the car mostly arrives in 15-30 minutes if not longer.
If you are lucky, you will get a car from behind the mall, then you can be on your way within 3-4minutes. I noticed that sometimes cars as far as 2km away but from behind the mall will come faster than the cars across the street. Because the roads in the area behind the mall have less traffic congestion compared to the Bukit Bintang area.
There are unfortunate cases when you get a car from behind the mall but with a passenger on board that needs to be dropped first across the street. In this case, I straight away cancel the order, because I know that I will have to wait more than 30min for the driver to arrive.
But due to Grab’s algorithm you will mostly get cars across the street, because it thinks that they are closer to you in distance so they must in theory arrive faster than the cars which are further to you.
This results in:
- Higher order cancellations
- Longer waiting time for riders
- Loss of potential revenue for drivers – drivers I talk to also often complain that when they are half way through to the destination, customers tend to cancel the trip. And drivers are stuck with an empty car in a bad traffic. And if their next customer is from another location, they will end up wasting their time driving back and forth for nothing.
Suggestion to Grab
Grab has been quite consistent in providing good UI/UX within their ‘super app’. Kudos to them for that!
However, I hope Product Managers, Data Scientists and Developers at Grab will further study these kind of cases where it can be optimised further.
I guess the most relevant feature to this is from Waze’s Routes feature where it displays different routes from the fastest to the slowest, irrespective of the distance it takes. A similar approach needs to be used for getting the ‘fastest’ driver to the customer (not necessarily the closest in distance as we have seen above).
And obviously it needs to be dynamic, as it changes based on different locations, hour of the day, traffic flow (whether it’s a one-way street or not), design of the streets (is there a u-turn available?), does the driver have a passenger on board that needs to be dropped to a congested area? etc.