Financial Transaction Fraud Scenarios

This dataset provides detailed, labeled records of simulated financial transactions, including account, customer, merchant, and contextual data, with explicit fraud indicators and scenario types. It enables robust development, benchmarking, and evaluation of fraud detection models for banking and fintech applications, supporting both supervised and unsupervised analytics.

  • last updated 22 Jul 2025
  • by GoMask
The brief that made it

Training and evaluating machine learning models for fraud detection

Sample rows

preview · 8 of 200 rows · all 22 columns
transaction_idstringtransaction_typestringtransaction_amountfloatis_internationalbooleanmerchant_categorystringaccount_idstringcustomer_idstringtransaction_datetimedatetimecurrencystringmerchant_idstringmerchant_namestringdevice_idstringchannelstringlocation_citystringlocation_statestringlocation_countrystringip_addressstringis_fraudbooleanfraud_scenariostringprevious_transaction_idstringavailable_balancefloattransaction_descriptionstring
T100001purchase125.64falseelectronicsA10001C10012022-02-01T09:24:13ZUSDM1234BestBuyPOS-KJ8S3POSSan FranciscoCAUS192.168.5.13falsenoneblank4780.36Electronics purchase at BestBuy
T100002fee2.5falsebankingA10001C10012022-02-03T17:54:22ZUSDM9002Bank of PacificblankbranchSan FranciscoCAUSblankfalsenoneT1000014777.86Monthly maintenance fee
T100003withdrawal500falseblankA10002C10022022-03-17T14:02:10ZUSDblankblankATM-1AB34ATMNew YorkNYUSblankfalsenoneblank1500ATM cash withdrawal
T100004deposit2000falsecorporateA10003C10032022-04-01T10:13:49ZUSDM8888Acme CorpblankbranchSeattleWAUSblankfalsenoneblank8000Direct deposit payroll
T100005fee0.02falsebankingA10004C10042022-04-23T12:32:41ZUSDM9002Bank of PacificblankbranchBostonMAUSblankfalsenoneblank1999.98Round-up donation fee
T100006purchase56.32falsegroceriesA10005C10052022-05-15T15:23:15ZUSDM5555Trader Joe'sPOS-9JF76POSChicagoILUS10.20.30.41falsenoneblank3445.68Grocery purchase Trader Joe's
T100007withdrawal150falseblankA10006C10062022-06-02T18:47:51ZUSDblankblankATM-7GH45ATMHoustonTXUSblankfalsenoneblank525ATM withdrawal
T100008transfer1200trueblankA10001C10012022-06-03T13:27:00ZUSDblankblankWEB-X7HGHonlineSan FranciscoCAUS172.16.2.5falsenoneT1000023577.86International wire transfer

What the 200 rows show

from the 200-row sample

Transfer (transaction type) stands out: 20 of its 22 rows have is_international = true, against 9 of 178 for the rest.

  • 14%is_international = true
  • 83.7median transaction_amount
  • 5channels
  • 6fraud scenarios
  • 8currencies
  • 10location countries
Is international rate by transaction_typeis_international = true
0%50%100%0%paym…0 of 50%with…0 of …22%depo…8 of …91%tran…20 of…2%purc…1 of …0%refu…0 of …0%fee0 of …
transaction_amount200 rows, in bands of 2M
0951901881422306M12Mtransaction_amount →

Median 83.7, from 0.0 to 12,000,000.

merchant_category150 rows with a value · 50 left blank
  1. banking71
  2. electronics16
  3. retail14
  4. entertainment7
  5. food7
  6. corporate6
  7. groceries5
  8. furniture5
  9. payment4
  10. cryptocurrency3
22 columns by typefrom the column list below
  • string 17
  • float 2
  • datetime 1
  • boolean 2

Columns

22 columns in four groups
blueprint · 22 columns
columntypedescriptionexample
Text 17 columns
transaction_idstringUnique identifier for each transaction record.uniqueT100001
account_idstringUnique identifier for the account involved in the transaction.A10001
customer_idstringUnique identifier for the customer who owns the account.C1001
currencystringISO 4217 currency code for the transaction (e.g., USD, EUR).8 currenciesUSD
transaction_typestringType of transaction (e.g., payment, withdrawal, deposit, transfer, purchase).8 valuespurchase
merchant_idstringUnique identifier for the merchant or recipient involved in the transaction, if applicable.optionalM1234
merchant_namestringName of the merchant or recipient, if applicable.optionalBestBuy
merchant_categorystringCategory or industry of the merchant (e.g., groceries, electronics, travel).optionalelectronics
device_idstringIdentifier of the device used to initiate the transaction, if available.optionalPOS-KJ8S3
channelstringChannel through which the transaction was made (e.g., online, mobile, ATM, POS, branch).6 valuesPOS
location_citystringCity where the transaction was initiated.optionalSan Francisco
location_statestringState or region where the transaction was initiated.optionalCA
location_countrystringCountry where the transaction was initiated.10 countries · optionalUS
ip_addressstringIP address from which the transaction was initiated, if available.optional192.168.5.13
fraud_scenariostringType of fraud scenario detected (e.g., card-not-present, account-takeover, synthetic-identity, phishing, none).7 values · optionalnone
previous_transaction_idstringIdentifier of the previous transaction for this account, if available.optionalT100001
transaction_descriptionstringFree-text description or memo attached to the transaction.optionalMonthly maintenance fee
Numbers 2 columns
transaction_amountfloatMonetary amount of the transaction.0 or more125.64
available_balancefloatAccount balance immediately after the transaction.optional4780.36
Dates and times 1 column
transaction_datetimedatetimeTimestamp when the transaction occurred.2022-02-01T09:24:13Z
True or false 2 columns
is_internationalbooleanIndicates if the transaction is cross-border or international.false
is_fraudbooleanLabel indicating whether the transaction is fraudulent (true) or not (false).false

Use it for

  • is internation…14%29 of 200 rowsmean transaction amou…518.1paym…163.1with…726.4kdepo…3.1Mtran…

    A finance dashboard

    The is_international rate, transaction_amount by transaction_type and a breakdown of merchant_category. Excel, Power BI or Tableau.

  • Why do 29 of 200 rows have is_international = 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 22 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 rows22 columns
Yours1,000 rows22 columnslocation_city: UK only

blueprint · financial-transaction-fraud-scenarios

Behind this dataset

Same schema. As many rows as you need.

These 200 rows came out of a blueprint — 22 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
  • Transactions vary by amount, merchant type, and location
  • Fraudulent transactions exhibit specific patterns (e.g., high frequency, foreign location)
  • Customer account features included (age, tenure, balance)
  • Imbalanced classes: 98% non-fraud, 2% fraud
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
financial-transaction-fraud-scenarios

What should your data show?

Preview 20 rows free
No signup. No card.