Share

Alverta Shani · June 21, 2019

How GOJEK Made Your Pickup Experience Less Painful

If you used GOJEK from years ago, you must know the transformation of our pickup experience. Back then, you must have felt the frustration of having to wait longer for the app to match with a driver. Not only that, you also have to do the very painful thing that to always type your home address even though that’s the only destination you always go from your office. Super inconvenient? Yes, we agree!


Back then it happened because elevating your pickup experience was in our goal, but not yet prioritized. But now it’s different, right now you’re lucky because we have a dedicated team to make sure you always get the perfect pickup experience.


I talked to Aditya Brahmana, the Product Manager from the Pickup Experience team, and he agreed to break it down one by one how this team tries to enhance your pickup experience. Believe it or not, they learned a lot from the flawed roadmap that the team used to have.


Two years ago, instead of solving the users’ problems, the team was only focusing on creating new features to achieve feature parity with competitors. Those features probably don’t have much effect on users. They didn’t really understand what the actual problem was. So the team couldn’t create a goal on what the ideal pickup experience for the users should be.


Adit realized that this was not a good thing, so the team started to iterate. They thought, instead of having the same feature as other apps, why don’t we listen to our users?


Learning From Past Mistakes


So the Pickup Experience team started to talk and listen to our users. They gave users a list of solutions — 40 features to be exact — and asked the users, from these 40 features, which one do they want to have?


Most of our users said they want a free call feature.


But wait, why do they want a free call feature? To be honest, Adit was really surprised because we already have a free chat feature. So he started to think about these questions:


  1. Why do they need to communicate in the first place during pickup?
  2. Are they having trouble finding the pickup location?
  3. If we build this feature, do we really solve the users’ problems?

Well, if we wanted to have a free call in our app, we would’ve had it since two years ago. But we know that having a free call feature won’t solve the root cause. That was when they realized,


Users know what they want, but not what they need.

Cherry picking the Most Essential Problems to Solve


One of the skills that are important to have when you work in a startup company mostly is structured thinking. It is a process of creating a framework for scattered problems. It will help you understand the problem better.


Realizing this, Adit and his team didn’t jump into what they thought was the right solution and built it in our app. Instead, he took a step back and tried to identify the problem. So he went back on the field and talked to a lot of users, sent thousands of surveys to thousands of people in Indonesia. This was done because he wanted to understand what was the main challenge that drivers and customers always faced during the pickup process.


After a thousand moons, or shorter than that, the team finally discovered 3 main problems that everyone always faced, and I’m sure you guys who are reading this had also experienced this.


The first problem, both driver and customer didn’t trust if the pickup will ever happen.


Imagine this scenario: you book a GO-RIDE and you get a driver. You wait for three minutes, the driver hasn’t shown up. You get anxious and open the map in the app only to find out he doesn’t even move. This anxiety, most of the time leads customers to cancel the ride.


Surprisingly, the same thing happens to our drivers. They are also not sure whether the pickup will ever happen. They are wondering, are you a real customer? Or is the pickup location is exactly where you drop the pin at? The driver is also anxious about the booking.


Then comes along the second problem, drivers keep asking their customers where the pickup location is.


Just be honest, as a customer, you expect GOJEK do all the work, right? You’re sometimes annoyed if the driver keeps asking you where you should be picked up. We understand, and we want to fix this problem.


The last problem is the unexpected pickup locations.


Again, a scenario, imagine this in your head:


You type “Pasaraya Blok M” in the app, and then you book a ride. You get a driver, and he says he will be right there ASAP. Ok. You’re happily waiting. But… 5 minutes later, your driver hasn’t shown up.


The driver calls you to let you know that he has actually arrived, however when you look around, you don’t see any person with a green jacket near you. Where is your driver?! So you tell him that you’re the one who wears a blue jacket near the stairs. But then your driver said, what stairs?


It turns out, you’re in the back of Pasaraya Blok M and he’s in the front of the Pasaraya Blok M. This is a mismatched pickup location and it was among our main problems.


But then, what happens after Adit already cherry picked 3 main problems that he’d like to solve? Well, now it’s time to defining the end goals.


Measuring the Perfect Pickup Experience


So after we know that these three challenges that Adit would like to tackle, Adit started to define what’s the end goal and what the perfect pickup experience is.


For the first problem, we can see that trust issue plays a big part. The customers don’t trust that their drivers will ever come and the other way around. So the goal is that a pickup should happen and the team needs to think about features that can dismiss the cancellation.


The second goal is to solve the unexpected pickup location and every pickup should occur in specific locations to avoid mismatch. The distance between the pickup pin that customers drop in our app should be exactly accurate as of the actual pickup location.


So when you know all of these goals, you can proceed to create a roadmap to solve these problems.


Feeding Two Birds with One Seed


Knowing what our end goals are will help us determine which problems we need to prioritize first. The first priority for us is to tackle the unexpected pickup location problem. When your actual pickup location is different than the pin, you will have to do the most painful thing which is to keep texting or calling your driver to make sure they pick you up in the right place.


Deciding to solve this problem first is like feeding two birds with one seed; we can come up with features that will make the pickup location accurate and it will lead to less communication the driver during your pickup.


One of the features that we’ve come up to solve this is called Snapped Place.


You could use tons of ways to choose your pickup location by relying on your GPS location or typing the location and then search it in the app. Back then, half of the trips in GOJEK actually started from an inaccurate pickup pin.


To be able to come up with this feature, you can’t just ask your customers what they want. This feature won’t even cross the customers’ mind in the first place, they’d rather have a free call feature because they think it will solve the problems. But it won’t.


But then the question changes, how do we solve this particular issue? Well, luckily, we have millions of bookings per month, and that means we have tons of data that we can leverage to solve this issue.


Here’s a real example that used to happen a lot to Adit.


As you can see in the maps, the pin is supposed to be Adit’s house, but why is it in the middle of the road? It could confuse drivers which road they should take. Most the times the driver is directed into the back side of Adit’s house where there’s no door at all.


So every single morning, when Adit wants to go to the office, he needed to do a very painful thing — manually send a message to let the driver know that they should take the opposite road.


It is indeed painful for Adit as a customer, but as a Product Manager, this is a gold mine because he realized that GOJEK has tons of data about where he’s actually being picked up. If GOJEK has his data, then it has everyone’s data.


So based on this, the team created an algorithm and try to predict where are the actual pickup locations and move the dropped pin (not magically) to match the exact location where the customer is usually picked up. So now, every single morning… this will happen:


The car accurately stops in front of Adit’s house. So say no to constant communication every morning to inform the driver ;)


Snapped Place feature might be perfect to solve a pickup accuracy problem in a situation like a house or a street. But how about in big, busy places like a mall or an airport?


This question leads us to build a feature called Venue.


Whenever you open up your GOJEK app and you search a pickup location from a mall, Google Maps will give you a latitude and longitude inside the mall. Well, that is pretty useless for our drivers, right? They will never pick you up inside the mall.


Then again because of this, you need to text or call your driver that you’re going to wait near, let’s say, in lobby A. It’s just such a hassle. We want our drivers to arrive exactly where you’re meant to be picked up. So we leveraged our own data and turns out we have millions of pickup point data from each of the popular buildings (malls, airports, train station) across Indonesia.


But, latitude and longitude won’t be enough, we need to know the names of those popular pickup locations. So how do you think we solved this?


If you answered B, then you’re correct! Luckily, in each of the bookings that took place, there are some pickup notes attached to it.


Based on this information, the team runs an algorithm and tries to predict what is the actual name for each of the pickup points, and automatically generate a name for it. Now, say no to hassling around the airport or a mall because the pickup experience just gets easier. You could just tap the name of the lobby, and your driver will show up exactly where you are.


The team can also scale this easily because we just need to write the algorithm since we have the data. That’s why we have scaled this up to 5.5 million locations across four countries, Indonesia, Vietnam, Singapore, and Thailand.

The percentage of bookings with high pickup accuracy also increased since January. The chart below shows how much we grew last year. We managed to improve the pickup accuracy twofold by the end of last year!


We believe that our app should make your life easier. We don’t want to bother you with the constant communication that leads to you or the driver canceling your booking. GOJEK wants to be your solution, that’s why we always want to be the best at things that matter! And one of them is to give you the best possible pickup experience after a long day at the office. Say no to the hassle during rush hour and any other hours 😉


Do you think that elevating pickup experience for millions of people out there is challenging enough for you? If structured thinking is one of your strong suits, you should join us as a Product Manager just like Adit and get ready to swim in an ocean of problems that are waiting to be solved!


Visit GOJEK.IO to embark on a new #adventure with us!


Illustrations by Athiyah Alatas


Share This Article