Food Discovery with Uber Eats: Using Graph Learning to Power Recommendations

Ankit Jain, Isaac Liu, Ankur Sarda, Piero Molino
18 min readintermediate
--
View Original

Overview

The article discusses how Uber Eats utilizes graph learning techniques to enhance its food recommendation system, improving user experience by providing personalized dish and restaurant suggestions. It details the implementation of graph neural networks (GNNs) to analyze user behavior and optimize recommendations based on connections between users, dishes, and restaurants.

What You'll Learn

1

How to apply graph learning techniques to improve recommendation systems

2

Why GNNs are effective for capturing user preferences in food delivery apps

3

How to create and manage bipartite graphs for user and item connections

Prerequisites & Requirements

  • Understanding of machine learning concepts, particularly in recommendation systems
  • Familiarity with graph databases and frameworks like TensorFlow and networkx(optional)

Key Questions Answered

How does Uber Eats use graph learning for recommendations?
Uber Eats employs graph learning to analyze relationships between users, dishes, and restaurants, allowing for personalized recommendations. By utilizing graph neural networks, the system captures user preferences and optimizes suggestions based on historical order data and connections within the graph.
What are the benefits of using GNNs in recommendation systems?
Graph Neural Networks (GNNs) provide a scalable method for learning user and item representations by aggregating information from neighboring nodes. This approach enhances the relevance of recommendations by capturing complex relationships and user behavior patterns, leading to improved user engagement.
What challenges does Uber Eats face with data scarcity in new cities?
Uber Eats encounters difficulties in providing relevant recommendations in new cities due to limited user data. To address this, the company is exploring meta graph learning techniques to enhance recommendations even when user interaction data is sparse.

Key Statistics & Figures

Performance improvement
20 percent
The new model showed a performance boost in metrics like Mean Reciprocal Rank and Precision@K compared to the existing production model.
Engagement increase
12 percent
The personalized ranking model incorporating graph learned embeddings led to a significant boost in AUC compared to the previous model.

Technologies & Tools

Some links below are affiliate links. We may earn a commission if you make a purchase.

Machine Learning Framework
Graphsage
Used for scalable graph learning in the recommendation system.
Machine Learning Framework
Tensorflow
Utilized for model training and embedding generation processes.
Graph Library
Networkx
Employed to format and manipulate graph data for training models.

Key Actionable Insights

1
Implementing graph learning can significantly enhance the personalization of recommendations in your application.
By leveraging user-item relationships, you can create a more engaging experience that adapts to user preferences over time.
2
Utilizing GNNs allows for scalable learning from large datasets without the need for extensive computational resources.
This scalability is crucial for applications like Uber Eats, which continuously add new users and items to their platform.
3
Incorporating weighted edges in your graphs can improve the accuracy of recommendations by reflecting the strength of user preferences.
This approach ensures that frequently ordered items are prioritized in recommendations, enhancing user satisfaction.

Common Pitfalls

1
Failing to account for data sparsity in new markets can lead to ineffective recommendations.
This often occurs when new users or items are introduced without sufficient historical data, making it challenging to generate relevant suggestions.

Related Concepts

Graph Learning Techniques
Recommendation Systems
Machine Learning Frameworks
Data Pipelines For Real-time Processing