PersonaAgent: Retrieval-Augmented Transaction Anomaly Scoring with Refreshable Multi-Entity Persona Memory
Organizations: Case Western Reserve University, Cleveland, OH, USA · Visa Research, Foster City, CA, USA · Visa Research, Austin, TX, USA
Abstract
In large-scale payment networks, entities (card, merchant, etc.) and their interactions play a key role in transaction anomaly detection. However, transaction patterns between different entities usually change more frequently than the production model refresh schedule. Meanwhile, entity embedding tables suffer from high-cardinality and sparse interaction issues. To resolve the above challenges, we present PersonaAgent, an agentic transaction anomaly detection framework which represents the latest entity behavior signals as personas and saves them in a refreshable memory. Offline, a weekly scheduled batch job is used to extract the latest behavior signals and update them in the memory. At inference time, a lightweight adapter retrieves the corresponding entity behavior signals of each transaction from memory and uses them to augment the base anomaly classifier's scoring. Through comprehensive benchmarking with different anomaly detection models at Visa, PersonaAgent is able to score transactions efficiently (a 1,000-transaction CPU batch in 1-2 ms), lifting the PR-AUC by 0.65-6.58% and the production business metric by 8.93-14.24% relatively in deployment.
Figures & tables
| Persona view | Key | Main signal families |
|---|---|---|
| Card Spending Behavior Summary | Summary key | Aggregates over twelve months of eligible history; relative and temporal transforms; concentration and diversity; activity distributions (the card’s shares of eligible historical activity) over 56 Merchant topics, 19 MCC topics, and nine Location topics |
| Merchant topic | One of 56 topics | Merchants grouped within the parent MCC topic; authorization behavior, channel, cross-location activity, historical transaction-size patterns, outcomes available by cutoff , support, peer-relative deviation, and parent-topic aggregates |
| MCC topic | One of 19 topics | Prior-period levels, trends, recent-to-long-run ratios, robust (outlier-resistant) deviations, ranks, and population-relative behavior |
| Location topic | One of 9 topics | Prior-period geographic behavior with the same temporal and population-relative families as MCC topics |
| MCC–Location interaction | One of up to MCC-topic–Location-topic interactions | Supported interaction or predefined MCC-topic/Location-topic fallback; temporal change and departures from the separate MCC and Location topic patterns |
| Stage | What is fitted or held fixed |
|---|---|
| Protocol design | Each candidate rebuilds memory and fits a temporary Detector 4 adapter for development evaluation. |
| Final fitting | The selected protocol governs persona construction; four final adapters are fitted and selected. One compatible package is frozen before Period 1. |
| Period 1 | The frozen package is evaluated on held-out offline transactions. |
| Period 2 | The same package scores live traffic; outcomes are joined later. No snapshot or adapter is replaced. |
| Detector | Period | BM1 | PR-AUC | AUC | |||
|---|---|---|---|---|---|---|---|
| 1 | Period 1 | ||||||
| Period 2 | |||||||
| 2 | Period 1 | ||||||
| Period 2 | |||||||
| 3 | Period 1 | ||||||
| Period 2 | |||||||
| Error | Transaction context | Persona evidence and alert change |
|---|---|---|
| FN | A money transfer with low group-view scores (Merchant pct15, MCC pct3, interaction pct9) and a $100–200 amount well below its Merchant topic’s usual level. | The spending-summary score was at pct99. PersonaAgent recovered this confirmed anomaly. |
| FN | A charge at a direct-marketing digital-goods merchant, with a spending-summary score at pct49 and a $100–200 amount well above its Merchant topic’s usual level. | The Merchant-view score was at pct90. PersonaAgent recovered this confirmed anomaly. |
| FP | A charge sharing the Merchant-topic record above, with view scores at pct90 (Merchant), pct55 (MCC), and pct44 (interaction), and an amount under $10. | The spending-summary score was at pct3. PersonaAgent withdrew this false alert. |
| FP | A transaction with Merchant- and interaction-view scores at pct83 and pct88 and an amount above $500, far above its Merchant topic’s usual level. | The spending-summary score was at pct7. PersonaAgent withdrew this false alert. |
Appendix figures & tables3 assets
Supplementary material from the paper’s appendix.
Appendix
| Condition | Observable evidence | Safe action |
|---|---|---|
| Incomplete or stale build | completeness/freshness checks | keep the last active release package |
| Sparse or unseen key | support and fallback-level indicators | use predefined fallback; preserve its level |
| Memory lookup unavailable | lookup health and timeout | return the frozen base score |
| Unexpected score shift | score-change and no-regression checks | halt activation or restore the prior release package |
| Field group | Information |
|---|---|
| Identity and time | Persona view; summary, topic, or interaction key; valid interval; construction cutoff; memory-snapshot and topic-scheme identifiers |
| Evidence | Eligible aggregate values; relative ratios; temporal change; population/topic-relative ranks and robust deviations |
| Reliability | Support, missing-value status, memory age, fallback eligibility, actual fallback level, and validation results |
| Topic construction | Design-time narrative-schema and embedding-configuration IDs, topic identity, parent identity, and identity-consistency status |
| Source tracking | Protocol ID, execution configuration, release metadata, input-data lineage, build identifier, and activation decision |
| Part | What it fixes | Example |
|---|---|---|
| Behavior signals, history windows, baselines, and support rules | cross-location share against a peer baseline | |
| Numerical-evidence coverage, narrative fields, and source-consistency checks | 4–6 selected behavior signals per narrative | |
| Semantic topic definitions, Merchant subdivision, and topic identities | behavior-feature clustering within an MCC topic | |
| Exact keys, minimum support, fallback order, and missing values | low-support pair falls back to a predefined marginal, here MCC-only | |
| Schema, cutoff-validity, freshness, drift, and compatibility checks | a stale build leaves the last validated package active |
Anomaly Detection
Anomaly detection finds rare or unexpected patterns in data, from defective products and system faults to fraud and security threats.
See all 689 papers