Expand description
§synth-banking
KYC/AML banking transaction generator for synthetic data.
This crate provides comprehensive banking transaction simulation for:
- Compliance testing and model training
- AML/fraud detection system evaluation
- KYC process simulation
- Regulatory reporting testing
§Features
- Customer Generation: Retail, business, and trust customers with realistic KYC profiles
- Account Generation: Multiple account types with proper feature sets
- Transaction Engine: Persona-based transaction generation with causal drivers
- AML Typologies: Structuring, funnel accounts, layering, mule networks, and more
- Ground Truth Labels: Multi-level labels for ML training
- Spoofing Mode: Adversarial transaction generation for robustness testing
§Architecture
The crate follows a layered architecture:
BankingOrchestrator (orchestration)
↓
Generators (customer, account, transaction, counterparty)
↓
Typologies (AML pattern injection)
↓
Labels (ground truth generation)
↓
Models (customer, account, transaction, KYC)§Usage
ⓘ
use datasynth_banking::{BankingOrchestrator, BankingConfig};
let config = BankingConfig::default();
let mut orchestrator = BankingOrchestrator::new(config, 12345);
// Generate customers and accounts
let customers = orchestrator.generate_customers();
let accounts = orchestrator.generate_accounts(&customers);
// Generate transaction stream
let transactions = orchestrator.generate_transactions(&accounts);Re-exports§
pub use models::BankAccount;pub use models::BankTransaction;pub use models::BankingCustomer;pub use models::CounterpartyPool;pub use models::KycProfile;
Modules§
- generators
- Generators for banking synthetic data.
- labels
- Ground truth label generation module.
- models
- Banking-specific models for KYC/AML synthetic data generation.
- personas
- Behavioral persona blueprints module.
- typologies
- AML typology injection module.
Structs§
- Banking
Config - Configuration for banking data generation.
- Banking
Data - Generated banking data result.
- Banking
Orchestrator - Banking data generation orchestrator.
- Banking
Orchestrator Builder - Builder for BankingOrchestrator.
- Banking
Output Config - Banking output configuration.
- Compliance
Config - Compliance configuration.
- Generation
Stats - Generation statistics.
- Merchant
Category Code - Merchant Category Code (MCC) classification.
- Population
Config - Population configuration.
- Product
Config - Product configuration.
- Sophistication
Distribution - Sophistication level distribution.
- Spoofing
Config - Spoofing (adversarial) configuration.
- Typology
Config - AML typology configuration.
Enums§
- AmlTypology
- AML typology classification.
- Bank
Account Type - Type of bank account.
- Banking
Customer Type - Type of banking customer.
- Direction
- Transaction direction.
- Laundering
Stage - Money laundering stage.
- Risk
Appetite - Risk appetite level.
- Risk
Tier - Customer risk tier for KYC purposes.
- Sophistication
- Sophistication level of the AML pattern.
- Transaction
Category - Transaction category for behavioral analysis.
- Transaction
Channel - Transaction channel (how the transaction was initiated).