Skip to content

Financial Domain

Banking domain with accounts, transactions, loans, and fraud detection.

Tables

Table Rows (small) Description
branch 200 Bank branches with locations
transaction_category 40 Transaction category hierarchy
customer 1,000 Bank customers with credit tiers
account 2,200 Checking, savings, investment accounts
card 1,760 Credit/debit cards linked to accounts
transaction 10,000 Deposits, withdrawals, transfers, payments
loan 400 Mortgages, auto, personal, student loans
loan_payment 4,800 Monthly loan payments
fraud_flag 200 Suspicious transaction flags
statement 13,200 Monthly account statements

Quick Start

from sqllocks_spindle import Spindle, FinancialDomain

result = Spindle().generate(domain=FinancialDomain(), scale="small", seed=42)
print(result.summary())

Key Features

  • Pareto-distributed transaction frequency per account (heavy-tail spending)
  • Log-normal balance and amount distributions matching real banking data
  • Credit tier distribution (Excellent 22%, Good 35%, Fair 28%, Poor 15%)
  • Multi-channel transactions (Online, Mobile, ATM, Branch, Phone, Wire)
  • Fraud flag generation with risk scores and resolution tracking
  • Loan payment split into principal and interest portions via formula

Scale Presets

Preset customer transaction
fabric_demo 100 1,000
small 1,000 10,000
medium 50,000 500,000
large 500,000 5,000,000
xlarge 5,000,000 100,000,000
warehouse 10,000,000 2,000,000,000