End-to-end digital banking analytics project using PostgreSQL, SQL and Python, featuring 500,000 synthetic South African banking transactions, business analysis and query performance optimization.
# Digital Banking Transaction Analytics
## Project Overview
I built **Digital Banking Transaction Analytics** as an end-to-end SQL and data analytics portfolio project based on a simulated South African digital banking environment.
My goal was to go beyond writing isolated SQL queries and build a complete workflow covering relational database design, synthetic data generation, data loading, validation, business analysis, debugging, and database performance investigation.
I used Python to generate realistic synthetic banking data at scale, loaded the generated datasets into PostgreSQL, validated the data, analysed it using SQL, and investigated query performance using indexes and `EXPLAIN ANALYZE`.
### Dataset Size
The final dataset contains:
- 10,000 customers
- 18,033 bank accounts
- 295 merchants
- 500,000 banking transactions
- Multiple customer segments
- Multiple transaction types
- South African cities and provinces
- Monetary values represented in South African Rand (ZAR)
> **Note:** All customer, account, merchant, and transaction data in this project is synthetically generated. No real banking or personal information is used.
---
## Project Objectives
I built this project to develop and demonstrate practical experience in:
- Relational database design
- PostgreSQL
- SQL querying and analytics
- Multi-table joins
- Aggregate functions
- Conditional aggregation
- Common Table Expressions (CTEs)
- Window functions
- Data validation
- Python-based synthetic data generation
- CSV-based data pipelines
- Database indexing
- Query performance analysis
- Debugging and problem solving
- Translating business questions into SQL
- Communicating analytical insights
---
## Technology Stack
| Technology | Purpose |
|---|---|
| PostgreSQL | Relational database and analytical querying |
| SQL | Database creation, loading, validation and analysis |
| Python | Synthetic data generation |
| CSV | Intermediate data storage |
| Visual Studio Code | Development envi …