Design a real-time fraud detection system.
Short Answer
Multi-layer approach: Rule-based (fast, catches known patterns) → ML model (gradient boosting for tabular features) → Real-time streaming (Kafka + Flink) → Human review queue for borderline cases.
Key Components
- Feature Store: Real-time (last 5 min aggregates) + Batch (historical patterns)
- Model: Ensemble of rules + XGBoost + deep learning for sequences
- Latency: Must decide in < 100ms for payment authorization
- Feedback loop: Label from chargebacks (delayed by 30-90 days)
- Monitoring: False positive rate, approval rate, model drift
💡 Memory Trick: "Fraud detection = Rules (fast) + ML (smart) + Streaming (real-time) + Human (final check)"