Design a fintech homepage ranker
Company: SoFi
Role: Data Scientist
Category: Machine Learning
Difficulty: hard
Interview Round: Technical Screen
##### Scenario
You are the first data scientist at **SoFi**, a consumer fintech whose app home page surfaces several financial products at once: high-yield savings, credit cards, personal loans, student-loan refinancing, and brokerage/invest. Today the home page shows a hand-ordered list. A PM asks you to replace it with a **personalized ranking system**.
The products are not interchangeable content items. Each one carries an eligibility gate (state licensing, KYC status, credit policy), a very different unit economics profile, and a multi-step funnel — impression, click, application start, approval, funded account — where the money-making event arrives days or weeks after the impression.
##### Question
Propose an end-to-end design. Be concrete: give formulas, thresholds, and the trade-offs you would actually commit to at launch.
1. **Objective and explicit objective function.** Define the primary objective (e.g., risk-adjusted 30-day LTV, or revenue/CLV-weighted conversion) and the secondary objectives (CTR, application starts, approvals, funded accounts). Write the objective function explicitly, showing how it trades short-term clicks against long-term funded accounts subject to eligibility and compliance constraints. Specify how you weight click, application start, approval, and funded events given that they are observed with very different delays.
2. **Guardrail metrics.** Be explicit about what must not degrade: ineligible impressions, underwriting risk, and customer harm. Give the metric definitions and the numeric thresholds you would set.
3. **Data and features.** List the user, product, and context features: eligibility/suitability signals (geo, KYC completion, credit-profile availability), short- and long-term behavior, session context, product attributes, real-time events. Call out explicitly what you **cannot** use for fairness/compliance reasons.
4. **Learning-to-rank choice.** Choose pointwise, pairwise, or listwise and justify it. Specify the loss function and the calibration you will apply, and say why calibration matters here more than in a typical content-feed ranker.
5. **Two-stage architecture and constrained re-ranking.** Describe candidate generation vs. ranking, then a constrained re-ranker that blends personalization with hard business rules — eligibility, credit policy, per-user suitability, diversity quotas across product types. Show how you would implement the two-stage scorer plus constrained re-ranker.
6. **Online inference architecture.** Outline the serving path that meets a **p95 latency budget of ≤100 ms**: feature store, candidate generation, model serving, and the fallbacks that fire when a dependency degrades.
7. **Exploration vs. exploitation, with safety.** Propose a contextual bandit or epsilon-greedy layer. Define *safe* exploration — exploration that can never violate an eligibility or risk guardrail — and handle cold-start for new users and new products.
8. **Bias and feedback loops.** Address position bias and selection bias. Describe the counterfactual logging you need and the IPS / SNIPS / doubly-robust estimators you would use, including how to handle a top-K slate rather than a single item.
9. **Offline evaluation.** Specify time-based splits, leakage checks, and metrics: NDCG@K, MAP, ERR, CVR@K, expected revenue@K, plus calibration and stability checks.
10. **Online experimentation.** Give the A/B plan: pre-registered success and guardrail metrics (approval rate, complaint rate, bad-rate proxy, drop-off in critical flows, latency, application error rate, CS contact rate), sample size, duration, and how you avoid peeking. Discuss interleaving vs. full-funnel tests, and how you attribute downstream approvals and fundings that arrive with long delays.
11. **Monitoring and rollback.** Cover model/data drift detection, eligibility bugs, fairness dashboards, rollback criteria and mechanism, and the fallback ranking you serve when signals are sparse or the model is down.
Quick Answer: A SoFi data scientist technical screen: design an end-to-end personalized ranking system for a fintech app home page that orders high-yield savings, credit cards, personal loans and brokerage products. The eleven parts cover an explicit risk-adjusted LTV objective function with delayed-event weighting, guardrail metrics, permissible vs. prohibited features, the pointwise-vs-listwise learning-to-rank choice and calibration, a two-stage scorer plus constrained re-ranker, a p95 <= 100 ms serving architecture, safe exploration and cold start, position/selection bias with IPS, SNIPS and doubly-robust estimators, offline and online evaluation with delayed attribution, and monitoring and rollback. The worked solution fixes the units trap that makes every product look unprofitable when acquisition cost is subtracted outside the funnel probability.