Affirm · Primly Community

Affirm data scientist interview (SQL + case + stats): what each round actually covers

ds_dmitri · 4 replies

Finished Affirm's DS loop about 6 weeks ago for a mid-level DS role on their risk team. Here's the breakdown by round since "DS interview" is vague and what Affirm actually tests is pretty specific.

SQL round (45 min) Two problems. First was medium-complexity: aggregation + window functions + a subtle join condition. Second was harder: I had to reconstruct user payment sequences from an event table and flag irregular patterns. Think "find users who missed a payment then made it up within 7 days" but with dirtier data.

They're using a real fintech schema for the problems. Not a generic e-commerce schema. Columns like loanid, installmentnumber, duedate, settleddate, delinquency_flag. This matters. Know what a loan lifecycle looks like in data.

Stats + probability round (45 min) Asked me to explain A/B test setup for a feature that affects merchant approval rates. Then: what if your randomization unit is merchants but your measurement unit is transactions? (Variance inflation, SUTVA violation territory.) Also a Bayesian vs. frequentist question about early stopping. This is legitimately rigorous. They hired some sharp people from academia.

One probability question: given historical default rates by FICO band, how would you update a model as new delinquency data arrives? Less a math problem, more testing whether you understand online learning concepts.

Case / business round (60 min) Not a PM case. More like: here's a metric that moved, diagnose it. They gave me a scenario where delinquency rate ticked up 0.3% over 4 weeks. Walk through your analysis. What segments do you look at? What external factors? What do you recommend?

This is where fintech domain knowledge matters. If you can't reason about credit risk at a high level, the case round will be rough.

No ML modeling round in my loop (risk DS role, not a modeling scientist role specifically). If you're interviewing for their ML platform or credit modeling team it's probably different.

Total: 4 rounds. Offer came about 9 days after the final interview.

4 replies

analyst_ana

The SQL schema piece is a good tip. Practicing on generic e-commerce data and then hitting a fintech schema with loan tables and installment logic would throw me off. Is there a good resource for fintech-specific SQL practice or did you just research Affirm's product to guess the schema?

ds_dmitri

Mostly just thought through Affirm's product and sketched what the tables would look like. Loan table, payment schedule table, event log table. The recruiter also mentioned they use real-ish data in the SQL round, which was the hint that told me to prep fintech-specific.

de_derek

The variance inflation / SUTVA question is interesting coming from a DS round at a BNPL company. Makes sense though: if one merchant gets the treatment their transaction volume changes in ways that contaminate the control group. Classic interference problem.

ml_mike

Good point on the role split. DS at Affirm is not the same as ML scientist at Affirm. If you're going for the credit modeling roles the interview is heavier on modeling theory and feature engineering for tabular data. Completely different prep.