wealthschemaresourcesarticlesTraining fraud-detection ML on synthetic transaction data — the 95/5 architecture
Article

Training fraud-detection ML on synthetic transaction data — the 95/5 architecture

Synthetic data scales the legitimate-behavior layer of fraud training. The adversarial layer needs real signal and tight access controls. Both belong in the architecture.

WealthSchema StaffSynthetic data, R&DMay 9, 20263 min read

Synthetic data wins on privacy and bias control. Fraud detection is the one fintech ML domain where it cannot win alone. The reason is structural: adversarial signal lives in the long tail of transactions, the adversaries adapt, and a synthetic generator trained on legitimate-behavior distributions produces no realistic adversarial signal. A pure-synthetic fraud model under-performs in production by a margin that doesn't close with more data.

The production pattern that does work is 95/5. Synthetic data for the legitimate-behavior majority, a small curated real-fraud holdout for the adversarial layer. Below: the data shapes, the access controls around the 5% real-fraud carve-out, and the validation gates that make the hybrid defensible to security and compliance review.

What fraud-detection ML actually has to do

A production fraud-detection model has multiple layers, each with different signal requirements:

 LayerWhat it modelsData type best suited
Transaction velocityMultiple transactions in short windowsSynthetic — patterns are well-documented
Geo-anomalyTransactions from unusual locationsSynthetic — geography is preservable
Device / behavioralTyping patterns, device fingerprint, session sequencesMostly synthetic + real device data
Amount / merchant patternsUnusual amounts, unusual merchant categories for the cardholderSynthetic with realistic merchant distribution
Account-takeover signalLogin from new device + change password + change ship addressMostly real — adversarial sequence patterns are hard to synthesize
Synthetic-identity signalIdentity document inconsistencies, SSN-PII mismatchesMostly real — adversarial identity construction adapts to defenses
First-payment-default signalPatterns in the days/weeks before first defaulted paymentMostly real — outcome data is required

The split: legitimate-behavior modeling (the first four rows) is amenable to synthetic data. Adversarial-pattern modeling (the last three) needs real signal. A production model has both layers, and the data architecture has to provide both.

The 95/5 split

The architecture pattern that's converged across production fraud teams as of 2026:

  1. Layer 1
    Legitimate-behavior synthetic corpus
    95%+ of the training data. Synthetic transactions, customers, devices, sessions. Captures normal-behavior baseline. Refreshable, scalable, no privacy or PCI scope.
  2. Layer 2
    Adversarial real-data holdout
    5% or less of training data. Curated real fraud cases with the cardholder and identifying information stripped, retained in a high-control environment. Captures adversarial signal that synthetic can't reproduce.
  3. Layer 3
    Production telemetry
    Live signal from production used for ongoing model retraining. Subject to the same privacy and PCI controls as the adversarial holdout.
  4. Layer 4
    Synthetic adversarial augmentation
    Limited synthetic adversarial signal — known patterns synthesized to balance the training set. Useful for class balancing; not a replacement for real adversarial signal.

The legitimate-behavior layer is the largest by volume and the lowest by risk. It can scale freely. The adversarial layer is small, sensitive, and access-controlled.

The synthetic legitimate-behavior corpus

For fraud training specifically, the legitimate-behavior corpus needs:

Synthetic legitimate-behavior corpus requirements

  • Realistic transaction distributions per cardholder profile (mass-affluent vs working-class vs HNW have different patterns)
  • Merchant category code distributions matching real-world frequencies (groceries dominant, gas/auto/restaurant secondary, etc.)
  • Geo distributions matching real-world card-present and card-not-present patterns
  • Time-of-day and day-of-week patterns (lunch hours, weekend vs weekday)
  • Seasonality (Q4 holiday spikes, summer travel, tax-season anomalies)
  • Multi-card households (typical 3-5 cards, with card-specific usage patterns)
  • Recurring-transaction patterns (subscriptions, utilities, rent)
  • Card-not-present vs card-present distributions per card type

A synthetic corpus that ships with these properties supports the bulk of fraud-model training without privacy or PCI exposure. Ours runs roughly $0.50 per synthetic cardholder-month — affordable for any fraud team needing diverse coverage.

The adversarial holdout architecture

The 5% adversarial layer is where the engineering and compliance work is harder.

The architecture pattern:

  1. Stage 1
    Real fraud event capture
    Production fraud detection identifies a confirmed fraud event. Full transaction data captured into a controlled queue.
  2. Stage 2
    Tokenization at boundary
    PAN tokenized, full PII removed. Behavioral signal preserved (amounts, merchants, sequences, device patterns).
  3. Stage 3
    Curation and labeling
    Human-reviewed labeling — adversarial pattern type, severity, related-event linkage. Labels are themselves valuable for training.
  4. Stage 4
    Training-corpus addition
    Tokenized + labeled cases added to the adversarial corpus, available to model training in the high-control environment.
  5. Stage 5
    Refresh cadence
    Quarterly or monthly refresh of the corpus as new fraud patterns emerge. Model retraining triggered on material changes.

The adversarial corpus is small (low thousands of cases at most for a major issuer, growing with new fraud waves) but disproportionately valuable — most of the model's discriminative signal comes from this layer.

What gets validated where

The validation pattern for hybrid fraud models:

 Validation typeRun againstWhat it catches
Detection-rate validationHeld-out real fraud + held-out real legitimateWhether the model detects real fraud at acceptable false-positive rate
Synthetic-population sweepEngineered synthetic cases at known difficulty levelsWhether the model handles edge cases — unusual amounts, unusual merchants, geo-velocity
Adversarial-pattern coverageCurated real adversarial corpusWhether the model has seen each documented attack pattern
Fair-impact validationSynthetic cardholders across demographic spreadWhether the model has demographic-driven false-positive disparity

Each validation has its own data requirement. Engines that run only the first validation (against real data) miss the engineered edge cases that production fraud will eventually exercise.

Common implementation traps

Three patterns we see in fraud-detection deployments that produce post-deployment surprises:

Synthetic data with no adversarial layer. The team builds a clean synthetic corpus, trains a model, deploys it, and watches the model under-detect known fraud patterns. The synthetic distribution didn't include the adversarial tail; the model never learned to flag the patterns. Fix: add real adversarial holdout.

Real-data-only with no edge-case coverage. The team trains on production data only. The model performs well on patterns the production data contained and fails on patterns the production data didn't. Particularly: novel adversarial waves the production data is too old to include. Fix: synthetic engineered edge-case cases for forward-looking robustness.

No fairness validation. The team uses real data without demographic awareness. The model learns to use ZIP-coded census proxies as fraud signal. The fraud detection works statistically and produces disparate-impact false positives on protected classes. Fix: synthetic demographic-controlled fairness validation.

The architecture that survives audit and production is the same architecture in both cases: a synthetic legitimate corpus large enough to scale the legitimate-behavior layer, an access-controlled adversarial holdout small enough to govern the privacy and PCI surface, demographic-controlled fairness sets generated alongside, and the validation gates separated by layer (velocity, device, amount, account-takeover, synthetic-identity) rather than collapsed into a single F1 score.

Key takeaways

  • Pure-synthetic fraud training underperforms because adversarial signal lives in the tail. The production answer is hybrid — 95% synthetic legitimate behavior, 5% real adversarial holdout.
  • Synthetic legitimate-behavior corpora can scale freely, no privacy or PCI scope. Real adversarial corpora are small, access-controlled, and tokenized at the boundary.
  • The model has multiple layers — velocity, geo, device, amount/merchant, account-takeover, synthetic-identity. Different layers have different signal requirements.
  • Validation requires four batteries — detection-rate, synthetic edge case sweep, adversarial-pattern coverage, fair-impact. Engines running only one battery miss the others' bug classes.
  • Three common traps: synthetic-only (under-detects adversarial), real-only (under-handles edge cases), and no-fairness (disparate false-positive impact). The hybrid architecture addresses all three.

Frequently asked questions

What's the right adversarial-corpus size for a fraud-detection model?+
Smaller than people think. A few thousand high-quality, well-labeled adversarial cases provides meaningful signal; tens of thousands risks overfitting. The cap on useful corpus size is the carrier's actual fraud volume — if you only see 500 distinct patterns per year, having 50,000 examples doesn't add discriminative information. Quality of labeling matters more than raw count.
How do we keep the synthetic legitimate-behavior corpus current?+
Annual refresh against current real-world distributions is the floor. Quarterly is better for fast-moving payment categories (BNPL, fintech debit, crypto on-ramps). The refresh process: pull anonymized aggregate statistics from real production (no individual transactions, just histograms), recalibrate the synthetic generator's parameters, regenerate the corpus, validate against the new aggregates. The cycle is mostly automated; the human validation is the bottleneck.
What about generative adversarial networks for synthesizing adversarial signal?+
Theoretically attractive, practically limited as of 2026. GANs trained on real fraud can generate plausible-looking fraud patterns but tend to over-fit to the training distribution and miss novel adversarial waves. They're useful for class-balancing within a known pattern set; they don't replace the need for real adversarial signal for novel patterns. The hybrid architecture remains the right call.
Does the model architecture need to know whether each training example is synthetic or real?+
Some teams flag each example with a 'source' feature (synthetic / real) and let the model learn whether the source matters. This is fine for training but should be carefully evaluated — if the model uses 'source' as a discriminative feature, it's learned a shortcut that won't transfer to inference (where there's no source label). The cleaner pattern is to ensure synthetic and real have identical feature distributions and validate on real-only test sets.