← Uber Interview Insights

Uber·Machine Learning Engineer·Technical Phone Screen·Intermediate

Intermediate
May 2026

Summary

Uber MLE screen focused on a lightweight analytics exercise: computing a slice metric on a toy orders dataset, defining it precisely, and then reasoning through a root-cause scenario. Nothing flashy, but the follow-up case study is where they actually judge you.

Questions Asked (4)

Q1

Given a small orders table with city, order type, and status columns, how would you compute the completion rate for a specific city and order type slice? Define the numerator and denominator precisely.

Product Analytics & MetricsAlgorithms & Data Structures
Author's notes

The math itself is trivial but I almost tripped on the denominator.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the business definition of 'completion rate' and the exact slice (city and order type). Then define the numerator as the count of orders with status 'completed' and the denominator as the count of all orders (or all non-cancelled orders) in that slice, and write a SQL query to compute the ratio.

Pro tip: Always confirm whether the denominator should include cancelled orders or only orders that were attempted; this choice can significantly change the metric and reflects product sense.

1. Clarify the metric definition

Ask what 'completion rate' means in this context: is it completed orders divided by all orders, or divided by orders that were not cancelled? Confirm the exact status values that count as 'completed'.

2. Define numerator and denominator

Numerator: count of orders with status = 'completed' for the given city and order type. Denominator: count of all orders for that city and order type (or a subset if specified).

3. Write the SQL query

Use a SELECT statement with a WHERE clause filtering city and order type, and compute SUM(CASE WHEN status = 'completed' THEN 1 ELSE 0 END) / COUNT(*) as the completion rate.

4. Consider edge cases and validation

Check for NULLs, empty slices, and whether the denominator should exclude certain statuses. Validate the result with a quick sanity check (e.g., rate between 0 and 1).

Key Points to Mention

  • Precise definition of numerator and denominator based on business context
  • Filtering by city and order type using WHERE clause
  • Handling of different status values (e.g., completed, cancelled, pending)
  • Use of conditional aggregation (CASE WHEN) to compute the rate
  • Potential need to exclude cancelled orders from denominator
  • Edge cases: empty groups, NULL values, and division by zero

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q2

What edge cases would you guard against when computing this metric?

Product Analytics & MetricsTechnical Trade-offs
Author's notes

I got the empty-slice case right away (return 0.0 or null, not a division error).

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the metric's definition, data sources, and business context to identify potential edge cases. Then systematically walk through the data pipeline—from data collection to aggregation—highlighting specific edge cases and how you would handle them. Emphasize the importance of robust validation and monitoring to catch these issues in production.

Pro tip: Tie each edge case to a real-world impact at Uber (e.g., driver incentives, surge pricing) to show business acumen. Also, mention that you'd prioritize edge cases based on frequency and severity, and implement automated tests to prevent regressions.

1. Clarify the metric and context

Ask questions to understand the exact definition, data sources, and how the metric is used. Identify the unit of analysis (e.g., per trip, per driver) and the time window.

2. Map the data pipeline

Trace the data flow from collection to aggregation. Identify stages where edge cases can arise: data ingestion, cleaning, transformation, and computation.

3. Enumerate edge cases

List potential edge cases such as missing data, outliers, time zone issues, duplicate records, and boundary conditions (e.g., zero denominators).

4. Propose handling strategies

For each edge case, suggest a mitigation: imputation, robust statistics, filtering, or business rules. Discuss trade-offs between accuracy and simplicity.

5. Validate and monitor

Describe how you would test the metric with synthetic edge cases and set up monitoring to detect anomalies in production.

Key Points to Mention

  • Missing or null values in critical fields (e.g., driver ID, trip fare)
  • Outliers and extreme values that skew averages (e.g., very long trips)
  • Time zone and daylight saving time issues when aggregating by day
  • Duplicate records due to retries or multiple event streams
  • Zero or negative denominators (e.g., zero trips in a region)
  • Data freshness and late-arriving data affecting real-time metrics

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q3

If the completion rate for a city or order type is low, what could be causing it and how would you investigate?

Root Cause AnalysisProduct Analytics & Metrics
Author's notes

This is the part I actually enjoyed.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by defining what 'completion rate' means in the Uber context (e.g., completed trips / requested trips) and segment the metric by city, order type, time, and user cohorts to localize the drop. Then systematically investigate potential causes across the funnel—demand, supply, pricing, product, and external factors—using data and experiments to validate hypotheses.

Pro tip: Emphasize that you would first check for data pipeline or logging issues before jumping to business causes, as ML engineers often find that metric anomalies stem from instrumentation bugs or model deployment changes.

1. Define and segment the metric

Clarify the exact definition of completion rate (e.g., completed trips / requested trips) and break it down by city, order type, time period, user demographics, and device to identify where the drop is concentrated.

2. Check data quality and instrumentation

Verify that the data pipeline is functioning correctly—check for logging errors, missing events, or changes in event definitions that could artificially lower the completion rate.

3. Analyze the funnel and identify drop-off points

Map the user journey from request to completion and measure conversion at each step (e.g., request → match → pickup → drop-off) to pinpoint where users are abandoning.

4. Generate and test hypotheses

Consider potential causes such as supply-demand imbalance, pricing changes, product bugs, competitor actions, or external events (weather, traffic). Use A/B tests, causal inference, or correlation analysis to validate.

5. Recommend and monitor solutions

Based on findings, propose actionable fixes (e.g., incentives, algorithm tweaks) and set up monitoring to track the impact and prevent future issues.

Key Points to Mention

  • Segment the metric by dimensions like city, order type, time, and user cohorts to localize the issue.
  • Check for data pipeline or logging issues before assuming business causes.
  • Analyze the funnel to identify specific drop-off points (e.g., request to match, match to pickup).
  • Consider supply-side factors (driver availability, incentives) and demand-side factors (pricing, promotions).
  • Account for external factors like weather, traffic, or competitor launches.
  • Use experimentation or causal methods to validate root causes and measure impact of fixes.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q4

What product, operational, or ML changes would you consider to improve a low completion rate?

Product Sense & IdeationRoot Cause Analysis
Author's notes

Talked about courier-order matching improvements, ETA model calibration, and targeted supply incentives.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying what 'completion rate' means in the specific context (e.g., trip completion, delivery completion, or ML model training completion) and identify the key stages in the user journey where drop-off occurs. Then, propose a mix of product, operational, and ML changes that address the root causes, prioritizing based on impact and feasibility, and outline how you would measure success.

Pro tip: Anchor your answer in Uber's marketplace dynamics: completion rate is a two-sided problem, so consider both rider/driver and eater/courier perspectives. Also, mention that ML solutions should be deployed only after understanding the causal drivers, not just correlations.

1. Clarify and Define

Ask clarifying questions to understand which completion rate (e.g., trip, delivery, model training) and the current baseline. Define the numerator and denominator clearly.

2. Diagnose Root Causes

Break down the funnel into stages (e.g., request, match, pickup, drop-off) and identify where drop-offs happen. Use data to find patterns (e.g., time of day, location, user segment).

3. Brainstorm Interventions

Generate ideas across product (e.g., UI improvements, incentives), operational (e.g., driver supply, routing), and ML (e.g., better ETA prediction, dynamic pricing, fraud detection) categories.

4. Prioritize and Validate

Evaluate ideas by expected impact, effort, and risk. Suggest A/B tests or pilot programs to validate the most promising changes.

5. Measure and Iterate

Define success metrics (e.g., completion rate lift, user satisfaction) and propose a monitoring plan to ensure sustained improvement.

Key Points to Mention

  • Funnel analysis to pinpoint drop-off stages
  • Two-sided marketplace considerations (riders/drivers, eaters/couriers)
  • ML applications: predictive modeling for cancellations, dynamic pricing, matching algorithms, fraud detection
  • Operational levers: driver incentives, supply positioning, reducing wait times
  • Product changes: clearer communication, upfront pricing, in-app support
  • Experimentation: A/B testing, causal inference, and guardrail metrics

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.