Deepinder Goyal | June 21, 2016 | 3 min read
Our First Steps Towards Personalisation on Zomato

We have a confession to make. Over the last two years, we’ve been so busy with our international expansion and our manic focus on winning delivery, that we let the basic USP of our core product – search and discovery – suffer a fair bit. Our own app feels a bit outdated to us, and we’re now beefing up (no pun intended!) our engineering and product teams to get our app back to being one that’s delightfully enjoyable to use and explore.

We’re starting with something our users have complained about for so long – “You know so much about me now. Why do I still see the same restaurants and recommendations as everyone else? Show me stuff you know I will like. Don’t be a dumb f**king app.” (Yup, users don’t mince their words when they care about you so much).

Listening is a very important trait. So we’ve made personalisation one of the top priorities for our product and engineering teams, and we are now working on building personalisation into various aspects of Zomato. Needless to say, we are starting with the online food ordering product, but we will very soon bring personalisation to our main search and discovery product as well.

To start with, we are drawing on data and behavioural patterns to personalise your ordering experience on Zomato, and making crafting your meal from all those extensive fifteen-page menus waaay easier.

First, we’re tackling the big question:

Where should I order from?

Earlier, restaurants in the online ordering flow used to appear based on factors such as popularity, and distance from your physical location. The problem was, this made the list of restaurants static, and you’d likely have to scroll endlessly to find that one place you really love ordering from. To overcome this, we’ve added a layer of personalisation that helps us put the restaurants you are most likely to order from right at the top of the stack. How do we know which ones to show you first? Your search, browsing, and order history on Zomato offer some very strong indicators, such as your cuisine preferences, how much you spend on orders on an average, and what you typically order at a given time of day. The algorithm also factors in how you’ve been using Zomato in general, and shows places you may not have ordered from yet, but might like to try (for example, your bookmarks).

This has improved our DAU ⇒ Checkout conversion on the Order app by a whopping 2.5% (and made us feel like we’ve been living under a rock all this while).

And then, we have the bigger question:

What should I order?

We have done two things to solve this problem.

First, we simply reorganised the dishes on each menu page for a restaurant, and put the ones you are most likely to order at the top. For example, if we notice a pattern of someone consistently ordering non-vegetarian dishes, we push non-vegetarian dishes to the top of every menu page on all restaurants that person views, so there’s less scrolling to get to dishes they might want to order.

Secondly, and most importantly, we made the Recommended tab on menus super smart by putting dishes we know you are most likely to order in it. These dishes are picked on basis of your past order history, other users’ order history, and corresponding order ratings received for those dishes. Our aim while designing this tab was to ensure that you are able to build an entire meal for two from that one tab, without having to swipe at all. It literally takes seconds now. I, for one, have placed my last six orders this week using just the Recommended tab. There’s some simple machine learning behind these recommendations, and we hope you’ll love this nifty new feature.

As expected, both of these changes have significantly reduced the time it takes to build an order – as of now, we’re seeing orders being placed 21% quicker, and we will further improve that number.

Like we said earlier, these are just baby steps towards making Zomato more personal and loved. We are going to get smarter, and will make up for all the work that we didn’t do for you over the last couple odd years.

There’s still a lot more to come, and we can’t wait for you to see it.

1% done.

facebooklinkedintwitter

More for you to read

Technology

introducing-pos-developer-platform-simplifying-integration-with-easy-to-use-tools
Sumit Taneja | September 10, 2024 | 2 min read
Introducing POS Developer Platform: Simplifying integration with easy-to-use tools

Read more about how Zomato is enabling restaurants to deliver best-in-class customer experience by working with POS partners

Technology

migrating-to-victoriametrics-a-complete-overhaul-for-enhanced-observability
SRE Team | August 12, 2024 | 11 min read
Migrating to VictoriaMetrics: A Complete Overhaul for Enhanced Observability

Discover how we migrated our observability metrics platform from Thanos and Prometheus to VictoriaMetrics for cost reduction, enhanced reliability and scalability.

Technology

go-beyond-building-performant-and-reliable-golang-applications
Sakib Malik | July 25, 2024 | 6 min read
Go Beyond: Building Performant and Reliable Golang Applications

Read more about how we used GOMEMLIMIT in 250+ microservices to tackle OOM issues and high CPU usage in Go applications, significantly enhancing performance and reliability.

Technology

zomatos-journey-to-seamless-ios-code-sharing-and-distribution
Inder Deep Singh | June 6, 2024 | 15 min read
Unlocking Innovation: Zomato’s journey to seamless iOS code sharing & distribution with Swift Package Manager

Read more to know about how we migrated Zomato’s 10-year-old iOS codebase to Apple’s Swift Package Manager. The blog highlights the process behind building a central syncing mechanism needed across multiple apps, the challenges encountered, and how we resolved them.