An end-to-end system that ingests transaction streams, scores every payment against an ensemble of supervised and unsupervised models, and surfaces suspicious activity on a live dashboard with automated alerting on high-risk events.
Fraudulent transactions were being identified in retrospect, during periodic manual review. By the time a pattern was noticed, the money had already moved and the same method had usually been used again. Rules-based checks caught the obvious cases and generated so many false positives on everything else that reviewers had learned to ignore them.
The requirement was not "better rules". It was a system that could look at every transaction as it happened, judge it against both known fraud patterns and its own sense of what normal looks like, and escalate only the events that genuinely warranted a human.
An ETL layer that pulls from banking records, payment gateway feeds and internal financial systems into a single transaction model. Missing values are handled at ingest, fields are normalised across sources, and a feature engineering stage derives the behavioural signals the models actually rely on — velocity, deviation from a customer's own baseline, unusual counterparty relationships and timing anomalies.
No single model catches fraud well, so the platform runs several in parallel and combines their judgement.
Apache Kafka handles the transaction stream and Spark Streaming applies the scoring pipeline continuously, so risk scores are produced as transactions arrive rather than in an overnight batch.
High-risk transactions trigger automated email alerts to the responsible reviewer, carrying the anomaly score and the specific signals that drove it — so the first thing the reviewer sees is why it was flagged, not just that it was.
An interactive monitoring view showing flagged versus cleared volume over time, geographic and behavioural heatmaps, anomaly score distributions and drill-down into any individual transaction and its contributing features.
Reviewer decisions feed back into the training set, so confirmed frauds and confirmed false positives both improve the ensemble over time rather than being lost.
Fraud detection moved from a retrospective review process to a continuous one. Suspicious activity is surfaced within seconds rather than weeks, reviewers see a prioritised queue with explanations attached instead of an undifferentiated alert list, and the system's accuracy improves with every decision they make.
Screens from the delivered system, deliberately obscured. We publish structure and density, never a client's data or naming — the same protection your project would get.




A decision-intelligence platform that simulates factory reassignment across ten thousand historical orders.
Read it