This project simulates a fraud detection system built entirely in SQL, inspired by real-world fintech risk and fraud operations.
The goal is to identify suspicious transactions, assign risk scores, and prioritize cases for investigation.
Financial institutions must detect fraudulent transactions in real time while prioritizing investigation efforts efficiently.
This project demonstrates how to:
- Apply fraud detection rules
- Calculate risk scores
- Prioritize cases for investigation
- Support analysts with actionable queries
Simulated transactional data including:
- Customers
- Transactions
- Risk signals (e.g., new device, international activity)
- SQL
- PostgreSQL / SQLite
- Git
- GitHub
- High transaction amount (> 3000)
- International transaction
- New device usage
Each rule contributes to a risk score.
Transactions receive a score based on triggered rules:
- High amount → +20
- International → +25
- New device → +15
Total score determines investigation priority.
- High Priority (score ≥ 40)
- Medium Priority (score ≥ 20)
- Low Priority (score < 20)
- Identification of high-risk transactions
- Detection of unusual behavior patterns
- Prioritization of cases for fraud analysts
Includes queries for:
- Case volume by priority
- Average risk score
- International suspicious transactions
- New device activity
- High-risk customers
- Fraud detection logic using SQL
- Risk scoring models
- Analytical thinking applied to fraud scenarios
- Data-driven prioritization
- Integrate with dashboard tools (Power BI / Tableau)
- Expand rule set
- Add machine learning models
Vitor Carvalhal
Data Analyst focused on Fraud & Risk Analytics
LinkedIn | GitHub