A trade-based money laundering risk assessment tool does two jobs that are often sold as one: it rates the bank's trade finance exposure by customer, product and corridor, and it scores individual trades against red flags such as a unit price far outside the market for the goods. The first is what examiners start from; the second is what a second-line model risk function will want to validate, because a price band built from public trade statistics is a quantitative estimate with known weaknesses. Botminds' Trade-Based Money Laundering Detection uses such a band, built for each goods code from public trade statistics and the customer's own history, alongside agents that read documents and link parties. This page sets out what a validator should ask of each part, and what the published evidence says about where the answers are weak.
The worked figures come from a fictional sample bank, Corvane National Bank, and its sample trade data in the solution. Rules and research are linked where they are used.
Three published limits a price check has to live with
18–22%
of US export and import records in a month carry some editing by the Census Bureau, which corrects unit prices outside its own parameters
Quartile
cut-offs used to call a price suspicious are, in GAO’s word, somewhat arbitrary
2019
the year the Wolfsberg Group, ICC and BAFT said price verification from external data is not feasible except where a price is manifestly unusual
What is a TBML risk assessment tool?
A TBML risk assessment tool is software that rates how exposed a bank is to trade-based money laundering and where, and in most products it also scores transactions. The two meanings need separate validation, because they fail in different ways: a portfolio rating fails by putting the wrong customers in the low-risk bucket, and a transaction score fails by flagging the wrong trades or missing the right ones.
Two tools under one name, and what each is judged on
| Portfolio risk assessment | Transaction risk scoring | |
|---|---|---|
| What it rates | Customers, products, corridors and roles in the trade book | Each presentation, collection or reimbursement |
| Typical inputs | Customer due diligence, expected volumes and counterparties, jurisdictions, the bank’s role in each credit | Unit price against a band, route against a direct service, party links, document mismatches |
| Who uses the output | BSA Officer and the board; examiners choose their sample from it | Investigators and analysts, alert by alert |
| How it fails | A customer rated low whose trade has changed | False alerts that swamp the queue, or a threshold that hides the case |
| How it is tested | Against the bank’s actual customer base and its incidents | Back-testing on closed alerts and filed SARs, seeded cases, threshold sensitivity |
The Wolfsberg Group's trade principles describe the portfolio side in plain terms. Due diligence on a trade customer requires "an understanding of the business model, the principal counterparties, the countries where the counterparties are located and the goods or services that are exchanged, as well as the expected annual transaction volumes and flows" (Wolfsberg Group, ICC and BAFT, 2019). Those expectations are also what makes a transaction score possible: a price, a route or a counterparty can only be unusual against an expectation that was written down.
Where examiners start: the trade finance risk assessment
Examiners start from the bank's own risk assessment, and they choose what to test from it. GAO, describing the banking regulators' risk-focused approach, reports that a BSA/AML examination generally opens with a review of the bank's own money laundering and terrorist financing risk assessment (GAO-22-447). The FFIEC's trade finance procedures then make the portfolio rating the basis of the sample: "On the basis of the bank's risk assessment of its trade finance portfolio, as well as prior examination and audit reports, select a sample of trade finance accounts" (FFIEC, Trade Finance Activities, Examination Procedures).
That gives the portfolio tool a consequence a validator should state outright. If the tool rates a customer low, that customer is less likely to be in the examiner's sample and less likely to be in the bank's own monitoring focus. A rating built on stale due diligence, such as a customer whose goods, corridors or counterparties changed since onboarding, therefore misdirects both. The Wolfsberg principles expect "feed-back loops" from transactions into the customer profile for exactly this reason, and the solution's party and pricing findings are the kind of trigger events such a loop is meant to catch.
Is a price band a model?
It may be, and the bank's model risk function, not the vendor, should decide. The interagency model risk guidance that replaced SR 11-7 in April 2026 (OCC Bulletin 2026-13, Federal Reserve SR 26-2) defines a model as a complex quantitative method that applies statistical, economic or financial theory to turn input data into quantitative estimates. It excludes simple arithmetic such as spreadsheet calculations and deterministic rule-based processes, and it leaves generative and agentic AI outside its scope while the agencies prepare a request for information (OCC Bulletin 2026-13; SR 26-2). The guidance is expected to matter most to banking organisations with more than $30 billion in assets, and it does not set enforceable standards. How it applies to AML monitoring more widely is covered in AI in AML transaction monitoring.
A trade price check, piece by piece, against the 2026 model definition
Closer to a rule: Price per short ton to price per kilogram: arithmetic, testable line by line
Closer to a model: —
Closer to a rule: A fixed percentile range of published statistics, recomputed monthly
Closer to a model: Percentiles chosen, outliers trimmed and a window set by statistical judgment
Closer to a rule: Flag above 2.0× the band top: a deterministic rule
Closer to a model: A threshold tuned on outcomes, or a learned score that weights price with route and parties
Closer to a rule: The customer’s own prices for the same code, shown as a range
Closer to a model: An expected price predicted from the customer’s pattern
Closer to a rule: Retrieval with citations: each finding names the document it came from
Closer to a model: Generative and agentic AI, outside the guidance’s scope but not outside the bank’s governance
Read that way, the solution's price check sits on the line. The band is percentiles of published statistics for a goods code over a configurable window of 12, 18 or 24 months, which is close to arithmetic but rests on statistical choices about what to include. The flag is a fixed multiple of the band top, which is a rule. A careful bank would inventory the band as a model or as a tool with model-like risk, validate it once, and govern the thresholds through change control. Treating it as "just a rule" because the final step is a multiple would skip the step where most of the risk lives, which is the data.
How reliable is public trade data for price checks?
Public trade data are good enough to show that a price is wildly out of line and not good enough to show that a price is wrong. GAO's review of unit-price analysis gives three reasons, from the literature and from the Census Bureau itself. The data are edited before publication: the Census Bureau corrects raw unit prices that fall outside its own parameters, and "Of the total amount of export and import records in a specific month, roughly 18 percent to 22 percent contain some type of editing." The benchmark is a choice: "the use of lower- or upper-quartile as price filters is somewhat arbitrary," and a lower benchmark "would, in most product categories, produce more prices flagged as suspicious." And mispricing is not all laundering, because the estimates "also include other types of illicit activities in addition to TBML, such as income tax avoidance or evasion" (GAO-20-333).
The first point matters more than it looks. A tool that looks for extreme unit prices is working on data in which some extreme unit prices have already been corrected away. GAO notes that this creates issues for an analysis that relies on identifying extreme unit prices, and it means the band describes edited statistics, not the raw declared prices of individual shipments. FATF and the Egmont Group add the commercial caveat in a footnote to their indicators: determining a margin may require estimating the "fair price" of a commodity, "which may be difficult for certain types of commodities (e.g. commodities not traded on the open market)" (FATF and Egmont, TBML Risk Indicators, 2021).
The industry's own standard goes further, saying banks are generally not in a position to judge the legitimacy of unit prices from external data, except where a price looks manifestly unusual. That is the right limit for the tool's output: a price far outside the band is a reason to ask, not a finding. How a unit-price band is built, step by step, works through the arithmetic on the sample alert.
The band a validator will ask about, opened at its source

The validation questions, in order
A validator's questions follow the data from its source to the decision it informs. The list below is the one we would ask of any TBML tool's price check, the solution's included; each item names the failure it is there to catch.
Eight questions to ask of a TBML price check before relying on it
- Where does each band come from, and when was it rebuilt?
Source, release, window and refresh date for every goods code. A band nobody can trace cannot be defended in an examination.
- What is the minimum number of observations?
Thin codes give wild bands. The solution refuses any code with fewer than 40 observations in 12 months and sends it to an analyst.
- How are units normalised?
Short tons, metric tons, pieces and dozens produce false multiples if converted wrongly; the conversion must be visible on the alert.
- Which percentiles, and why those?
GAO calls quartile filters somewhat arbitrary. The bank should record why it chose its cut-offs, and test a second choice.
- How was the threshold set?
On outcomes, with the trade-off written down: flags removed against cases that would have been missed.
- Does it compare the customer with itself?
A price out of band for the market but in line with ten years of the customer’s own trade is a different alert from one that is new.
- What happens when the data are missing or stale?
The tool should say so on the alert, and an alert should not close on a check that did not run.
- How is drift watched after go-live?
Flag rates, clearance rates and overrides by rule, reviewed on a schedule with a named owner.
How is a unit-price check validated on the bank's own files?
A unit-price check is validated by running it over trades whose outcome the bank already knows and recording what it would have flagged, missed and cleared. No regulator has published an accuracy benchmark for TBML tools, so the bank's own history is the only benchmark that applies to its book. Three tests do most of the work. A back-test runs the check over 12 months of closed alerts and filed reports and counts how many of the cases that became escalations it would have raised. A seeded test plants known mispricings, including unit errors and specialty grades, and confirms each is caught or explained. A sensitivity test moves each threshold and writes down the trade-off.
At the sample bank the sensitivity test was a question to the solution's assistant: what would happen if the price rule moved from 2.0 times to 3.0 times the band top? Over the previous 12 months it would have raised 388 fewer flags and missed 2 of the 61 escalations that became cases. The change was proposed, not applied, and sent to the BSA Officer with those two cases attached, because a threshold change needs a second named person.
One threshold question, answered on the sample bank's own year
388
fewer price flags in 12 months if the rule moved from 2.0× to 3.0× the band top
2 of 61
escalations that became cases would have been missed at the higher threshold
612
flags the 2.0× price rule raised in 12 months, 71% of them cleared with a written explanation
The two missed cases are the point. A validator who sees only the fall in flags will approve the change; one who opens the two cases can judge whether those are the cases the bank exists to catch. The Wolfsberg Group's principles for AI and machine learning in financial crime compliance ask for the same discipline over time: firms "should incorporate a well-designed programme of ongoing testing, validation, and re-configuration to review AI/ML outcomes based on the intended purpose" (Wolfsberg Group, AI/ML Principles, 2022).
Agents and the model inventory
The agents around the price check are where the 2026 guidance is silent, which does not make them ungoverned. Generative and agentic AI are outside its scope pending the agencies' request for information, so the controls come from the bank's own AI policy and from what the agents can be shown to do. Four controls make that showing possible in the solution, and a validator should ask for the evidence behind each.
Each agent's prompt and model version is pinned and changed only with the BSA Officer's approval, so a finding today can be reproduced next year. A confidence floor of 65% stops anything below it being called likely. Every finding names the document it came from, and a person can reject it with a reason, which removes it from the case and goes on the trail. And the agents' boundaries are written as limits, not tendencies: the Pricing agent never values a specialty grade without a document that names it; the Party agent never infers ownership; the Challenger agent never clears an alert when the proving document is absent.
Eighty-six red flags, each with its source, threshold, version and tuning date

What to ask a TBML tool vendor
A vendor's answers should be checkable on the bank's own data before the contract is signed. The questions below are the ones whose answers tend to separate a tool a second line can validate from one it cannot.
Questions for a TBML tool vendor, and what a good answer looks like
| Ask | A good answer | A warning sign |
|---|---|---|
| Which data build the price bands? | Named public sources with release dates, plus the bank’s own history, visible on each alert | “Proprietary market data” with no lineage |
| What does it do with thin goods codes? | Refuses to score below a stated observation count and says so | A score for every code, however rare |
| Can we run it over last year’s closed alerts? | Yes, in shadow, with flags, misses and clearances counted | Only on the vendor’s demonstration data |
| Who sets and changes thresholds? | The bank, with a second approver and a version on every rule | Thresholds set by the vendor and updated silently |
| How is each finding explained? | The passage and the document behind it, one click away | A score and a list of features |
| What can the system decide on its own? | Nothing: it proposes, people close, escalate and file | Auto-closure of alerts below a score |
The last row is the one to press. A tool that closes alerts on its own has moved a decision the bank answers for into a component the bank may not be able to explain. A tool that clears alerts only with a written reason and the document that proves it has made the closure easier to defend, not easier to skip. To see the bands, the agents and their limits on one sample alert, start at Trade-Based Money Laundering Detection; how technology divides a trade alert's tasks shows which ones the agents take.
Questions people ask
Does SR 11-7 still apply to TBML tools?
No. The interagency model risk guidance issued in April 2026 (SR 26-2 at the Federal Reserve, OCC Bulletin 2026-13) supersedes SR 11-7. It excludes deterministic rule-based processes and leaves generative and agentic AI outside its scope pending a request for information.
How do you set a TBML price threshold?
On outcomes. Run the candidate thresholds over at least a year of closed alerts and filed reports, count the flags each removes and the escalations each would have missed, open the missed cases, and record the choice with a second approver. Revisit it on a schedule, not only when the queue is too long.
How many observations does a price band need?
No regulator sets a number. The solution's default refuses goods codes with fewer than 40 observations in 12 months, with 60 or 100 as stricter options; whatever the bank chooses should be written into its model or tool documentation with the reason.
Can a bank rely on a vendor's validation?
Not alone. The Wolfsberg AI principles hold firms responsible for their use of AI whether it is built in-house or bought, and validation of a TBML tool has to show how it performs on the bank's own customers and goods. A vendor's documentation is an input to that work.
What data feed a TBML risk assessment?
For the portfolio view: customer due diligence, expected counterparties, goods, volumes and countries, and the bank's role in each product. For transaction scoring: the trade finance system, the payments hub, public trade statistics, vessel records and the customer's own history.