Hacks & TricksTech-News

How Gojek is running 10 years ahead of the world by solving these 3 problems uniquely?

You must have heard that a wise man always thinks to solve future problems while working today. That ‘wise man’ is none other than the ‘engineering team’ of the Gojek! 

Launched back in 2010 when Gojek employees used to assign drivers to users after checking the roasters manually, Gojek’s backend operations have evolved drastically in the last few years. As of now, Gojek is armed with some of the very futuristic technologies which let Gojek manage 1 million drivers with only 12 engineers. And surprisingly, Gojek is still pushing the boundaries to make backend operations more effective. 

Like every other on-demand service providing company, Gojek has encountered some of the very common challenges and Gojek solved it. But what matters here is how Gojek has solved those challenges. Why after solving those challenges, Gojek can now sit relax for the next 10 years? And how solutions of those challenges make Gojek jump 10 years ahead of the world? Let’s find out in a very comprehensive way.  

Here, I have listed out the top 3 challenges Gojek has encountered and how they have solved those challenges. It is a complete case study. 

Challenge # 1: Forecasting 

Amid increasing competition and vulnerable user behavior, forecasting is the weapon all big players are using regardless of the industry type. Forecasting helps companies to estimate future sales, the future adoption rate of any new product, future user behavior and future requirements of resources. If the forecasting model works precisely, a company can make a data-driven decision, rather than just relying on gut feeling.

One of the biggest taxi service providers, Uber is relying heavily on forecasting model to sense the future trend and to be prepared to lock horns with it. Uber also takes the forecasting model into account to predict the demand and apply the surge pricing.

However, developing a forecasting model involves clever use of historic as well as real-time data and machine learning algorithms. And as we all know, to get output using machine learning algorithms, there is a series of processes that one should accomplish. These processes include machine learning algorithm selection, data set selection, data processing, machine learning model training, and machine learning model testing. 

So, how Gojek has solved this common problem in its own style? 

How Gojek has decoded this challenge? 

The basic solution of the forecasting problem is to employ sheets or Excel and calculate the results manually. And if someone has access to data scientists, he would hire a data scientist who would solve the forecasting model by putting the ARIMA model to work. ARIMA works the way you want but it is not able to include external variables in the model. This inability of ARIMA model affects the precise forecast Gojek wants to achieve as in the case of Gojek, many external variables play a significant role to define the future of sales cycle, demand and customer behavior. 

So, to address this issue, Gojek has developed its own forecasting tool named Go-Forecast which was designed and developed by the winner of the National Data Science competition who is also an analyst at the Gojek. 

IMG_256

Out of surprise, Gojek has given access to Go-Forecast to all employees. The only fact which draws a line between Go-Forecast and other forecasting tools is that unlike other forecasting tools, Go-Forecast tool can perform the complete pipeline of tuning, training and predicting within no time. In Go-Forecast, they have used XGBoost machine learning algorithm. 

Using the Go-Forecast tool, Gojek can derive many benefits. Go-Forecast tool is smart enough to create many models at once. Meaning, they can do a forecast for multiple cities at the same time. The tool also supports an importance-based ranking system. Because of it, they can understand the effect of a variable on target. Additionally, the Go-Forecast tool predicts various aspects of the future. For instance, it can predict the impact on a number of transactions if Gojek reduces spending.    

Gojek claims that this is the first version of Go-Forecast. In upcoming versions, they would add some more groundbreaking features such as model stacking, aggregation and scenario building capabilities. 

Challenge #2:  Personalised search results 

In an app-based or web-based business, the only way to increase sales is to show relevant search results. If a user search for Apple iPhone and your app shows him apple fruit, you are a total failure! 

Gojek’s app and web applications accommodate 20+ services and food delivery is one of the most popular services of Gojek. Gojek delivers meals from 300K large restaurants and roadside eateries quickly and efficiently. Since there are so many restaurateurs listed on Gojek, Gojek should show only relevant restaurants to users to improve the click-through rate and booking conversion rate. To actualize it, Gojek has created a revolutionary architecture of Go-Food search. Here is how it works. 

How Gojek has decoded this challenge? 

Go-Food’s search architecture is made out of a few third-party services as well as some in-house technologies. One of the third-party services is Elasticsearch. It is very useful in Go-Food for the search and ranking of restaurants. As soon as a user searches for something in the Go-Food web and mobile application, the Elasticsearch ranks restaurants based on the keywords the user has used to search. It also ranks restaurants based on two more things: whether the restaurant is currently accepting orders and the distance from the user. 

After Elasticsearch fetches the details of restaurants, another service named Gourmet comes to action. This service is responsible for getting merchant details. And the output it shows is the combination of Elasticsearch response and Gourmet response. 

So, as of now, the search module has successfully gathered the information of restaurants and merchants. Now, in the next step, it gathers the data of customer preference, compares it with the result of Elasticsearch and Gourmet, filters the data, and shows relevant search results to users. Here is how the second phase of the Go-Food search architecture works. 

The second phase involves two processes – creating a learning model and fetching information of customer preference. Using LearnToRank (LTR) module, Go-Food uses search data to train the learning model. In this process, the data of the judgment a user made on search listings are formulated. (If a user has clicked on the restaurant tile, it illustrates as weight=1. If the user has ordered the food, wight=2 and if the user has not done anything, weight =0) 

To fetch the information of customer preference, Go-Food uses the batch processing product named Tagstore. It gathers the information about a customer’s previous orders and browsing history. This data is now passed as the parameters to the model we just have discussed in the last paragraph. This model creates a personalized search result after considering the given parameters and historic data. 

Challenge #3: Smooth and streamlined landing page  

A landing page is very critical to turn visitors into customers. It reveals the core values as well as the services of a company. Talking about Gojek, they have more than 20 landing pages for all their different services. And the problem with these landing pages was that all landing pages were having similar components which were affecting the user experience. These landing pages also had an inconsistent design. 

To address these issues, Gojek deployed a team. The main task that the team was having was to redesign and recode the landing pages to make them smooth and streamlined. Here is how they have decoded the challenge. 

How Gojek has decoded this challenge? 

To decode the challenge, they have followed the 3 major steps. In the first step, they have studied the components of the previous versions of the landing pages. They named and categorized those components. Then they branched out the team. UI team members created design guidelines that were later used by the testing team. The front end team wrote the code to implement the design and a team of testers tested the new design. 

The output of these actions looks like the following. In this image, version 4 is the newest version of the landing page and version 3 is the previous version of the landing page. See the difference! 

IMG_256

In the nutshell 

An app-based and web-based business can only satisfy its goals if major components of that app or web application are designed and developed precisely. Gojek has messed up many times. But they have successfully identified their misshapes and corrected it. To do so, they didn’t rely on the available solutions. Instead, they have figured out their own ways to develop tools and processes to meet their requirements and user expectations. Here, it is worth mentioning that Gojek is a unicorn and thus, they can afford to allocate resources for new discovery. But for a small-medium scale startup, it is still a better option to use available technologies and learn how to take everything out of those technologies. Because many big companies like Gojek launch their exclusive products in the market as the open-source tools after using it for years. But they don’t release the documentation to develop such products and to utilize such products in the best possible way.