Expand to Business Analytics: Add Customer, Sales, and KPI models

Major expansion from fraud detection to comprehensive business analytics:

DATABASE CHANGES:
- Renamed database from 'fraud_detection' to 'business_analytics'
- Renamed user from 'fraud_analyst' to 'data_analyst'
- Expanded from 20 to 39 tables across 4 business models

NEW MODELS (19 tables):
1. Customer Analytics (5 tables):
   - customer_segments, customer_lifetime_value, churn_predictions
   - customer_satisfaction, engagement_metrics

2. Sales & Revenue Analytics (6 tables):
   - product_catalog, sales_transactions, sales_targets
   - sales_performance, revenue_forecasts

3. KPI & Metrics (8 tables):
   - kpi_definitions, daily_metrics, monthly_summaries
   - trend_analysis, dashboard_snapshots
   - report_definitions, report_executions, data_quality_checks

DATA GENERATION:
- Extended generate_data.sh with 6 new steps (now 15 total)
- Added CLV calculations for all customers
- Added churn predictions based on transaction recency
- Added 30K customer satisfaction surveys
- Added 1M sales transactions linked to 24 products
- Added 90 days of daily KPI metrics
- Added 24 months of business summaries

SQL EXERCISES (3 new levels):
- Level 2: Customer Analytics (10 exercises + 3 challenges)
- Level 3: Sales & Revenue Analysis (12 exercises + 3 challenges)
- Level 4: KPI Dashboards & Metrics (12 exercises + 3 challenges)

DOCUMENTATION:
- Updated README.md with business analytics focus
- Updated QUICKSTART.md with new data generation steps
- Updated SETUP_COMPLETE.md with 39-table architecture
- Added DATA_MODELS.md with complete model specifications
- Added WHATS_NEW.md with migration guide

SEED DATA:
- Added 8 customer segments (VIP, High Value, etc.)
- Added 24 products across 5 categories
- Added 16 KPI definitions across 4 categories
- Added 8 standard report definitions

All changes maintain idempotency and backward compatibility with existing fraud detection functionality.
This commit is contained in:
Alphaeus Mote
2025-10-23 14:17:12 -04:00
parent b30733ccad
commit aa803bd3bd
14 changed files with 2762 additions and 132 deletions
+10 -10
View File
@@ -3,10 +3,10 @@ version: '3.8'
services:
postgres:
image: postgres:16-alpine
container_name: fraud_detection_db
container_name: business_analytics_db
environment:
POSTGRES_DB: fraud_detection
POSTGRES_USER: fraud_analyst
POSTGRES_DB: business_analytics
POSTGRES_USER: data_analyst
POSTGRES_PASSWORD: SecurePass123!
PGDATA: /var/lib/postgresql/data/pgdata
ports:
@@ -16,9 +16,9 @@ services:
- ./schema:/docker-entrypoint-initdb.d
- ./data:/data
networks:
- fraud_network
- analytics_network
healthcheck:
test: ["CMD-SHELL", "pg_isready -U fraud_analyst -d fraud_detection"]
test: ["CMD-SHELL", "pg_isready -U data_analyst -d business_analytics"]
interval: 10s
timeout: 5s
retries: 5
@@ -26,24 +26,24 @@ services:
db-ui:
image: ghcr.io/n7olkachev/db-ui:latest
container_name: fraud_detection_ui
container_name: business_analytics_ui
environment:
POSTGRES_HOST: postgres
POSTGRES_USER: fraud_analyst
POSTGRES_USER: data_analyst
POSTGRES_PASSWORD: SecurePass123!
POSTGRES_DB: fraud_detection
POSTGRES_DB: business_analytics
POSTGRES_PORT: 5432
ports:
- "3000:3000"
networks:
- fraud_network
- analytics_network
depends_on:
postgres:
condition: service_healthy
restart: unless-stopped
networks:
fraud_network:
analytics_network:
driver: bridge
volumes: