Complete Enterprise Data Model

Production-Ready ERD — Azure Databricks Unity Catalog | Delta Lake | Medallion Architecture

22 Dimensions  ·  16 Fact Tables  ·  60+ Products  ·  IFRS 9 / Basel III / SARB / POPIA
22
Dimensions
16
Fact Tables
60+
Products
500K
Customers
10M+
Transactions
12
ML Models
15
Analytical Views
6
Domains
Medallion Architecture — Data Flow

Source Systems

Core Banking
CRM · Cards
Treasury · GL

Bronze Layer

Raw Ingestion
Auto Loader
14 Tables

Silver Layer

Cleansed & Enriched
PII Masked
11 Tables

Gold Layer

Star Schema
22 Dims · 16 Facts
15 Views

ML Layer

MLflow Registry
PD · LGD · Fraud
AML Scoring

Consumption

Power BI
Azure SQL
SARB Reports

Entity Relationship Diagrams — by Domain
100% · scroll wheel to zoom · drag to pan
Core customer identity, account ownership, and daily transaction events. DIM_CUSTOMER is SCD Type 2 tracking historical segments and risk scores.
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#EBF4FF', 'primaryTextColor': '#1A2D4A', 'primaryBorderColor': '#1A5FA8', 'lineColor': '#0097A7', 'secondaryColor': '#FFF8E1', 'tertiaryColor': '#F0F5FB', 'background': '#F7FAFD', 'mainBkg': '#EBF4FF', 'nodeBorder': '#1A5FA8', 'clusterBkg': '#F0F5FB', 'titleColor': '#1A2D4A', 'edgeLabelBackground': '#FFFFFF', 'attributeBackgroundColorEven': '#F0F7FF', 'attributeBackgroundColorOdd': '#FFFFFF'}}}%% erDiagram DIM_CUSTOMER ||--o{ DIM_KYC_STATUS : "subject_to" DIM_CUSTOMER ||--o{ DIM_ACCOUNT : "owns" DIM_CUSTOMER ||--o{ FACT_TRANSACTION : "initiates" DIM_CUSTOMER ||--o{ FACT_DAILY_BALANCE : "tracks" DIM_ACCOUNT ||--o{ FACT_TRANSACTION : "records" DIM_ACCOUNT ||--o{ FACT_DAILY_BALANCE : "snapshots" DIM_GEOGRAPHY ||--o{ DIM_CUSTOMER : "resides_in" DIM_DATE ||--o{ FACT_TRANSACTION : "when" DIM_DATE ||--o{ FACT_DAILY_BALANCE : "date" DIM_CUSTOMER { bigint customer_sk PK string customer_id UK string full_name string id_number int age string customer_segment int credit_score string risk_segment string province string kyc_status date onboarding_date boolean is_current "SCD2" } DIM_ACCOUNT { bigint account_sk PK string account_id UK bigint customer_sk FK string account_type string product_code FK string branch_code FK string status decimal credit_limit date open_date boolean is_current "SCD2" } DIM_KYC_STATUS { int kyc_sk PK bigint customer_sk FK string fica_status string pep_flag string sanction_flag date last_review_date string reviewer_id } DIM_GEOGRAPHY { int geography_sk PK string province string city string suburb string postal_code string region } DIM_DATE { int date_sk PK date date_key int month int quarter int year int financial_year boolean is_month_end boolean is_public_holiday } FACT_TRANSACTION { bigint tx_sk PK string transaction_id UK bigint account_sk FK bigint customer_sk FK int date_sk FK decimal amount_zar string tx_type string channel_code boolean is_reversal boolean is_flagged } FACT_DAILY_BALANCE { bigint bal_sk PK bigint account_sk FK bigint customer_sk FK int date_sk FK decimal closing_balance decimal available_balance decimal interest_accrued string balance_band }
Loan portfolio with IFRS 9 ECL staging, ML-driven PD/LGD scores, fraud detection events, and AML case management.
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#FFF0F0', 'primaryTextColor': '#1A2D4A', 'primaryBorderColor': '#D32F2F', 'lineColor': '#E67E00', 'secondaryColor': '#FFF8E1', 'tertiaryColor': '#F5F0FF', 'background': '#F7FAFD', 'mainBkg': '#FFF0F0', 'nodeBorder': '#D32F2F', 'clusterBkg': '#F7FAFD', 'titleColor': '#1A2D4A', 'edgeLabelBackground': '#FFFFFF', 'attributeBackgroundColorEven': '#FFF5F5', 'attributeBackgroundColorOdd': '#FFFFFF'}}}%% erDiagram DIM_CUSTOMER ||--o{ FACT_LOAN_PORTFOLIO : "holds" DIM_RISK_CATEGORY ||--o{ FACT_LOAN_PORTFOLIO : "rated_as" DIM_COLLATERAL ||--o{ FACT_LOAN_PORTFOLIO : "secures" DIM_CREDIT_BUREAU ||--o{ FACT_LOAN_PORTFOLIO : "reports_to" DIM_EMPLOYEE ||--o{ FACT_LOAN_PORTFOLIO : "originates" DIM_CUSTOMER ||--o{ FACT_FRAUD_EVENT : "victim_of" DIM_CUSTOMER ||--o{ FACT_AML_CASE : "investigated_in" DIM_COMPLIANCE_RULE ||--o{ FACT_AML_CASE : "governs" DIM_DATE ||--o{ FACT_LOAN_PORTFOLIO : "snapshot_date" FACT_LOAN_PORTFOLIO { bigint lp_sk PK string loan_id UK bigint customer_sk FK int risk_sk FK int collateral_sk FK int date_sk FK string loan_type decimal outstanding_balance_zar decimal pd_score "ML" decimal lgd_score "ML" decimal ecl_amount_zar "ECL" int ifrs9_stage "Stage" int days_past_due boolean is_npl } DIM_RISK_CATEGORY { int risk_sk PK string risk_code string risk_label string risk_tier decimal pd_floor decimal pd_ceiling decimal lgd_estimate decimal provision_rate } DIM_COLLATERAL { int collateral_sk PK string collateral_type decimal market_value decimal forced_sale_value string valuation_method date last_valuation_date } DIM_CREDIT_BUREAU { int bureau_sk PK bigint customer_sk FK string bureau_name int credit_score string credit_hist int enquiry_count_12m date report_date } DIM_EMPLOYEE { int employee_sk PK string employee_id UK string employee_name string role string department string branch_code FK boolean is_current } FACT_FRAUD_EVENT { bigint fe_sk PK bigint customer_sk FK int date_sk FK decimal fraud_score "ML" boolean fraud_alert decimal amount_at_risk_zar string fraud_type string alert_status boolean is_confirmed_fraud } FACT_AML_CASE { bigint aml_sk PK bigint customer_sk FK int rule_sk FK int date_sk FK string case_type decimal risk_score boolean sar_candidate int days_open string case_notes } DIM_COMPLIANCE_RULE { int rule_sk PK string rule_code string rule_name string regulation string threshold_type decimal threshold_value }
Three-tier product hierarchy (Category → Subcategory → Product) with channel, device, and date dimensions. Tracks cross-sell penetration per customer.
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#FFFBF0', 'primaryTextColor': '#1A2D4A', 'primaryBorderColor': '#C9A84C', 'lineColor': '#8A6A10', 'secondaryColor': '#F0F5FB', 'tertiaryColor': '#F7FAFD', 'background': '#F7FAFD', 'mainBkg': '#FFFBF0', 'nodeBorder': '#C9A84C', 'clusterBkg': '#F7FAFD', 'titleColor': '#1A2D4A', 'edgeLabelBackground': '#FFFFFF', 'attributeBackgroundColorEven': '#FFFDF0', 'attributeBackgroundColorOdd': '#FFFFFF'}}}%% erDiagram DIM_PRODUCT_CATEGORY ||--o{ DIM_PRODUCT_SUBCATEGORY : "contains" DIM_PRODUCT_SUBCATEGORY ||--o{ DIM_PRODUCT : "classifies" DIM_PRODUCT ||--o{ FACT_CUSTOMER_PRODUCTS : "purchased_as" DIM_PRODUCT ||--o{ FACT_PRODUCT_METRICS : "measured_by" DIM_CUSTOMER ||--o{ FACT_CUSTOMER_PRODUCTS : "holds" DIM_CHANNEL ||--o{ FACT_TRANSACTION : "via" DIM_DEVICE ||--o{ FACT_TRANSACTION : "on" DIM_DATE ||--o{ FACT_PRODUCT_METRICS : "metric_date" DIM_PRODUCT_CATEGORY { int category_id PK string category_name string category_code boolean is_revenue_driver } DIM_PRODUCT_SUBCATEGORY { int subcategory_id PK int category_id FK string subcategory_name string subcategory_code } DIM_PRODUCT { int product_sk PK string product_code UK string product_name int subcategory_id FK string product_family decimal base_interest_rate string rate_type decimal annual_fee string risk_rating int profitability_rank boolean is_active } DIM_CHANNEL { int channel_sk PK string channel_code string channel_name string channel_type boolean is_digital } DIM_DEVICE { int device_sk PK string device_type string os_type string browser boolean is_mobile } FACT_CUSTOMER_PRODUCTS { bigint cp_sk PK bigint customer_sk FK int product_sk FK int date_sk FK date adoption_date decimal monthly_nii decimal total_fees_paid int tenure_months boolean is_primary_product } FACT_PRODUCT_METRICS { bigint metric_sk PK int product_sk FK int date_sk FK int new_customers int active_customers int churned_customers decimal total_aum decimal total_fees_collected decimal npl_rate } FACT_TRANSACTION { bigint tx_sk PK string transaction_id UK bigint account_sk FK int channel_sk FK int device_sk FK decimal amount_zar string tx_type boolean is_flagged }
Card acquiring, SA fintech partner settlement (Yoco / SnapScan / PayFast / Peach Payments / PayGate), SWIFT/EFT payment flows. Monthly grain: 60 settlement rows across 5 partners × 12 months.
erDiagram DIM_MERCHANT ||--o{ FACT_CARD_TRANSACTION : "processes" DIM_FINTECH ||--o{ FACT_FINTECH_SETTLEMENT : "settles_via" DIM_COUNTERPARTY ||--o{ FACT_PAYMENT : "receives" DIM_CURRENCY ||--o{ FACT_PAYMENT : "denominated_in" DIM_DATE ||--o{ FACT_CARD_TRANSACTION : "tx_date" DIM_DATE ||--o{ FACT_FINTECH_SETTLEMENT : "settle_month" DIM_MERCHANT { int merchant_sk PK string merchant_id string merchant_name string mcc_code string merchant_category string city string province boolean is_online } DIM_FINTECH { int fintech_sk PK string fintech_id string fintech_name string platform_type decimal fee_rate_pct int settlement_days boolean is_active } DIM_COUNTERPARTY { int counterparty_sk PK string swift_code string bank_name string country string settle_method } DIM_CURRENCY { int currency_sk PK string currency_code string currency_name decimal zar_rate date rate_date } FACT_CARD_TRANSACTION { bigint card_tx_sk PK bigint customer_sk FK int merchant_sk FK int date_sk FK decimal amount_zar string card_brand decimal fraud_score boolean is_contactless } FACT_FINTECH_SETTLEMENT { bigint ft_sk PK int fintech_sk FK int date_sk FK bigint total_transactions decimal gross_volume_zar decimal merchant_fees_zar decimal net_settlement_zar decimal avg_transaction_zar int chargebacks_count } FACT_PAYMENT { bigint pay_sk PK bigint account_sk FK int counterparty_sk FK int currency_sk FK decimal amount_zar string payment_type string swift_ref string status }
General ledger double-entry, branch infrastructure, treasury positions (DV01/VaR), and account-level profitability (NII / ROE).
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#F5F0FF', 'primaryTextColor': '#1A2D4A', 'primaryBorderColor': '#5C35A5', 'lineColor': '#4A2A8A', 'secondaryColor': '#F0F5FB', 'tertiaryColor': '#F7FAFD', 'background': '#F7FAFD', 'mainBkg': '#F5F0FF', 'nodeBorder': '#5C35A5', 'clusterBkg': '#F7FAFD', 'titleColor': '#1A2D4A', 'edgeLabelBackground': '#FFFFFF', 'attributeBackgroundColorEven': '#F5F0FF', 'attributeBackgroundColorOdd': '#FFFFFF'}}}%% erDiagram DIM_GL_ACCOUNT ||--o{ FACT_GL_JOURNAL : "posts_to" DIM_COST_CENTRE ||--o{ FACT_GL_JOURNAL : "allocated_to" DIM_DATE ||--o{ FACT_GL_JOURNAL : "posting_date" DIM_BRANCH ||--o{ DIM_ATM : "operates" DIM_BRANCH ||--o{ DIM_EMPLOYEE : "employs" DIM_GEOGRAPHY ||--o{ DIM_BRANCH : "located_in" DIM_PRODUCT ||--o{ FACT_TREASURY_POSITION : "instrument" DIM_COUNTERPARTY ||--o{ FACT_TREASURY_POSITION : "counterparty" DIM_ACCOUNT ||--o{ FACT_ACCOUNT_PROFITABILITY : "profitability" DIM_GL_ACCOUNT { int gl_sk PK string gl_code string gl_name string account_type string ifrs_class string regulatory_class int hierarchy_level string parent_gl_code } DIM_COST_CENTRE { int cc_sk PK string cc_code string cc_name string legal_entity string division string business_unit } DIM_BRANCH { int branch_sk PK string branch_code UK string branch_name string province string city string branch_type int atm_count boolean is_active } DIM_ATM { int atm_sk PK string atm_id int branch_sk FK string location_type decimal latitude decimal longitude boolean is_active } FACT_GL_JOURNAL { bigint journal_sk PK string journal_id UK int gl_account_sk FK int cost_centre_sk FK int date_sk FK decimal debit_amount decimal credit_amount string journal_type string period string legal_entity } FACT_TREASURY_POSITION { bigint position_sk PK int product_sk FK int counterparty_sk FK int currency_sk FK int date_sk FK string instrument_type decimal market_value decimal mtm_pnl decimal duration decimal yield decimal dv01 } FACT_ACCOUNT_PROFITABILITY { bigint ap_sk PK bigint account_sk FK bigint customer_sk FK int date_sk FK decimal net_interest_income decimal fee_income decimal cost_of_funds decimal provision_charge decimal net_profit decimal return_on_equity } DIM_PRODUCT { int product_sk PK string product_code string product_name } DIM_COUNTERPARTY { int counterparty_sk PK string swift_code string bank_name }
Life, disability, short-term and credit-life insurance with claim workflow. Unit trust, bond, and FX investment positions with unrealised P&L.
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#F0FFF4', 'primaryTextColor': '#1A2D4A', 'primaryBorderColor': '#2E7D32', 'lineColor': '#1B5E20', 'secondaryColor': '#FFFBF0', 'tertiaryColor': '#F7FAFD', 'background': '#F7FAFD', 'mainBkg': '#F0FFF4', 'nodeBorder': '#2E7D32', 'clusterBkg': '#F7FAFD', 'titleColor': '#1A2D4A', 'edgeLabelBackground': '#FFFFFF', 'attributeBackgroundColorEven': '#F0FFF4', 'attributeBackgroundColorOdd': '#FFFFFF'}}}%% erDiagram DIM_CUSTOMER ||--o{ FACT_INSURANCE : "covered_by" DIM_PRODUCT ||--o{ FACT_INSURANCE : "defines_policy" FACT_INSURANCE ||--o{ FACT_CLAIM : "generates" FACT_CLAIM ||--o{ FACT_CLAIM_PAYMENT : "settled_by" DIM_CUSTOMER ||--o{ FACT_INVESTMENT : "invests" DIM_PRODUCT ||--o{ FACT_INVESTMENT : "defines_instrument" DIM_DATE ||--o{ FACT_INSURANCE : "issue_date" DIM_DATE ||--o{ FACT_CLAIM : "claim_date" DIM_DATE ||--o{ FACT_INVESTMENT : "position_date" FACT_INSURANCE { bigint ins_sk PK string policy_id UK bigint customer_sk FK int product_sk FK int date_sk FK string policy_status decimal coverage_amount decimal annual_premium decimal monthly_premium int tenure_months date issue_date date expiry_date } FACT_CLAIM { bigint claim_sk PK bigint ins_sk FK bigint customer_sk FK int date_sk FK string claim_type decimal claim_amount decimal approved_amount boolean is_settled date claim_date int days_to_settle } FACT_CLAIM_PAYMENT { bigint cp_sk PK bigint claim_sk FK int date_sk FK decimal amount_paid string payment_method string payment_status date payment_date } FACT_INVESTMENT { bigint inv_sk PK string investment_id UK bigint customer_sk FK int product_sk FK int date_sk FK decimal quantity_units decimal nav_per_unit decimal current_value decimal cost_basis decimal unrealised_pnl decimal realised_pnl string investment_status } DIM_CUSTOMER { bigint customer_sk PK string customer_id string full_name } DIM_PRODUCT { int product_sk PK string product_code string product_name } DIM_DATE { int date_sk PK date date_key int year int month }
Dimension Tables 22 Total · SCD Type 2

Customer & Identity

  • DIM_CUSTOMER (SCD2) — 500K records
  • DIM_KYC_STATUS — FICA compliance tracking
  • DIM_RISK_CATEGORY — PD/LGD bands
  • DIM_CREDIT_BUREAU — TransUnion/Experian/Compuscan

Account & Product

  • DIM_ACCOUNT (SCD2) — 1.2M accounts
  • DIM_PRODUCT — 60+ SKUs, SCD1
  • DIM_PRODUCT_SUBCATEGORY — 18 subcategories
  • DIM_PRODUCT_CATEGORY — 6 categories

Branch & Infrastructure

  • DIM_BRANCH — 200 SA branches + provinces
  • DIM_EMPLOYEE (SCD2) — 12K staff
  • DIM_ATM — 800 ATMs with geo-coords
  • DIM_GEOGRAPHY — SA provinces, cities, suburbs

Time & Channel

  • DIM_DATE — SA public holidays, fin. year
  • DIM_CHANNEL — Branch/ATM/Online/Mobile/USSD
  • DIM_DEVICE — iOS/Android/Desktop/POS
  • DIM_CURRENCY — ZAR/USD/EUR/GBP/CNY/AED

Fintech & Merchant

  • DIM_FINTECH — Yoco, PayFast, SnapScan, etc.
  • DIM_MERCHANT — SME partners with MCC codes
  • DIM_LOYALTY_PROGRAM — eBucks-style programmes
  • DIM_COUNTERPARTY — Correspondent banks

Governance & Finance

  • DIM_GL_ACCOUNT — 5-level COA hierarchy
  • DIM_COST_CENTRE — Legal entity allocation
  • DIM_COLLATERAL — Property/Vehicle/Cession
  • DIM_COMPLIANCE_RULE — SARB/POPIA/FICA rules
Fact Tables 16 Total · Delta Lake Partitioned

Transaction & Payments

  • FACT_TRANSACTION — 10M+ rows, partitioned by date
  • FACT_PAYMENT — EFT/RTGS/SWIFT/Internal
  • FACT_CARD_TRANSACTION — 2M card POS/online
  • FACT_DAILY_BALANCE — daily account snapshot

Lending & Risk

  • FACT_LOAN_PORTFOLIO — IFRS9 Stage 1/2/3, ECL
  • FACT_FRAUD_EVENT — ML-scored fraud alerts
  • FACT_AML_CASE — SAR pipeline, graph analytics
  • FACT_TREASURY_POSITION — MTM, DV01, VaR

Customer & Product

  • FACT_CUSTOMER_PRODUCTS — cross-sell, tenure, NII
  • FACT_ACCOUNT_PROFITABILITY — ROE per account
  • FACT_PRODUCT_METRICS — daily product KPIs
  • FACT_GL_JOURNAL — P&L, Balance Sheet

Fintech, Insurance & Investment

  • FACT_FINTECH_TRANSACTION — merchant settlement
  • FACT_LOYALTY_POINTS — earn/redeem/expire
  • FACT_MERCHANT_DAILY_SUMMARY — basket analytics
  • FACT_INSURANCE + FACT_CLAIM + FACT_CLAIM_PAYMENT
  • FACT_INVESTMENT — NAV, unrealised P&L
Product Taxonomy 60+ Products · 6 Categories
DEPOSITS
  ├── Transaction Accounts
  │     ├── PCB Cheque Account        ├── PCB Gold Cheque       ├── PCB Platinum Cheque
  │     └── PCB Business Cheque
  ├── Savings Accounts
  │     ├── PCB MySave Account        ├── PCB Target Save       ├── PCB Notice Deposit
  │     └── PCB Money Market
  └── Fixed Deposits
        ├── PCB Fixed Deposit (32/60/90/182/365 day)        └── PCB Offshore Fixed Deposit

LENDING
  ├── Home Loans
  │     ├── PCB Home Loan (variable)  ├── PCB Home Loan (fixed)  └── PCB Building Loan
  ├── Personal Finance
  │     ├── PCB Personal Loan         ├── PCB Salary Advance    └── PCB Revolving Credit
  ├── Vehicle Finance
  │     ├── PCB Vehicle Loan (new)    ├── PCB Vehicle Loan (used) └── PCB Fleet Finance
  └── Business Lending
        ├── PCB Business Term Loan    ├── PCB Invoice Finance   └── PCB Commercial Mortgage

CARDS
  ├── Credit Cards
  │     ├── PCB Classic Credit        ├── PCB Gold Credit       ├── PCB Platinum Credit
  │     └── PCB Business Credit
  └── Debit & Prepaid
        ├── PCB Debit Card            ├── PCB Prepaid Visa      └── PCB Virtual Card

INVESTMENTS
  ├── Unit Trusts
  │     ├── PCB Equity Fund           ├── PCB Balanced Fund     └── PCB Money Market Fund
  ├── Bonds & Securities
  │     ├── SA Government Bonds       ├── PCB Corporate Bonds   └── Eurobonds
  └── FX/Treasury
        ├── Spot FX                   ├── Forward Contracts     └── Currency Swaps

INSURANCE
  ├── Life & Disability
  │     ├── PCB Life Cover            ├── PCB Disability Cover  └── PCB Critical Illness
  ├── Short-Term
  │     ├── PCB Home Insurance        ├── PCB Vehicle Insurance └── PCB Business Insurance
  └── Credit Life
        ├── PCB Loan Protection       └── PCB Credit Card Protection

DIGITAL / FINTECH
  ├── Digital Banking
  │     ├── PCB Online Banking        ├── PCB Mobile App        └── PCB USSD (*120*PCB#)
  ├── Payment Solutions
  │     ├── PCB Instant Pay (RTC)     ├── PCB QR Pay            └── PCB PayToYou
  └── API Banking
        ├── PCB Open Banking API      └── PCB Embedded Finance SDK
Full Table Catalogue
Table NameLayerDomainEst. RowsPartitionRefresh
bronze_customersBronzeCustomer500Konboarding_dateDaily
bronze_accountsBronzeAccounts1.2Mopen_dateDaily
bronze_transactionsBronzeTransactions10M+transaction_dateHourly
bronze_loansBronzeLending300Korigination_dateDaily
bronze_paymentsBronzePayments500Kpayment_dateDaily
bronze_credit_cardsBronzeCards144Kissued_dateDaily
bronze_card_transactionsBronzeCards2Mtx_dateHourly
bronze_fraud_alertsBronzeRisk50Kalert_dateReal-time
bronze_treasury_tradesBronzeTreasury250Ktrade_dateDaily
bronze_gl_entriesBronzeFinance5Mposting_dateDaily
bronze_aml_alertsBronzeCompliance30Kalert_dateDaily
bronze_branchesBronzeInfrastructure200Monthly
bronze_employeesBronzeHR12KDaily
bronze_insurance_policiesBronzeInsurance180Kissue_dateDaily
silver_customersSilverCustomer500KprovinceDaily
silver_accountsSilverAccounts1.2Maccount_typeDaily
silver_transactionsSilverTransactions10M+transaction_dateHourly
silver_loansSilverLending300Kloan_typeDaily
silver_paymentsSilverPayments500Kpayment_dateDaily
silver_card_transactionsSilverCards2Mtx_dateHourly
silver_fraud_alertsSilverRisk50Kalert_dateDaily
silver_aml_casesSilverCompliance30Kcase_statusDaily
dim_customerGoldCustomer500KprovinceDaily SCD2
dim_accountGoldAccounts1.2Maccount_typeDaily SCD2
dim_productGoldProducts60+Weekly SCD1
dim_dateGoldTime7.3KStatic
dim_branchGoldInfrastructure200provinceMonthly
dim_merchantGoldFintech50KDaily
fact_transactionGoldTransactions10M+tx_date, tx_typeHourly
fact_loan_portfolioGoldLending300K/daysnapshot_dateDaily
fact_fraud_eventGoldRisk50Kalert_dateReal-time
fact_aml_caseGoldCompliance30Kcase_dateDaily
fact_treasury_positionGoldTreasury250Kposition_dateDaily
fact_gl_journalGoldFinance5Mperiod, entityDaily
fact_insuranceGoldInsurance180Kissue_dateDaily
fact_loyalty_pointsGoldFintech2Mtx_dateDaily
Legend
Bronze — Raw ingestion, schema-on-read, Auto Loader
Silver — Cleansed, deduplicated, PII-masked, enriched
Gold — Star schema, SCD2, analytics-ready
Dimension — Descriptive context, surrogate keys
Fact — Measurable events, partitioned, Z-ordered
Fintech — Third-party integration layer
Regulatory — Compliance & governance tables
PK = Primary Key  ·  FK = Foreign Key  ·  SCD2 = Slowly Changing Dimension Type 2  ·  UK = Unique Key