Inspiration

Every day, fraud slips through unnoticed...not because the signals aren't there, but because no single tool connects them fast enough. We wanted to build something a real fraud analyst would actually open on a Monday morning.

What it does

Fraud Hunter ingests one month of credit card transactions and automatically flags suspicious ones using an ensemble of four anomaly detection models (Isolation Forest, ECOD, COPOD, HBOS). Each flag comes with a plain-English explanation... not just a score. Reviewers can approve, dismiss, or escalate flagged transactions one by one through a keyboard-driven queue.

How we built it

Detection runs on four unsupervised models from the PyOD library, trained on engineered features including per-card spending baselines, cross-card device and IP reuse, and country mismatches. Transactions flagged by multiple models are ranked highest through a consensus scoring layer, reducing noise. A lightweight review UI handles keyboard navigation, undo, and human-readable flag reasons. The final output is an updated CSV with fraud flags and an audit log of reviewer decisions.

Challenges we ran into

Getting the models to agree on the right fraud, not just the biggest transactions. Tuning features so that a $9.99 Spotify charge from the wrong country scores higher than a legitimate $800 electronics purchase. Balancing precision and recall without any ground truth labels to validate against.

Accomplishments that we're proud of

We caught all four fraud patterns in the dataset, including the cross-card device reuse pattern that is invisible without aggregating signals across cards. Every flagged transaction comes with a human-readable reason rather than a black-box score. The reviewer queue is usable by a non-technical judge with zero instructions.

What we learned

Unsupervised fraud detection lives and dies by feature engineering. The models are almost interchangeable... what matters is what you feed them. Per-card baselines (is this unusual for this card?) outperform global thresholds (is this transaction large?) by a significant margin.

What's next for Fraud Hunter

Training on reviewer feedback within the session to suppress repeated false positives, adding a cost-of-fraud slider so analysts can tune the precision and recall tradeoff in real time, and extending to live transaction scoring through a lightweight API.

Share this project:

Updates