Óscar Romero Quincoces

Projects / Master's coursework

Fraud detection

Scoring bank transactions for fraud

In progress2026MIAX master's, Instituto BME
Mahalanobis distance to normal transactions, by class
Figure 1. Mahalanobis distance to normal transactions, by class

Summary

170,884 transactions, 0.17% of them fraud, scored by area under the precision-recall curve. So far it reaches 0.696 against the 0.567 starting baseline; the final version is due on 29 October. Team of 3.

The task

Give every bank transaction a fraud score, judged by the area under the precision-recall curve on a production file we can't see. The labelled set has 170,884 transactions with anonymised variables, and only 295 of them, 0.17%, are fraud. A shared notebook cell fixes the split, the folds and the scaling inside each fold, so every team member's score is comparable.

So far

A 10-component Gaussian mixture with a log amount and an amount-frequency feature reaches 0.696, against the 0.567 starting baseline. With only 89 frauds in the test set, differences of 0.05 aren't conclusive, so cross-validation decides. The final version is due on 29 October.

Figures

PCA fitted on normal transactions, with fraud highlighted
Figure 2. PCA fitted on normal transactions, with fraud highlighted
How well each variable separates fraud on its own (AUPR)
Figure 3. How well each variable separates fraud on its own (AUPR)

Built with

Pythonscikit-learnGaussian mixturespandasJupyter