Real-time Fraud Detection Dashboard
Challenge Overview
The Problem
Fraud analysts needed to see suspicious transaction patterns in real-time, but the existing report was only updated once a day.
My Approach
Set up a Power BI streaming dataset connected to a Python script that monitored the transaction log API. Designed a dashboard with card visuals for immediate alerts and a line chart for trend analysis over the last hour.
Key Lesson
"Real-time dashboards require a different design philosophy than historical reports—focus on immediate outliers rather than deep aggregation."
The Challenge
Fraudsters often test cards with small amounts before making large purchases. Detecting these "velocity attacks" requires real-time monitoring, but the bank's data warehouse only refreshed overnight.
Solution Architecture
I built a lightweight real-time monitoring solution using:
- Python Script: Polled the core banking API every 30 seconds for new transactions flagged with specific high-risk codes.
- Power BI Streaming Dataset: The Python script pushed payload data (Timestamp, Branch, Amount, RiskScore) directly to the Power BI Service via API.
- Live Dashboard: A dashboard configured to auto-refresh, verifying the API push connection.
Key Visuals
The dashboard focused on speed of interpretation:
- Big Number Cards: Displaying "High Risk Transactions (Last 1 Hour)".
- Flow Map: Visualizing the origin of transactions geographically.