← Coinbase Interview Insights

Coinbase·Data Scientist·Technical Phone Screen·Senior

SeniorPrefer not to say
Jun 2026Remote

Summary

Coinbase data scientist interview with a single deep-dive question on wash trading detection. The whole thing was basically one extended case study and it went places I wasn't fully prepared for.

Questions Asked (1)

Q1

Design an end-to-end analytics system to detect and quantify wash trading on BTC-USD and low-liquidity altcoin pairs on a centralized exchange. Cover feature engineering from order and trade logs, graph-based methods to infer shared account control, threshold-setting with precision/recall trade-offs, backtesting with synthetic injected wash trades and any enforcement ground truth, a daily risk score with confidence intervals and calibration, and how you'd surface flagged cases to Compliance without penalizing legitimate market makers.

System DesignProduct Analytics & MetricsTechnical Trade-offs
Author's notes

This was a beast.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by framing the problem as a detection system with clear objectives: high recall for compliance, controlled false positives to protect market makers. Walk through the full pipeline: data ingestion, feature engineering, graph-based clustering, model training with synthetic and real labels, threshold tuning, and daily scoring with confidence intervals. Emphasize collaboration with Compliance and the importance of explainability for flagged cases.

Pro tip: Involve Compliance early to define what constitutes actionable evidence and to secure ground truth; their feedback will shape your precision/recall trade-off and ensure your system aligns with regulatory expectations.

1. Data Ingestion and Feature Engineering

Collect order and trade logs for BTC-USD and low-liquidity altcoin pairs. Engineer features such as trade size distribution, order cancellation rates, inter-trade time intervals, price impact, and self-trade patterns.

2. Graph-Based Account Linkage

Build a graph where nodes are accounts and edges represent shared attributes (e.g., IP, device, funding source, timing). Use community detection or connected components to infer shared control and identify clusters likely to be wash trading rings.

3. Model Training and Threshold Setting

Train a supervised model (e.g., gradient boosting) using labeled data from synthetic wash trades and any enforcement ground truth. Tune the decision threshold to balance precision and recall, prioritizing high recall for compliance while minimizing false positives for market makers.

4. Backtesting and Validation

Backtest the model on historical data with injected synthetic wash trades to evaluate detection performance. Use time-based cross-validation and simulate different market conditions to ensure robustness.

5. Daily Risk Scoring and Compliance Reporting

Generate daily risk scores per account or pair with confidence intervals via model calibration (e.g., Platt scaling). Surface flagged cases to Compliance with explainable features and a prioritized queue, ensuring legitimate market makers are not penalized.

Key Points to Mention

  • Feature engineering: trade size clustering, order cancellation rates, inter-trade timing, price impact, and self-trade detection.
  • Graph-based methods: using shared IP, device, funding source, and temporal patterns to infer common control; community detection algorithms.
  • Threshold setting: precision/recall trade-offs, cost-sensitive learning, and aligning with Compliance's risk appetite.
  • Backtesting: synthetic wash trade injection, time-based validation, and using enforcement ground truth for model evaluation.
  • Daily risk score: calibration (e.g., isotonic regression, Platt scaling) to produce confidence intervals and probabilities.
  • Compliance integration: explainable alerts, feedback loop, and safeguards to avoid penalizing legitimate market makers (e.g., whitelisting, manual review).

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