One-size-fits-all doesn't work at 8M+ users
GrabFood's catalog, restaurants, menus, promotions, was the same for every user in a given city. Whether you were a health-conscious professional or a college student ordering late-night snacks, you saw the same homepage, the same ranking, the same promotions.
This wasn't just a poor user experience; it was leaving money on the table. Conversion rates had plateaued, and the team had exhausted most of the low-hanging UX optimizations. The next big lever was personalization: showing each user the content most likely to drive their next order.
But personalisation at Grab's scale, 8M+ monthly active users across 8 countries, hundreds of thousands of merchants, constantly shifting inventory, was a fundamentally different challenge than recommendation systems at a Western e-commerce company.
Building a personalisation layer on top of a real-time marketplace
I owned the end-to-end personalisation product for the GrabFood catalog. This meant aligning ML engineering, marketplace ops, and the consumer product team around a shared definition of "personalised" that was measurable and shippable.
The approach:
- Defined the personalisation taxonomy: which surfaces to personalise first (homepage feed, search ranking, promo banners) based on expected impact and engineering lift
- Designed an experimentation framework with the data science team to run concurrent A/B tests across markets without interference
- Built a "signals" pipeline that ingested user behavior (order history, browse patterns, time-of-day, location) into real-time features for the ML ranking model
- Shipped iteratively: starting with homepage restaurant ranking, then expanding to promotional content and search results
The critical product decision was resisting the temptation to personalise everything at once. We focused on the highest-traffic surface (homepage feed) and proved the model before expanding.
Key insight: Personalisation is a product problem, not just an ML problem. The hardest part was defining what "good personalisation" looks like for a real-time marketplace where inventory (restaurant availability) changes by the minute.
A look inside the full case study
Here's a preview of what's covered in the complete breakdown:
Want the full breakdown?
Get the complete case study with the ML architecture, full A/B test results, personalisation framework, and lessons from scaling across 8 markets.
- ML architecture details
- A/B test results by market
- Feature engineering approach
- Prioritization framework
- Lessons learned
Trusted by 50+ product managers