Finance AML Transaction Alerts

This dataset contains synthetic banking transactions annotated with anti-money laundering (AML) alert flags, detailed reason codes, and customer risk information. It is designed to support the development and evaluation of compliance models, enabling detection of suspicious activities and regulatory reporting. The dataset includes transaction details, alert triggers, and customer risk profiles for comprehensive AML analytics.

  • opened 5 times
  • last updated 29 Jul 2025
  • by GoMask
The brief that made it

Training and testing AML detection models

Sample rows

preview · 8 of 200 rows · all 18 columns
transaction_idstringcustomer_risk_levelstringtransaction_amountfloatalert_flagbooleancustomer_countrystringaccount_idstringcustomer_idstringtransaction_datetimedatetimecurrencystringtransaction_typestringcounterparty_account_idstringcounterparty_bank_namestringtransaction_descriptionstringalert_labelstringalert_reason_codestringbranch_idstringis_internationalbooleanalert_reason_descriptionstring
TXN000001unknown0falseUSACC0001CUST0012022-12-31T00:00:01ZUSDdepositblankblankMicro-deposit for account verificationnoneblankBR001falseblank
TXN000002low25.47falseDEACC0002CUST0022023-01-15T09:12:15ZEURwithdrawalblankblankATM withdrawalnoneblankBR002falseblank
TXN000003low450falseJPACC0003CUST0032023-02-01T16:45:03ZJPYpaymentblankblankOnline retail purchasenoneblankBR003falseblank
TXN000004medium2500falseUSACC0001CUST0012023-03-01T10:25:36ZUSDtransferACC0005Bank of CanadaFamily support transfernoneblankBR001trueblank
TXN000005unknown0.99falseUKACC0004CUST0042023-04-10T12:22:10ZGBPdepositblankblankTest micro-depositnoneblankBR004falseblank
TXN000006high1250000trueSGACC0005CUST0052023-05-15T23:59:59ZSGDtransferACC0010HSBC SingaporeBusiness capital transferhigh-valueAML-HV-01BR005trueTransaction amount exceeds regulatory high-value threshold.
TXN000007low110.25falseUSACC0006CUST0062023-06-21T18:35:47ZUSDpaymentblankblankUtility bill paymentnoneblankBR001falseblank
TXN000008high9999999.99trueCHACC0007CUST0072023-07-04T11:11:11ZCHFtransferACC0011Credit SuisseLarge international transferstructuringAML-STR-21BR006trueMultiple high-value transfers detected within short period.

What the 200 rows show

from the 200-row sample

High (customer risk level) stands out: 38 of its 38 rows have alert_flag = true, against 1 of 162 for the rest.

  • 20%alert_flag = true
  • 332.9median transaction_amount
  • 5transaction types
  • 5alert labels
  • 11currencies
Alert flag rate by customer_risk_levelalert_flag = true
0%50%100%0%low0 of 682%medium1 of 65100%high38 of 380%unknown0 of 29

High (customer risk level)'s mean transaction_amount is 2,998,419, against 205.3 for low, 2,801 for medium and 0.29 for unknown.

transaction_amount200 rows, in bands of 1M
09519018143101022605M10Mtransaction_amount →

Median 332.9, from 0.0 to 10,000,000.

customer_country200 rows · top 10 of 14 values
  1. US58
  2. SG22
  3. DE17
  4. CA17
  5. JP14
  6. UK13
  7. CH13
  8. AU13
  9. FR12
  10. IN10
18 columns by typefrom the column list below
  • string 14
  • float 1
  • datetime 1
  • boolean 2

Columns

18 columns in four groups
blueprint · 18 columns
columntypedescriptionexample
Text 14 columns
transaction_idstringUnique identifier for the banking transactionuniqueTXN000001
account_idstringUnique identifier for the account involved in the transactionACC0001
customer_idstringUnique identifier for the customer associated with the accountCUST001
currencystringISO 4217 currency code for the transaction (e.g., USD, EUR)11 currenciesUSD
transaction_typestringType of transaction (e.g., deposit, withdrawal, transfer, payment)deposit · withdrawal · transfer · payment · otherdeposit
counterparty_account_idstringIdentifier for the counterparty account (if applicable, e.g., for transfers)optionalACC0005
counterparty_bank_namestringName of the counterparty bank (if applicable)optionalBank of Canada
transaction_descriptionstringFree-text description or memo for the transactionoptionalATM withdrawal
alert_labelstringLabel or category of the AML alert (e.g., structuring, high-value, suspicious-country, none)6 values · optionalnone
alert_reason_codestringDetailed reason code for the AML alert, referencing compliance rulesoptionalAML-HV-01
alert_reason_descriptionstringHuman-readable description explaining why the alert was triggeredoptionalTransaction amount exceed…
branch_idstringIdentifier for the bank branch where the transaction was initiatedoptionalBR001
customer_countrystringCountry of the customer involved in the transactionoptionalUS
customer_risk_levelstringRisk level assigned to the customer (e.g., low, medium, high)low · medium · high · unknown · optionalunknown
Numbers 1 column
transaction_amountfloatMonetary amount of the transaction0 or more0
Dates and times 1 column
transaction_datetimedatetimeDate and time when the transaction occurred2022-12-31T00:00:01Z
True or false 2 columns
alert_flagbooleanIndicates whether the transaction triggered an AML alertfalse
is_internationalbooleanIndicates if the transaction is internationaloptionalfalse

Use it for

  • alert flag20%39 of 200 rowsmean transaction amou…205.3low2.8kmedi…3Mhigh0.29unkn…

    A finance dashboard

    The alert_flag rate, transaction_amount by customer_risk_level and a breakdown of customer_country. Excel, Power BI or Tableau.

  • Why do 39 of 200 rows have alert_flag = true?

    A root-cause class exercise

    Hand out the rows and one question. The answer is in the data, not in the brief.

  • A software demo

    Believable transactions with account_id, customer_id and transaction_datetime to fill a screen in front of a buyer.

Not quite right?

Make it yours.

Same 18 columns, your size and your rules. See 20 rows before you pay.

Preview 20 rows free

1,000 rows: $1.99 · 10,000: $12.99One-time. No subscription. All prices

This dataset200 rows18 columns
Yours1,000 rows18 columnsbranch_id: UK only

blueprint · finance-aml-transaction-alerts

Behind this dataset

Same schema. As many rows as you need.

These 200 rows came out of a blueprint — 18 columns with generation rules behind each one. Open it in Data Factory to retune a column, add your own, wire in foreign keys, and run it at the size you actually need.

Rules it was built with
  • High value and cross-border flagged
  • Alerts have reason code and severity
  • Linked transactions grouped by AML case
  • Account profiles anonymized
Rows
Open the blueprint in Data Factory

1 credit per row. Preview 20 rows free. Buy rows for the full run.

Exports
CSV, JSON, JSONL, Parquet, SQL, Excel, TSV, XML
Licence
yours to use, including commercially
API slug
finance-aml-transaction-alerts

What should your data show?

Preview 20 rows free
No signup. No card.