The Outlier Lab

Fraud Data Architecture

The data foundation for transaction fraud: event logging, decision logs, entity resolution, feature stores with point-in-time correctness, graph data, label stores, and retention.

Core components

Diagram: App and API events (login, change, funding, payout, redemption), Payment and ledger events (auth, settle, return, dispute), Vendor signals (device, email, phone, IDV, consortium), Ops events (reviews, case outcomes, enforcement), Event stream, Streaming aggregations (velocity, counters), Immutable event log / lake, Online feature store, Offline feature store (point-in-time), Entity resolution + graph store, Decision service, Decision log

1. Event logging: the money path as events

Log every state change on the money path, not just transactions. Minimum event families:

FamilyExample eventsWhy
Identity and accesssign-up, login success/fail, MFA challenge/result, session created, device enrolledATO and farming precursors
Account changesemail/phone/address change, password reset, payout destination added/changed, trusted contact changeHighest-signal precursors to payout loss (see Account Change Events)
Fundingbank link, ACH debit initiated, card load, check deposit, ACATS in, crypto depositWhere reversible value enters
Value movementpurchase, P2P send, trade, transfer between accounts, reward earnedWhere value moves
Money-outwithdrawal, payout, redemption, gift card issue, ACATS outWhere loss is realized
Settlement and reversalsettle, return (with code), dispute (with reason), chargeback outcome, recallLabels and exposure
Decisionsevery rule/model evaluation, score, action, reason codes, versionsReproducibility and audit
Opsqueue assignment, review decision, case notes (coded), enforcement, appealsLabels, QA, investigations
Customer contactsupport contact, channel, verification outcome, complaintSocial engineering and scam signals (see Customer Contact Signals)

Event design rules:

  • Make events immutable and append-only, with two timestamps: event_time (when it happened) and ingest_time (when you knew).
  • Use stable IDs for account, customer, device, instrument, payee, session and transaction, consistent across systems.
  • Set up a schema registry and data contracts with product teams. A renamed field silently breaks a fraud rule.
  • Capture attempts and failures as well as successes. Failed logins, declined payments and abandoned step-ups are signals.
  • Log the raw vendor response (or its hash plus key fields) with the vendor's version. Vendors change scoring under you.

2. The decision log

The decision log is the single most valuable fraud table. It holds one record for every decision point:

FieldPurpose
decision_id, txn/event id, timestampJoin keys
decision pointe.g., payout_request, ach_link, receipt_submit
inputs as servedFeature values actually used (or a pointer to a snapshot)
rules evaluated / fired, with versionsRule governance (see Rule Governance and Change Management)
model id, version, score, top reasonsModel Risk Management and explainability
vendor calls: latency, status, responseFallback analysis
action and reason codeApprove, decline, hold, step-up, review
treatment groupHoldout / champion-challenger assignment and propensity
latency breakdownSee Real-Time Decisioning Architecture

Without "inputs as served", you can't reproduce a decision. You can't defend it to a customer, a regulator or a court, and you can't detect training-serving skew.

3. Entity resolution and graph

Fraud rarely stays inside one account. Entity resolution links records that refer to the same real-world thing: person, household, device, bank account, card, address, payee.

  • Deterministic links: same instrument fingerprint, same verified bank account, same device ID, same normalized email.
  • Probabilistic links: similar names and addresses, shared IP ranges in time windows, behavioral similarity.
  • Graph store: nodes (accounts, devices, instruments, payees, addresses, emails, phones) and timestamped edges. It serves real-time features ("accounts sharing this payout destination in 30 days") and investigation views. See Graph Analytics, Entity Link Analysis, Device Reputation and Linkage.
  • Edge provenance and expiry: record why two entities were linked and when. Shared IPs in a campus or a mobile carrier's NAT pool create false rings.

4. Features: online, offline and point-in-time correctness

LayerServesRequirements
Streaming aggregatesVelocity counters (count/sum by entity over windows)Exactly-once or idempotent updates; late-event handling
Online feature storeLow-latency key lookups at decision timeSingle-digit-ms reads; freshness SLAs per feature
Offline feature storeTraining and backtestsPoint-in-time joins: values as they were at the decision timestamp, never later
Feature registryDefinitions, owners, lineageOne definition used both online and offline, to avoid training-serving skew

Useful feature families for transaction fraud (public overview; detailed feature lists live in members playbooks):

FamilyExamplesSee
Tenure and historyAccount age, time since last change, prior successful payouts to this destinationCustomer Tenure and History
VelocityBy account, device, instrument, payee and IP, over multiple windowsVelocity Signals
Change-to-money-out timingTime since contact or payout-destination changeAccount Change Events
Funding qualityShare of balance from unsettled or reversible fundsFunding Source Signals, Fast In Fast Out Patterns
GraphDegree, shared attributes with known-bad entities, cluster sizeGraph Analytics
Device and networkDevice and IP attributesDevice Fingerprinting, IP Reputation and Proxy Detection

5. Label store

Covered in Fraud Labeling and Feedback Loops. Architecturally, it's a versioned table keyed by transaction and entity, with event_time and label_time, label source, and supersession. It's joined to the offline store with time-aware logic.

6. Investigation and case data

Case Management Systems need read access to the event log, decision log and graph, and write-back of coded outcomes. Free-text-only case notes are a data dead end.

7. Retention, access and privacy

DataRetention driverNotes
SAR and supporting documentation5 years from filing (BSA)See BSA-AML and SAR Filing; restricted access
CIP records5 years after account closure (banks, broker-dealers)See KYC and Customer Identification Program (CIP)
Broker-dealer customer account recordsSEC/FINRA books-and-records requirements (e.g., FINRA 4512 retention of prior versions)See Broker-Dealer Obligations (FINRA and SEC)
Decision logsDispute windows, regulatory exams, model validation, litigation holdsUsually measured in years
Raw device and behavioral telemetryModel training, privacy minimizationShorter retention, aggregated features kept longer
Stored bank account numbersNacha data security: unreadable at rest for covered non-FI partiesTokenize or encrypt (see Nacha Rules and ACH Risk)

Apply purpose limitation, role-based access, and pseudonymized analytics views. Fraud-prevention exemptions in privacy laws don't mean "keep everything forever". See Privacy and Data Use in Fraud Prevention.

How to build it

StageWhat to build
CrawlCentralize money-path events in a warehouse; stable IDs; a basic decision log (decision, score, rules fired)
WalkEvent stream; streaming velocity counters; online key-value feature lookups; label table with two timestamps; vendor responses logged
RunFeature registry with shared online/offline definitions; point-in-time training sets; entity resolution and graph features; data contracts with product teams
FlyReal-time graph features; automated freshness and skew monitoring; replay of any decision from logs; privacy-aware access tiers

Build vs buy. Many fraud platforms bundle a feature store, rules engine and case manager. That's fast to start, but check you can export decision logs and features into your own lake, and that velocity windows and graph features are configurable. See Vendor Selection and Evaluation and Vendor Landscape. Open-source building blocks exist for streaming, feature stores and graph (see Open Source Tools for Fraud Teams).

Artifacts and templates

Data readiness checklist for a new money path

  • Every state change on the path emits an event with stable IDs and two timestamps
  • Attempts and failures are logged, not just successes
  • Decision point writes to the decision log, including inputs as served and versions
  • Velocity counters exist for account, device, instrument and destination
  • Reversal and settlement events (returns, disputes, recalls) are joined back to the originating event
  • Labels for this path have a defined source and maturity window
  • Retention and access set with compliance and privacy
  • Product schema changes require a fraud data-contract review

Data quality monitors

MonitorAlert when
Event volume per typeDrops or spikes vs seasonal baseline (often a logging break with no fraud behind it)
Null/default rate per featureRises above baseline
Feature freshnessOnline values older than SLA
Online/offline skewDistribution distance between served and recomputed values
ID join rateEvents failing to join to account/device/instrument
Vendor response rate and latencyTimeouts or empty responses rise

Metrics

  • Decision reproducibility rate: share of sampled decisions that can be exactly replayed from logs
  • Feature freshness SLA attainment and skew incidents per quarter
  • Event coverage: money-path state changes with events / total known state changes
  • Join coverage: losses and labels successfully joined to originating decisions
  • Time to new feature: idea to production, in days

Pitfalls

  • Logging only approved transactions. You lose attempts, declines and attack shape.
  • Recomputing training features from current tables. This causes point-in-time leakage.
  • Separate online and offline feature code. Training-serving skew is guaranteed.
  • No stable device or payee IDs. Linkage collapses and graph features become noise.
  • Treating vendor scores as immutable. Log versions; vendors retrain.
  • Retention by default. Keeping raw telemetry indefinitely raises privacy and breach exposure. Keeping decision logs for too short a time loses defensibility.

Sources and further reading