This project demonstrates the design and implementation of a production-style data warehouse using the Medallion Architecture (Bronze → Silver → Gold).
It simulates a fintech data platform processing transactions, users, merchants, and fraud signals, transforming raw data into analytics-ready datasets for business insights.
The warehouse follows a layered approach:
Bronze Layer → Raw data ingestion (as-is from source systems)
Silver Layer → Cleaned, standardized, and enriched data
Gold Layer → Business-ready data models for analytics
-
Data Sources
- CRM System (Users, Activity)
- ERP System (Transactions, Fees, Merchants, Refunds, Fraud Signals)
-
Bronze Layer
- Raw ingestion with minimal validation
- Stores source data in original format
-
Silver Layer
- Data cleaning and type standardization
- Adds audit columns (
dwh_create_time) - Prepares structured datasets
-
Gold Layer
- Fact and dimension modeling
- Aggregations and KPI tables
- Business-ready datasets
-
Consumption Layer
- BI dashboards
- Reports
- Ad-hoc analytics
fact_transaction
dim_usersdim_merchants
revenue_summaryuser_ltvretention_cohortfunnel_analysisuser_activity_metricsuser_activity_monthlyarpuchurn_ratefraud_ratecustomer_segmentationfraud_anomalies
- Medallion Architecture (Bronze–Silver–Gold)
- Idempotent SQL Scripts (safe re-runs)
- Transaction-safe execution
- Data type standardization (NVARCHAR → DECIMAL, INT, DATETIME2)
- Audit & lineage tracking (
dwh_create_time) - Modular SQL structure for scalability
- Production-style schema design
- Customer Lifetime Value (LTV)
- Retention & Cohort Analysis
- Revenue & ARPU Tracking
- Funnel Analysis
- Fraud Detection & Anomaly Identification
- Customer Segmentation
- 👤 120,000+ Users
- 💳 400,000+ Transactions
- 🏬 50,000+ Merchants
- SQL Server
- T-SQL
- Data Warehousing Concepts
- ETL / ELT Design
- Data Modeling
/scripts
│
├── 01_create_database_schema.sql
├── 02_create_bronze_tables.sql
├── 03_insert_data_bronze_tables.sql
├── 04_create_silver_tables.sql
├── 05_insert_data_silver_tables.sql
│
├── 06_gold.fact_transaction.sql
├── 07_gold.dim_merchants.sql
├── 08_gold.dim_users.sql
├── 09_gold.revenue_summary.sql
├── 10_gold.user_ltv.sql
├── 11_gold.retention_cohort.sql
├── 12_gold.funnel_analysis.sql
├── 13_gold.user_activity_metrics.sql
├── 14_gold.user_activity_monthly.sql
├── 15_gold.arpu.sql
├── 16_gold.churn_rate.sql
├── 17_gold.fraud_rate.sql
├── 18_gold.customer_segmentation.sql
├── 19_gold.fraud_anomalies.sql
-
Create Database & Schemas:
Run: 01_create_database_schema.sql -
Create Bronze Tables:
Run: 02_create_bronze_tables.sql -
Load Bronze Data:
Run: 03_insert_data_bronze_tables.sql -
Create Silver Tables:
Run: 04_create_silver_tables.sql -
Load Silver Data:
Run: 05_insert_data_silver_tables.sql -
Build Gold Layer:
Run scripts 06 → 19 in order
- Bronze Layer: Keeps raw data untouched for traceability
- Silver Layer: Handles cleaning, casting, and standardization
- Gold Layer: Optimized for business queries and analytics
- Idempotency: Ensures safe re-execution of pipelines
- Audit Columns: Enables lineage tracking and debugging
- Add incremental loading (MERGE / CDC)
- Integrate Azure Data Factory / Airflow for orchestration
- Implement data quality tests
- Build Power BI dashboards
- Add CI/CD pipeline for deployment
This project is inspired by real-world data engineering practices used in modern data platforms.
If you found this useful or have suggestions, feel free to connect or reach out!