Modern fraud detection systems combine multiple AI techniques working together — no single model catches every genuinely different type of fraud, which is exactly why layered approaches dominate in practice.
The Layered Approach
- Rule-based filters — catch obvious, well-known patterns instantly (transaction from a country the card has genuinely never been used in before)
- Supervised classification — trained on genuinely known past fraud cases, learns subtle patterns across dozens of transaction features simultaneously
- Anomaly detection — flags transactions that are simply unusual for a specific individual user’s own established pattern, even without matching any previously known fraud signature at all
- Graph-based analysis — detects genuinely coordinated fraud rings by identifying suspicious relationship patterns between accounts, devices, and payment methods
# Real fraud models use dozens of engineered features per transaction
features = {
"amount_vs_user_average": transaction.amount / user.avg_transaction_amount,
"time_since_last_transaction": (transaction.time - user.last_transaction_time).seconds,
"is_new_device": device_id not in user.known_devices,
"distance_from_last_transaction_location": calculate_distance(...),
"merchant_risk_score": merchant.historical_fraud_rate,
}
The Genuine, Ongoing Challenge: Class Imbalance
Fraud is genuinely extremely rare relative to legitimate transactions (often well under 1%) — a naive model can achieve deceptively high raw accuracy just by predicting “not fraud” for literally everything. Real fraud systems use specific techniques (careful precision/recall trade-off tuning, cost-sensitive learning that weights false negatives heavily) specifically to handle this severe class imbalance correctly, rather than optimizing for a misleading raw accuracy metric.