How would you build UberEats ranking?
Company: Uber
Role: Data Scientist
Category: Machine Learning
Difficulty: medium
Interview Round: Technical Screen
UberEats wants to improve its recommendation or ranking system for restaurants shown to users on the home feed or in search results.
Design the machine learning approach for this ranking problem. In your answer, address:
1. **Problem formulation:** What exactly are you optimizing for in a food delivery marketplace? How would you balance relevance, order conversion, basket size, reliability, and long-term user satisfaction?
2. **Training labels and objective:** What labels would you use for ranking, and would you frame the problem as pointwise, pairwise, or listwise learning?
3. **Feature engineering:** What user, merchant, query, context, and marketplace features would you build?
4. **Modeling approach:** Describe the ranking stack, including candidate generation and final ranking. Explain tradeoffs between tree-based models and deep learning approaches.
5. **Evaluation:** What offline metrics and online experiment metrics would you use? How would you deal with position bias, delayed feedback, cold start, and feedback loops?
6. **Operational considerations:** How would you ensure calibration, fairness to new merchants, and robustness during peak demand when delivery constraints change in real time?
Assume the platform must rank many eligible merchants for each user request, and that merchant quality and delivery performance can change over time.
Quick Answer: This question evaluates machine learning and recommender-systems competencies for ranking in a food delivery marketplace, covering problem formulation, training labels and objectives, feature engineering, model architecture, evaluation metrics, and operational deployment considerations.