← Atlas

Project Record

Card Transaction Fraud Detection

Explored anomaly and supervised models on a severely imbalanced card-transaction dataset to rank transactions for analyst review.

Domains
FraudPayments
Capability
Scoring & Decision Models
Methods
Anomaly DetectionFeature EngineeringImbalanced ClassificationIsolation Forest

Executive Summary

Card fraud detection is a severe class-imbalance problem: fraud is rare, labels arrive late, and analysts can only review a fixed number of transactions per day. The useful question is not overall accuracy but whether ranked scores surface real fraud cases early. I worked through an obfuscated retail transaction dataset to compare anomaly detection and supervised models under these operational constraints.

A balanced ensemble gave the best trade-off for review workflows: high precision on flagged cases and useful ranking when only the top few hundred transactions can be checked daily. The takeaway was operational—how to score and queue under imbalance—not a claim of production-ready deployment.

This demonstrates imbalanced classification, feature engineering, precision–recall evaluation, and fraud analytics workflow design.

Problem

Given transaction metadata (account, merchant, amount, POS mode, geography, timing), flag likely fraud without drowning reviewers in false positives. At sub-1% fraud prevalence, accuracy is a poor target; the useful question is whether ranked scores surface real cases early.

Approach

Outcome

A balanced ensemble gave the best trade-off for review workflows: high precision on flagged cases, moderate recall on known fraud, and useful ranking when only the top few hundred transactions can be checked each day. The main takeaway was operational—how to score and queue under imbalance—rather than a production-ready detector.

Trade-offs

Late labels blur the training boundary; high-cardinality merchant and account IDs do not generalize cleanly; and precision-first scoring naturally leaves recall on the table unless paired with rules or graph signals elsewhere in the stack.

Related Work