Fintech

False Positives in AML Alerts: Measuring and Reducing Them

Antonio Evans10 min read

A split-scene illustration: on the left, a tall stack of identical alert cards rising from a desk; on the right, the same stack after sorting.
Key points

Key points

  1. 1Most AML programs run blind on precision: they know how many alerts they generate but not how many are actually worth investigating, and industry estimates cited by vendors put false positive rates above 90 percent.
  2. 2A defensible baseline needs four numbers per rule: alerts generated, alerts sampled, true alerts found, and analyst minutes spent, all measured over the same fixed window.
  3. 3A short written review rubric with three or four labels (true, false, undetermined, and optionally true-but-already-known) is the difference between a measurement you can audit and an opinion you cannot.
  4. 4Tune the rules with the worst precision times volume product first, then re-sample against the untouched baseline and report the change in true cases found, not just the drop in alert count.

Why precision is the missing metric

Transaction monitoring systems are built to catch everything, and they are rewarded for it. The economics push one way: a missed case of money laundering can mean fines, consent orders and personal liability, while a false alarm costs a few analyst minutes. The result is predictable. Vendors and practitioners commonly describe false positive rates above 90 percent in rules-based monitoring, with some estimates reaching 95 percent or higher per Flagright's analysis of the problem and Lucinity's review of alert waste.

Yet most compliance leaders never measure the denominator. They report alert volume to the board, headcount to finance, and case closures to internal audit. None of those tell you whether the queue is full of signal or noise.

The fix is to treat each monitoring rule as a product with a conversion rate. An alert is a lead. A case that an investigator confirms as genuinely suspicious is a conversion. Everything between the two is the cost of doing business, and that cost should be measured, priced and managed like any other operational input.

One documented framing of that cost comes from DataRobot's AML alert scoring accelerator, which notes that reviewing an alert typically costs between $30 and $70, and that a bank receiving 100,000 alerts a year therefore spends a substantial sum clearing them according to DataRobot's AML documentation. That figure is a vendor's illustration rather than a regulatory benchmark, but it is the right shape: your review cost is a real number, and multiplying it by your false positive count gives you the budget available for tuning.

Step one: baseline alert volume and throughput

Before you change a single threshold, build a baseline. You need to know what normal looks like so that any later change can be compared to it, and so that a genuine drop in noise is not confused with a drop in risk coverage.

Pull a fixed window. Ninety days is a good default: long enough to include month-end and quarter-end spikes, short enough that rules have not changed underneath you. If your rules changed inside the window, note it, and consider excluding those weeks or picking a cleaner period.

For each rule in production, extract:

  • Alerts generated in the window, by rule and by calendar week.
  • Alerts closed in the window, by disposition type (closed no action, escalated to case, SAR filed).
  • Backlog at the start and end of the window, by rule and by age bucket.
  • Analyst minutes recorded against each alert, from your case management system if it captures time, or from a weekly self-reported log if it does not.
  • Alerts per analyst per week, so you can see whether the queue is being worked at all.

The backlog is the number people skip. If a rule generates 2,000 alerts a quarter and 400 remain untouched after 60 days, its effective precision is unknown and its risk is hidden. An unworked alert is not a controlled alert, whatever the policy says. Regulators expect a risk-based approach with full audit trails on every disposition as Sumsub's transaction monitoring guide sets out, and a swelling backlog is one of the first things an examiner will probe.

A simple throughput table keeps the baseline honest:

MetricRule ARule BRule CTotal
Alerts in window1,8001,4003003,500
Alerts closed1,6201,3802953,295
Backlog at end180205205
Analyst minutes total12,9606,2101,18020,350
Minutes per alert8.04.54.05.8

Two things fall out immediately. Rule A is the biggest consumer of analyst time, and Rule C is the cheapest per alert. Until you know which of them actually produces confirmed suspicion, you cannot say whether either is worth its cost.

Step two: sample alerts and label them with a rubric

Sampling is where measurement programs usually die. Either nobody does it, or somebody reviews 12 alerts by memory and declares a rule "noisy." A documented sample with a written rubric survives audit, staff turnover and a change of opinion.

Design the sample

Use simple random sampling within each rule. If a rule generated 1,800 alerts in the window, a sample of 60 gives you a precision estimate with a margin of error of roughly 12 to 13 percentage points at 95 percent confidence when precision is near 10 percent. That is coarse. For a rule you intend to defend to an examiner, sample 100 to 150. For rules where you are only deciding whether to look closer, 40 to 60 is enough to rank them.

Stratify by disposition if you like, but do not let the sample be drawn only from closed alerts with favorable notes. That biases you toward the alerts analysts already found easy to clear.

Write the rubric first

The rubric is a one-page document with definitions and tie-breakers. Keep it to four labels:

  1. True: the alert describes activity that a reasonable investigator would escalate or investigate further, whether or not a SAR was ultimately filed.
  2. False: the alert is explained by documented, legitimate customer behavior with no unresolved suspicions.
  3. Undetermined: the data needed to decide is missing, stale or inaccessible. This is a data quality signal, not a rule signal.
  4. Known: activity already covered by an existing case or a prior SAR on the same customer. This is duplication, not detection.

The distinction between "true" and "SAR filed" matters. If you label by SAR outcome you will conflate rule quality with investigator judgment, and you will never tune anything. If you label by whether the alert was worth a human's attention, you measure the rule.

Two reviewers should independently label the first 30 items before the program scales. If they disagree on more than about a fifth of them, your definitions are not tight enough. Fix the rubric, not the reviewers.

Compute precision and cost per true case

With labels in hand, the arithmetic is straightforward:

precision        = true / (true + false + known)      # exclude undetermined from the base
undetermined_rate = undetermined / all_reviewed
minutes_per_true  = total_rule_minutes / true_count

Worked example using the numbers above. Suppose Rule A's sample of 100 labels resolves to 7 true, 85 false, 5 known and 3 undetermined. Precision is 7 divided by 97 resolved items, or about 7.2 percent. Rule A spent 12,960 minutes to generate roughly 126 true alerts (7.2 percent of 1,800), so it burns about 103 analyst minutes per true case.

Rule C's sample of 60 resolves to 9 true, 50 false and 1 known. Precision is 15 percent. Rule C spent 1,180 minutes to generate about 45 true alerts, so it costs roughly 26 analyst minutes per true case.

Now the comparison is not about volume. Rule A generates more true alerts in absolute terms because it is huge, but it costs four times as much per true case. That is a defensible finding, and it is one you can put in front of a regulator or a budget committee without hand-waving.

Step three: rank candidates by waste, not by alert count

The most common tuning mistake is to attack whichever rule generates the biggest number. Volume alone is a poor target, because a high-volume rule with decent precision is doing exactly what it should. Rank by the product of precision gaps and volume, or more simply by the analyst minutes spent per true case. High volume plus low precision is the target. Low volume plus low precision may just be a rule worth retiring. High volume plus high precision is the rule you protect.

A decision table helps make the call explicit:

Rule profileVolumePrecisionDecision
WorkhorseHighHighProtect it, do not touch thresholds without evidence
Noise engineHighLowPriority for threshold, field or suppression changes
Cheap nuisanceLowLowConsider retiring, or merge into another rule
Sleeping riskLowHighKeep, and check whether thresholds are too tight

That last category deserves attention. A low-volume, high-precision rule may be under-alerting, and tuning programs rarely look for that. If a rule fires 30 times a quarter and half of those are true, you may be sitting on a detection opportunity rather than a noise problem.

Two more signals belong in the ranking. First, the undetermined rate. If a third of a rule's alerts cannot be resolved because the customer profile or counterparty data is stale, the fix is a data enrichment project, not a threshold change. Incomplete or outdated customer data is a documented driver of false positives as Lucinity notes in its list of causes. Second, the known rate. High duplication means your case management is not linking alerts to existing cases, and you are paying analysts to rediscover what they already documented.

Step four: change the rule, then re-sample

Each tuning change should be a hypothesis with a predicted outcome. Write it down before you deploy. For example: "Adding the customer's stated business purpose as a suppression condition on the cross-border velocity rule will reduce alerts by roughly 40 percent while cutting true alerts by no more than 10 percent."

The mechanics of change fall into a few reliable categories:

  • Threshold adjustment: raise or lower the amount, count or velocity trigger. Cheap, fast, and the first thing everyone tries. It also has the bluntest effect on recall.
  • Segmentation: apply different thresholds by customer risk rating or business type, so a payroll processor and a retiree are not judged by the same rule. Risk-based segmentation is the core expectation of modern monitoring regimes as Fraudio's practitioner guide describes.
  • Contextual fields: add counterparty history, account age, expected activity or geography so the rule evaluates behavior rather than a single number. Lack of contextual awareness is repeatedly named as a primary cause of false positives per Alessa's review.
  • Suppression logic: exclude known recurring patterns such as scheduled supplier payments or payroll runs, with the exclusion itself documented and reviewable.
  • Consolidation: merge overlapping rules so one customer event produces one alert and one case, rather than five.

Whatever you change, the rule stays frozen for the measurement window. If you keep adjusting it weekly, you will never accumulate a clean comparison. After 60 to 90 days, re-sample the same way, with the same rubric, and compare four numbers against the baseline: alert volume, precision, true alerts found and minutes per true case.

The comparison is where most programs stop short. A drop in alert volume is not a result. A drop in alert volume with stable or improved true-alert yield is a result. A drop in alert volume with a fall in true-alert yield is a trade-off, and someone senior has to sign off on it, in writing, with the numbers attached. That sign-off is your defense.

Where AI fits, and where it does not

Machine learning models can score alerts so investigators work the highest-risk items first, which improves throughput without touching the detection rules at all. DataRobot's accelerator illustrates the pattern: train a model on historical alert data to predict which alerts lead to a SAR, then rank the queue by score as described in their documentation. This is additive and low-risk, because the rule set stays intact and the model only reorders.

Graph and network analytics go further, modeling relationships among accounts, devices and counterparties to find structures that per-transaction rules miss. The Bank for International Settlements' Project Aurora work on graph-based detection is often cited as evidence that new methods can find more laundering while cutting noise substantially as summarized by Facctum. Treat those numbers as directional, not as a promise for your data.

The case for modern detection is real, and the research literature on AI in financial crime argues that static threshold logic cannot adapt to changing behavior as this review in the Journal of Economic Criminology sets out. But every model you add is a model you must govern. Regulators hold institutions responsible for the conceptual soundness of any algorithm their systems use, including third-party ones, and expect documentation detailed enough for a knowledgeable outsider to reconstruct the model as Kaufman Rossin's BSA/AML model risk guidance explains. The OCC's model risk guidance, issued with the Federal Reserve and FDIC, stresses risk-based validation and monitoring and explicitly addresses vendor products per the OCC's announcement.

That has a practical consequence for tuning. If you add an alert-scoring model, the rubric from step two becomes your validation instrument. You can show that ranked-order review surfaced true cases faster, with a fixed sample and a fixed definition. Without that instrument, you have a vendor's slide, not a control.

Running the loop without breaking the audit trail

The measurement program is a control, so it needs the same discipline as the rules it governs.

Document the baseline once, then version it. Store the sampling frame, the random seed or method, the rubric, the reviewer IDs and the raw labels. If a rule change is challenged eighteen months later, this is the file that answers the question.

Keep a change log with predictions and outcomes. One line per change: rule, change type, date, predicted effect, measured effect, approver. This is the difference between tuning and tinkering.

Separate the roles. The person who tunes the rule should not be the only person who labels its alerts. Independence does not have to mean a full second-line review for every change, but at minimum the sample should be reviewed by someone outside the tuning team.

Report the small set of numbers that matter. Alerts per rule, precision, true alerts found, minutes per true case, backlog and undetermined rate. Six numbers per rule, quarterly, with the baseline alongside them. That report is worth more than a hundred slides about model sophistication.

Watch for the shift you cannot see. A tuning program that cuts noise can quietly cut coverage. If your precision rises but your true-alert count falls for several cycles in a row, the rules are drifting toward under-detection, and you should pull a fresh sample of transactions that did not alert to test that hypothesis. Few programs do this, and it is the single strongest evidence you can hold that tuning has not compromised effectiveness.

FAQ

FAQ

How many alerts should I sample per rule?

Aim for 100 to 150 for any rule you intend to defend or materially change, and 40 to 60 for rules you are only ranking. Precision near 10 percent has wide confidence intervals at small samples, so a 60 alert sample can tell you a rule is probably noisy but cannot cleanly separate a 7 percent rule from a 12 percent rule.

Should I label an alert true if no SAR was filed?

Yes, if the activity genuinely deserved investigation. Label by whether the alert was worth a human's attention, not by the downstream filing decision. Mixing the two conflates rule quality with investigator judgment and makes the precision figure uninterpretable.

What if my case management system does not record analyst time?

Use a weekly self-reported log for a fixed sample of alerts, and calibrate it once against a time-and-motion study of a handful of cases. A rough but consistent measure is far more useful than no measure, because you are comparing rules against each other, not billing a client.

How long after a rule change should I re-measure?

Wait 60 to 90 days, and freeze the rule for that period. Shorter windows are dominated by month-end effects and seasonal noise, and longer windows invite further changes that contaminate the comparison. If a change is clearly harmful, revert it, log the reversal, and restart the clock.

Can AI replace the manual sample?

Not for validation. A model can help triage, summarize case files and pre-label alerts, but the rubric-based human sample is the audit instrument that shows the model and the rules are working as intended. Regulators expect institutions to understand and document how their systems operate, including vendor models, and a labeled sample is the most direct evidence you can produce.

When the bottleneck is the labeling and summarization work itself, running many document and text models behind a single OpenAI-compatible endpoint removes the integration overhead; Quanta Inference provides that single API for text, image and embedding models, which is often the fastest way to stand up a pre-labeling pipeline before your reviewers do the final pass.

Sources

Sources

  1. Understanding False Positives in Transaction Monitoring - Flagright
  2. Reducing False Positives in Transaction Monitoring with AI
  3. Anti-Money Laundering (AML) Alert Scoring
  4. Transaction Monitoring in AML: Ultimate Guide For 2026
  5. AML Transaction Monitoring Guide: What It Is, How It Works ...
  6. Navigating False Positives and the Future of Transaction Monitoring
  7. False Positives In AML Compliance: Definition, Causes, And Solutions
  8. Role of AI in preventing financial crime: A comprehensive analytical review
  9. Managing AI model risk in financial institutions: Best practices for ...
  10. OCC Issues Updated Model Risk Management Guidance
About the author

About the author

Antonio Evans
Antonio Evans

Antonio Evans is the founder of Quanta Intelligence and a fractional CTO who builds HIPAA-ready AI systems for health and life-science companies. Before that he was technical co-founder of FriendsEAT for twenty years, CEO of Socialdraft, and a data engineer at IBM. Antonio lives with his dog Santino in Lisbon, Portugal.

All articles