Just finished the loop for a DS role on Bain's Advanced Analytics team. Writing this down before the details fade.
Three rounds total after the initial recruiter screen:
Round 1: SQL + data manipulation This was a technical screen with a member of the analytics team. Two SQL problems on a shared doc. One was a fairly standard aggregation with a tricky GROUP BY (nulls in the join key). The second asked me to compute a rolling 30-day retention metric. Not hard, but time pressure was real. They cared about correctness and query readability, not just getting an answer.
Round 2: Case + stats This is where Bain diverges from a regular tech DS interview. The case was a mini consulting-style problem: a retail client is seeing declining basket size, what do you look at first? They wanted a structured diagnostic, not a model. When I jumped to regression too fast, the interviewer steered me back to EDA and sanity checks. Good reminder that Bain thinks client-first, not model-first.
After the case they asked three statistics questions: explain p-values without jargon, when would you use a Mann-Whitney U instead of a t-test, and how would you design an A/B test for a feature with low event volume. That last one is where a lot of people get tripped up. They wanted to hear about minimum detectable effect and sample size tradeoffs, not just "run a chi-squared."
Round 3: Behavioral + fit With a manager and a partner. Standard STAR-format questions but very specific: tell me about a time your analysis changed a decision. They pushed hard on what the decision actually was and whether it stuck.
Prep that helped: practicing case math out loud (embarrassing but necessary), brushing up on non-parametric tests, and having one solid end-to-end analytics story ready.
Timeline was about 4 weeks from recruiter screen to offer decision. Boston office, hybrid schedule. Happy to answer questions.