Finance & Fraud Analytics Pipeline
An end-to-end fraud analytics pipeline for a simulated payments platform with 56,691 transactions, 5,000 customers and 400 merchants (synthetic data). It flags suspicious activity with rule-based fraud alerts, measures payment failures and chargeback exposure, and serves the results through Tableau dashboards and a REST API.
- Synthetic data
- PostgreSQL
- Fraud rules (SQL)
- Analytical marts
- Python analysis
- Tableau
- FastAPI REST API
What I did
- Designed a PostgreSQL database with separate core, risk and mart schemas, using constraints to keep the data valid.
- Wrote four explainable fraud rules in SQL: high-value transactions, emulator devices, cross-border high-risk merchants and customers with repeat chargebacks.
- Built the ETL flow: loaded raw data into PostgreSQL core tables, validated it, and transformed it into six SQL marts covering daily volumes, payment failures, chargebacks, suspicious activity, country risk and customer risk.
- Ran data-quality checks and analysis in Python. I found and fixed a one-to-many join that was inflating results.
- Built a FastAPI REST API with a live dashboard. A reconciliation check found 2,813 transactions missing from the status breakdown, which I fixed.
Tools
- PostgreSQL
- SQL
- Python
- pandas
- Matplotlib
- Tableau
- FastAPI
- REST API
- Git & GitHub
Key insight
Cross-border transactions didn't fail more often, but they had higher chargeback exposure (2.37% vs 1.65%). That's why payment failures and chargebacks have to be analysed as separate risks.