← SoFi Interview Insights

SoFi·Data Scientist·Technical Phone Screen·Senior

Senior
Jul 2026

Summary

SoFi DS interview that was basically one massive experiment design question stretched across six sub-parts. Felt more like a take-home being graded live than a normal interview. The depth they expected was real.

Questions Asked (7)

Q1

You're rolling out a new home page ranking algorithm. Walk through a three-stage evaluation plan: offline replay, small-scale interleaving, then full A/B test.

A/B Testing & ExperimentationProduct Analytics & MetricsSystem Design
Author's notes

The structure they wanted was pretty clear once I heard 'three-stage' but I fumbled the offline part.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Structure your answer around the three stages, explaining the purpose, methodology, and key metrics for each. Emphasize how each stage de-risks the next and how you would make go/no-go decisions. Tailor to SoFi's context by mentioning financial product metrics and user experience.

Pro tip: Highlight the importance of pre-registering your analysis plan and guardrail metrics before the A/B test to avoid p-hacking and ensure trustworthy results. Also, mention that interleaving can detect subtle ranking differences faster than A/B tests.

1. Offline Replay

Use historical data to simulate the new algorithm's performance against the old one. Evaluate offline metrics like NDCG, recall, or business KPIs (e.g., click-through rate) to filter out clearly bad algorithms.

2. Small-Scale Interleaving

Run an interleaving experiment with a small user subset to compare ranking algorithms directly. Measure user engagement metrics (e.g., clicks, conversions) to detect preferences with higher sensitivity and lower sample size.

3. Full A/B Test

Conduct a randomized controlled experiment on the full user base, with a control and treatment group. Define primary and guardrail metrics, run for sufficient duration, and analyze results for statistical significance and practical impact.

4. Decision and Iteration

Based on A/B test results, decide whether to launch, iterate, or abandon. If launching, monitor post-launch metrics and be prepared to roll back if guardrails are breached.

Key Points to Mention

  • Offline replay: use historical logs, simulate new ranking, compute offline metrics (e.g., NDCG, MAP) and business proxies.
  • Interleaving: combines results from two algorithms into one list, measures user clicks, requires fewer users and less time than A/B tests.
  • A/B test: random assignment, control vs. treatment, primary metric (e.g., conversion rate), guardrail metrics (e.g., latency, revenue).
  • Statistical power: calculate required sample size and duration to detect a minimum detectable effect.
  • Guardrail metrics: ensure no degradation in key business metrics or user experience.
  • SoFi context: consider financial product metrics like application completion rate, cross-sell, and compliance.

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

Q2

How do you define the exposure unit for this experiment, and how do you handle bucketing to prevent contamination across sessions or devices?

A/B Testing & ExperimentationTechnical Trade-offs
Author's notes

I went with session-level first and they pushed back asking what happens when the same user hits the home page from two devices.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by defining the exposure unit based on the experiment's goal and the product's user model, then explain how you assign that unit to buckets using a deterministic hashing method. Emphasize the importance of consistent bucketing across sessions and devices, and describe how you prevent contamination through techniques like sticky bucketing and cross-device identity resolution.

Pro tip: Mention that you always document the exposure unit and bucketing logic in the experiment design doc and validate it with a sample ratio mismatch (SRM) check before launch. This shows you're proactive about data quality and experiment integrity.

1. Define the exposure unit

Choose the unit of randomization (e.g., user, session, device) based on the experiment's hypothesis and the metric's sensitivity. For example, if the goal is to measure long-term user retention, use user-level randomization.

2. Determine bucketing strategy

Use a deterministic hash of a stable identifier (like user ID) to assign the unit to a bucket. Ensure the hash function is consistent and the salt is fixed to avoid re-randomization.

3. Handle cross-session and cross-device consistency

Implement sticky bucketing by storing the assignment in a persistent store (e.g., cookie, local storage, or server-side user profile) so the user sees the same variant across sessions. For cross-device, use a unified user ID (e.g., after login) to link devices.

4. Prevent contamination

Ensure that users cannot be exposed to multiple variants by enforcing mutual exclusivity and using techniques like holdouts or global holdouts. Also, consider network effects and spillover if the experiment involves social features.

5. Validate and monitor

Run an A/A test or SRM check to validate the bucketing. Monitor for anomalies like unexpected cross-device exposure and adjust the design if needed.

Key Points to Mention

  • Exposure unit should align with the metric and hypothesis (e.g., user-level for retention, session-level for engagement).
  • Deterministic hashing with a fixed salt ensures consistent assignment.
  • Sticky bucketing via cookies or server-side storage maintains consistency across sessions.
  • Cross-device identity resolution using login or probabilistic matching to unify users.
  • Mutual exclusivity and global holdouts prevent contamination.
  • Sample ratio mismatch (SRM) checks and A/A tests validate bucketing.

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

Q3

The primary metric is 30-day funded-account conversion per 1,000 impressions, with a baseline of 1.20% and a target relative uplift of 5%. Compute the required per-arm sample size at 80% power and alpha 0.05, then discuss how repeated exposures and cluster-robust variance change that number.

A/B Testing & ExperimentationProduct Analytics & Metrics
Author's notes

The sample size calc I did fine.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

First, compute the required sample size per arm using the standard formula for comparing two proportions, with baseline p1=0.012, target p2=0.012*1.05=0.0126, alpha=0.05 (two-sided), and power=0.80. Then, discuss how repeated exposures violate independence and inflate variance, requiring adjustments such as cluster-robust standard errors or design effects, which increase the sample size. Finally, emphasize the need to account for these factors in experiment design and analysis.

Pro tip: Always clarify whether the metric is a proportion at the user level or impression level; if it's per impression, repeated exposures create clustering that must be addressed, often by using user-level randomization and cluster-robust variance estimation.

1. Compute baseline and target rates

Convert the baseline 1.20% to proportion p1=0.012. Compute the target rate p2 = p1 * (1 + 0.05) = 0.0126. The absolute difference is 0.0006.

2. Calculate sample size using standard formula

Use the formula for two proportions: n = (Z_{α/2} + Z_β)^2 * (p1(1-p1) + p2(1-p2)) / (p2-p1)^2. With Z_{0.025}=1.96, Z_{0.20}=0.84, plug in values to get n ≈ 2 * (1.96+0.84)^2 * (0.012*0.988 + 0.0126*0.9874) / (0.0006)^2. Compute the result, which is approximately 2 * 7.84 * (0.011856 + 0.012441) / 3.6e-7 ≈ 2 * 7.84 * 0.024297 / 3.6e-7 ≈ 2 * 0.1905 / 3.6e-7 ≈ 0.381 / 3.6e-7 ≈ 1,058,333 per arm. So about 1.06 million per arm.

3. Discuss repeated exposures and clustering

Explain that if users are exposed multiple times, observations are not independent. This clustering reduces effective sample size and inflates variance. The design effect (DEFF) = 1 + (m-1)*ICC, where m is average cluster size (exposures per user) and ICC is intra-cluster correlation. The required sample size becomes n * DEFF.

4. Address cluster-robust variance and adjustments

Mention that cluster-robust standard errors (e.g., Huber-White) or mixed-effects models can account for clustering. Alternatively, randomize at the user level to avoid repeated exposures within user, but if exposures are repeated, use cluster-robust variance in analysis. This typically increases the required sample size by the design effect.

5. Conclude with practical implications

Summarize that the naive sample size is ~1.06M per arm, but with repeated exposures, the actual required sample size could be substantially higher (e.g., if ICC=0.1 and m=5, DEFF=1.4, so ~1.48M per arm). Recommend planning for clustering and using appropriate analysis methods.

Key Points to Mention

  • Use two-sided alpha=0.05 and power=0.80, corresponding to Z-scores 1.96 and 0.84.
  • Baseline conversion rate 1.20% and relative uplift 5% imply target rate 1.26%.
  • Sample size formula for two proportions: n = (Z_{α/2}+Z_β)^2 * (p1(1-p1)+p2(1-p2)) / (p2-p1)^2.
  • Repeated exposures create clustering, violating independence and inflating variance.
  • Design effect (DEFF) = 1 + (m-1)*ICC, where m is average exposures per user and ICC is intra-cluster correlation.
  • Cluster-robust standard errors or mixed-effects models can adjust for clustering, increasing required sample size.

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

Q4

What guardrails would you put in place for this experiment, and how do you set sequential testing boundaries to allow early stopping without inflating Type I error?

A/B Testing & ExperimentationProduct Analytics & Metrics
Author's notes

Listed p95 latency, crash rate, CS ticket volume, and decline rate.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by framing the experiment's goal and the risks of peeking, then describe guardrails across design, execution, and monitoring. For sequential testing, explain how alpha-spending functions or group sequential boundaries control Type I error while allowing early stopping, and tie it to practical trade-offs like power and sample size.

Pro tip: Emphasize that guardrails should be pre-registered and that sequential boundaries must be chosen before the experiment starts to avoid p-hacking. Mention that SoFi likely values both statistical rigor and business impact, so balance early stopping with the cost of false positives.

1. Define experiment goal and guardrail metrics

Clearly state the primary metric and key guardrails (e.g., revenue, customer satisfaction, risk metrics) that must not degrade. Set thresholds for acceptable movement.

2. Design for sequential testing

Choose a sequential testing method (e.g., O'Brien-Fleming, Pocock, or alpha-spending) and pre-specify the number and timing of interim analyses. Calculate sample size and boundaries using software or simulations.

3. Implement monitoring and alerting

Set up automated dashboards and alerts for guardrail metrics and sequential test boundaries. Ensure data quality checks and avoid manual peeking.

4. Establish decision rules

Define clear criteria for stopping early for success, futility, or harm. Document who makes the call and how results will be communicated.

5. Validate and iterate

After the experiment, review whether guardrails held and if sequential boundaries were appropriate. Use learnings to refine future experiments.

Key Points to Mention

  • Pre-registration of analysis plan and guardrails to prevent p-hacking
  • Alpha-spending functions (e.g., O'Brien-Fleming, Pocock) to control Type I error
  • Group sequential design and interim analyses
  • Trade-offs between early stopping and statistical power
  • Practical considerations: data quality, novelty effects, and business impact
  • Communication of results and decision-making process

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

Q5

How do you handle novelty effects, carryover bias, and seasonality? What's your ramp policy and how do you get early signal on a 30-day outcome metric?

A/B Testing & ExperimentationAdaptability & Ambiguity
Author's notes

Novelty effects I talked through fine, run the experiment long enough for the initial curiosity bump to wash out.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Structure your answer around the experiment lifecycle: pre-experiment diagnostics, mitigation strategies during the test, and post-experiment validation. Emphasize how you balance statistical rigor with business speed, especially for a 30-day metric, by using proxy metrics and sequential testing to get early signal without compromising validity.

Pro tip: Mention that you pre-register your ramp plan and early-signal metrics to avoid p-hacking, and that you use a holdout group to quantify novelty effects over time. This shows you understand both the statistical and organizational challenges of experimentation.

1. Diagnose and Quantify Biases

Explain how you detect novelty effects (e.g., compare treatment vs. control in the first few days vs. later), carryover bias (e.g., use washout periods or switchback designs), and seasonality (e.g., use time-series decomposition or include day-of-week covariates).

2. Design Mitigations

Describe design choices to reduce these biases: randomization unit (user vs. session), stratification, balanced allocation, and using a holdout group. For seasonality, ensure the test runs full weeks or use seasonal adjustment.

3. Define Ramp Policy

Outline a phased rollout (e.g., 1%, 5%, 20%, 50%) with predefined checkpoints. At each stage, monitor guardrail metrics and early signals; only proceed if no harm and positive trend.

4. Get Early Signal on 30-Day Metric

Identify leading indicators (e.g., engagement, clicks) that correlate with the 30-day outcome. Use sequential testing or Bayesian methods to peek at data without inflating false positives, and set decision rules for early stopping.

5. Validate and Iterate

After the test, analyze whether novelty effects decayed, check for carryover in subsequent periods, and adjust for seasonality in the final readout. Document learnings to improve future experiments.

Key Points to Mention

  • Novelty effect: initial spike in treatment that fades; use time-based analysis and holdout groups to measure decay.
  • Carryover bias: contamination from prior exposures; use washout periods, switchback designs, or user-level randomization with sufficient gap.
  • Seasonality: day-of-week, holidays, and trends; use control groups, stratification, or time-series models to adjust.
  • Ramp policy: phased rollout with predefined checkpoints and guardrail metrics to catch issues early.
  • Early signal: proxy metrics, sequential testing, Bayesian methods, and pre-registered decision rules to avoid p-hacking.
  • 30-day metric: often a lagging indicator; use leading indicators and statistical techniques to predict final outcome.

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

Q6

How would you analyze heterogeneous treatment effects across user segments like new vs. existing users or credit tiers, and how do you control false discovery rate across those subgroups?

A/B Testing & ExperimentationProduct Analytics & Metrics
Author's notes

Pre-specifying subgroups before the experiment starts is the obvious answer and I led with that.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by framing the analysis as a pre-specified subgroup analysis with clear hypotheses, then describe a hierarchical testing or multiple comparison correction approach to control FDR. Emphasize the importance of interaction tests and effect size estimation over p-values, and discuss how to communicate findings to stakeholders.

Pro tip: Pre-register your subgroup hypotheses and use a Bayesian hierarchical model to borrow strength across segments, which naturally controls false discoveries while providing interpretable effect estimates.

1. Define subgroups and hypotheses

Clearly define user segments (e.g., new vs. existing, credit tiers) and pre-specify which segments you expect heterogeneous effects in, based on business logic or prior research.

2. Test for interaction effects

Use regression models with treatment-by-segment interaction terms to formally test whether treatment effects differ across segments, rather than comparing p-values within each segment.

3. Apply multiple testing correction

Control false discovery rate using methods like Benjamini-Hochberg or storey's q-values across all subgroup tests, or use hierarchical Bayesian models that shrink estimates toward the overall effect.

4. Estimate and visualize effects

Compute segment-specific treatment effects with confidence intervals, and create forest plots or heatmaps to visualize heterogeneity and uncertainty.

5. Validate and communicate

Validate findings with out-of-sample data or sensitivity analyses, and communicate results with appropriate caveats about exploratory nature and practical significance.

Key Points to Mention

  • Pre-registration of subgroup analyses to avoid data dredging
  • Interaction tests (treatment x segment) as the primary method
  • False discovery rate control methods (Benjamini-Hochberg, Storey)
  • Hierarchical Bayesian models for borrowing strength and shrinkage
  • Effect size estimation with confidence intervals and visualization
  • Distinction between statistical and practical significance in business context

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

Q7

How do you detect p-hacking or Simpson's paradox in your results, and what are your ship criteria when the primary metric and guardrails point in different directions?

A/B Testing & ExperimentationCross-functional AlignmentRoot Cause Analysis
Author's notes

The p-hacking detection piece I answered by talking about pre-registration and audit logs of what was tested vs what was reported.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by explaining your diagnostic toolkit for detecting p-hacking and Simpson's paradox, emphasizing pre-registration, sequential testing corrections, and segment-level checks. Then, describe a decision framework for conflicting metrics that prioritizes guardrails as non-negotiable and uses a ship/hold/iterate decision tree based on statistical and practical significance. Close with a concrete example from your experience.

Pro tip: Frame guardrails as 'trust metrics'—if they degrade, the experiment fails regardless of primary metric gains. This shows you prioritize long-term user trust and business health over short-term wins.

1. Detect p-hacking

Check for multiple comparisons, peeking, and p-value manipulation by reviewing experiment design, using sequential testing or alpha spending, and validating with holdout or replication.

2. Detect Simpson's paradox

Disaggregate results by key segments (e.g., device, user tenure, region) and check for sign flips or effect size changes. Use visualization and statistical tests for heterogeneity.

3. Evaluate conflicting metrics

Assess statistical significance, practical significance (effect size), and confidence intervals for both primary and guardrail metrics. Determine if the conflict is due to noise or a real trade-off.

4. Apply ship criteria

If guardrails are violated, do not ship. If primary is positive but guardrails are neutral or slightly negative, consider iterating or shipping with monitoring. If both are positive, ship.

5. Communicate and decide

Present findings to stakeholders with a clear recommendation, highlighting risks and trade-offs. Align on next steps (ship, iterate, kill) based on business priorities and risk tolerance.

Key Points to Mention

  • Pre-registration of hypotheses and analysis plans to prevent p-hacking
  • Sequential testing or alpha spending to handle peeking
  • Segment analysis and visualization to uncover Simpson's paradox
  • Guardrails as non-negotiable trust metrics (e.g., user retention, complaint rate)
  • Decision framework: ship only if primary is positive and guardrails are not violated
  • Use of holdout groups and replication to validate results

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