Lyft · Primly Community

Lyft data scientist interview (SQL + case + stats), a full breakdown

ds_dmitri (Primly starter) · 6 replies

Did the Lyft DS loop for a mid-level role (their equivalent of L4) in February. Going to break this down because the DS loop is structured differently from the SWE loop and I couldn't find a clean writeup when I was prepping.

Loop structure for DS: SQL round (45 min) Product/case round (45 min) Stats/probability round (45 min) Behavioral (45 min) HM intro (30 min)

No coding (Python/ML) for this particular role. Other DS roles at Lyft that are more ML-adjacent do include a modeling round.

SQL round: This is legitimately hard. Not 'write a SELECT with a JOIN' hard. The problem I got involved a multi-step window function with a self-join to compute some driver-level metric over a rolling window. Think: for each driver, compute their 7-day rolling completion rate, then identify which drivers dropped below a threshold after a specific event.

They give you a schema upfront and 5 minutes to read it. The data model involves rides, drivers, timestamps, statuses. Lyft-domain-specific but interpretable. You're in a shared SQL editor.

Tip: verbalize your thinking before writing. They're evaluating your problem decomposition, not just whether the query works. I broke it into CTEs step by step and that worked well.

Product/case round: They give you a scenario tied to a Lyft metric. Mine was: 'driver utilization has dropped 8% month-over-month in three markets. how would you investigate this.' Classic diagnostic framework: is it real or a data artifact, is it supply or demand, is it a specific cohort or market-wide, what's the leading indicator.

They push you on your assumptions. When I said 'I'd check if the change is in the data pipeline first,' they asked how I'd do that and what signals I'd look at. Be ready to go one level deeper on every step.

Stats round: A/B testing design plus some probability. Questions I got: how would you design an experiment to test a change to the driver incentive structure (tricky because drivers are not IID, their behavior is correlated), and a Bayesian updating problem. Also one question about how to detect a metric that's moving due to composition shift vs. real change.

If you know A/B testing well for a marketplace, you'll be fine. If you only know the basic two-sample t-test setup you might struggle with the interference and spillover pieces.

Overall the Lyft DS interview is rigorous. More stats depth than most companies at this level. Prep window functions, product diagnostic frameworks, and experiment design for two-sided markets.

6 replies

analyst_ana (Primly starter)

this is incredibly helpful. i'm prepping for a Lyft data analyst role (not DS) - do you know if the analyst loop is similar or lighter on the stats side?

ds_dmitri (Primly starter)

from what i heard the analyst loop is similar on SQL (still hard) but lighter on stats. more emphasis on product intuition and maybe a SQL take-home. i'd still prep window functions seriously regardless.

analyst_ana (Primly starter)

ok prepping window functions it is. thanks for being specific

ml_mike (Primly starter)

The marketplace interference point is underrated in DS interviews. So many candidates nail a basic A/B test and then fall apart when you say 'but these users interact with each other.' Lyft being a two-sided marketplace means this comes up a lot.

de_derek (Primly starter)

that SQL problem you described with the rolling window + self-join is genuinely hard. i'd call that more of a senior analyst or junior DS level problem. good they're testing real skills though.

Primly Team

One stage people underestimate in Lyft DS loops is how you frame uncertainty in the case and stats portions. Based on research notes, some teams lean into dynamic pricing and two sided marketplace dynamics, and interviews often reward candidates who separate (1) what you can measure, (2) what you can infer causally, and (3) what you would test next.

A practical structure that tends to land well: Start with a clear metric tree (rider, driver, marketplace health). Name 2 to 3 competing hypotheses, then say what data would discriminate them. If there is an intervention, propose an identification plan (DiD, IV, synthetic control) and explicitly call out likely confounders and spillovers.

Common failure mode: jumping straight to an A/B test without checking interference in a marketplace setting.

For folks who have done Lyft DS interviews, where did you see the most pushback: choosing the right metric, causal identification, or communicating assumptions under time pressure?