Ever spend more time looking through the restaurant listings than eating your meal? This is a familiar situation – what is known as 'choice paralysis' – that Zomato is looking to fix. The amount of data is incredible, with millions of users and hundreds of thousands of restaurant partners. The platform relies heavily on machine learning recommendation systems to overcome this. In this article, we will look at how the recommendation algorithm works and how data science “makes reality of the delicious bits of the numbers".
Before diving further into the magic of food feeds, it's essential to understand what machine learning recommendation systems are. The essence of these is mathematical models that can sift through an extensive list of products to show the best match to a given person. For this industry, the food tech world means a "one size doesn't fit all" meal plan and a hyper-personalised shopfront.
These systems generally fall into three distinct categories:
Content-Based Filtering: This system will recommend things like what a user liked in the past. However, if you use the Paneer Tikka option a lot, the system learns a few other North Indian or vegetarian starters and puts them at the top of your list. It talks about the properties of food.
Collaborative Filtering: The “people who bought this also bought” method. It looks for similarities among user groups. If both User A and User B like sushi, and User B begins to order bubble tea, the system will suggest bubble tea to User A, provided that their tastes haven't shifted.
Hybrid Recommendation Systems: This type of system is the industry best practice. Platforms can overcome the limitations of both content-based and collaborative approaches by using the two together. For example, a hybrid system can recommend a new restaurant based on city-level trends, even when there is no user data yet, and it can leverage crowdsourced ratings to maintain restaurant quality.
These are not merely suggestions for a single dish, but rather technologies adopted by Zomato in a comprehensive manner to cater to the entire user journey. The Zomato recommendation algorithm is embedded in several layers of the app, giving a unified experience.
Each user's home screen is personal to them. The application opens with a ranking algorithm that ranks restaurants based on your "user feature vector". This includes your ideal price range, dietary restrictions such as vegan or gluten-free, and even the typical ratings of restaurants you usually visit. The system ensures that users looking for budget meals see different recommendations from users searching for premium dining experiences who will be presented with a different sight than a professional who is looking for fine dining.
What makes Zomato's machine-learning recommendation systems so great is their ability to adapt to the “here and now".
Time of Day: Late at night, users may see dessert or snack recommendations, since they're probably hungry for dessert, but if you wake at 8:00 AM, you're likely craving breakfast or coffee.
Location Sensitivity: If you're at work, the app recommends fast food for lunch. If you are in the comfort of your home on a Sunday, it could be a hint for family-sized "biryani" combos.
Weather and Occasions: The app may be more likely to recommend pakoras or some hot beverage during monsoons, aligning with the environmental factors that impact human cravings.
Even the search bar is powered by an AI recommendation. While typing, you will not only see alphabetic suggestions but also the ones that are popular in your region and previously searched. This will help decrease the number of keystrokes needed to locate a meal, enhancing the mobile user experience.
The process of creating a seamless recommendation experience is a very thorough one that starts behind the scenes. The data should be cleaned, processed and delivered in milliseconds. The information flows as follows:
Data Ingestion: This is the process of gathering raw data from various sources. Explicit Implicit feedback refers to actions like how long you looked at a menu, which pictures you clicked on, and what you put in your cart but didn't buy. Explicit feedback includes things like ratings and reviews.
Data Pre-processing: Data preprocessing. The system may use data to fill in missing information, drop duplicated data, and eliminate "noise" (such as accidental clicks) to ensure the data used in training is high quality at this stage.
Feature Engineering: The data scientists are responsible for determining what the most significant variables are. Some features could be 'average delivery time', 'restaurant popularity index' or 'user's historical cuisine preference' for Zomato.
Candidate Generation: The system uses a database of thousands of local restaurants and quickly narrows the list down to about 100-200 "candidates" that fit the user's basic parameters.
Scoring and Ranking: The AI recommendation implements a sophisticated algorithm for assigning a score to each candidate. The score is the likelihood that the user is going to choose to order from this particular restaurant at this specific time.
Re-ranking with Constraints: Business rules are applied to the final list before it is displayed. For instance, it will conceal restaurants that are closed or have suspended their delivery services because they have had too much rain or not enough riders.
Having a tight recommendation algorithm implementation has many upsides besides making things look "cool" on an app.
It has the greatest advantage of convenience. Time is precious in today's busy society. Zomato's machine learning recommendation system ensures that users can try something new without settling for a mediocre food experience. The “discovery” part makes the app fresh and interesting, pushing the users out of their safe zone.
More often than not, smaller restaurants or “cloud kitchens” have trouble marketing. An AI recommendation creates a more equal playing field. The algorithm will show up as a small kitchen if it cooks excellent food and it's similar to a user's preference, in addition to big-brand kitchens. This visibility is based on data, enabling local businesses to grow on merit, not merely by the amount of advertising dollars they can throw around.
The most significant advantage for the platform is its efficiency. Zomato can recommend restaurants that are closer to the user or those that prepare food faster.
Reduce delivery times.
Reduce the cost of fuel for delivery partners.
Increase delivery efficiency and order fulfilment capacity.
Improve customer retention by ensuring satisfaction.

