Design a Real-Time Fraud Detection System for Financial Transactions

Last updated: October 30, 2025

Quick Overview

Design a real-time fraud detection system that protects Intuit's payment and financial products from fraudulent transactions while minimizing false positives for legitimate small business activity.

Intuit
System Design
Software Engineer
Intuit
October 30, 2025
Software Engineer
Onsite - System Design
System Design
Hard

8

5

4,258 solved


Design a real-time fraud detection system that protects Intuit's payment and financial products from fraudulent transactions while minimizing false positives for legitimate small business activity.

Critical for QuickBooks Payments and tax refund protection. Tests understanding of real-time ML systems, streaming architectures, and the fraud-specific challenge of balancing security with user friction.

What the Interviewer Expects
  • Design a real-time scoring pipeline that evaluates transactions in under 100ms
  • Combine rule-based detection with ML models for comprehensive coverage
  • Handle the cold-start problem for new merchants with limited transaction history
  • Implement feedback loops where fraud investigation outcomes improve model accuracy
  • Design for evolving fraud patterns while maintaining low false positive rates
Key Topics to Cover
Fraud Detection
Real-Time ML
Streaming Architecture
Feature Engineering
False Positive Optimization
How to Approach This
  1. Start by clarifying functional and non-functional requirements with the interviewer.
  2. Estimate the scale: QPS, storage, bandwidth. This drives your design decisions.
  3. Draw a high-level architecture first, then deep dive into 1-2 critical components.
  4. Discuss trade-offs explicitly (e.g., consistency vs availability, SQL vs NoSQL).
  5. Address failure scenarios, monitoring, and how the system handles 10x traffic spikes.
Possible Follow-up Questions
  • How do you handle a fraud pattern that only becomes visible when looking across multiple merchants?
  • What is your strategy for detecting account takeover vs. unauthorized transaction fraud?
  • How do you retrain models quickly when a new fraud pattern emerges?
  • How do you handle the tradeoff between blocking fraud and creating friction for legitimate users?
Sharpen Your Skills on Codemia

Practice similar problems with our interactive workspace, get AI feedback, and track your progress.

Practice System Design Problems
Sample Answer
Requirements

Functional Requirements

  1. Real-Time Transaction Scoring: Evaluate each transaction within 100ms to determine its likelihood of being fraudulent.
  2. Rule-Based and ML Detection: Implement ...
Capacity Estimation

Back-of-Envelope Calculations

  • Transaction Volume: Assuming 1 million transactions per day, this translates to approximately 11.6 transactions per second (1,000,000 / 86,400 seconds).
  • **Con...

Submit Your Answer
Markdown supported

Related Questions