Financial Transaction Fraud Features

This dataset provides a detailed, feature-rich record of synthetic banking transactions, including transaction metadata, account and merchant information, contextual behavioral features, and fraud labels. It is ideal for developing, training, and benchmarking machine learning models for fraud detection and anomaly analysis in financial services.

  • opened 14 times
  • last updated 12 Jul 2025
  • by GoMask
The brief that made it

Supervised and unsupervised machine learning for fraud detection

Sample rows

preview · 8 of 200 rows · all 19 columns
transaction_idstringtransaction_typestringtransaction_amountfloatis_internationalbooleanmerchant_categorystringaccount_idstringtransaction_datetimedatetimecurrencystringmerchant_idstringdevice_idstringchannelstringlocation_citystringlocation_statestringlocation_countrystringprevious_transactions_24hintegeravg_transaction_amount_7dfloataccount_age_daysintegeris_fraudbooleanfraud_typestring
TXN000001purchase54.33falsegroceriesACC100012023-11-04T14:23:55ZUSDMRC10001DEV20001POSChicagoILUS138.2875falseblank
TXN000002refund0trueelectronicsACC100022023-11-04T08:45:01ZEURMRC10002DEV20002onlineBerlinBEDE002truefake_merchant
TXN000003purchase137.9falseclothingACC100012023-11-04T16:03:30ZUSDMRC10003DEV20001onlineChicagoILUS290.11875falseblank
TXN000004transfer2500trueblankACC100032023-11-03T18:11:04ZJPYblankDEV20003onlineTokyoTKJP1188011falseblank
TXN000005purchase101.35falserestaurantsACC100042023-11-02T09:53:21ZGBPMRC10004DEV20004POSLondonENGGB21201053falseblank
TXN000006refund0falseelectronicsACC100052023-11-03T13:29:42ZUSDMRC10005DEV20005onlineSan FranciscoCAUS000falseblank
TXN000007payment800falseutilitiesACC100062023-11-04T12:10:15ZUSDMRC10006DEV20006branchHoustonTXUS1465300falseblank
TXN000008purchase1500000trueelectronicsACC100072023-11-03T09:41:12ZJPYMRC10007DEV20007onlineOsakaOSJP001truecard_not_present

What the 200 rows show

from the 200-row sample

Transfer (transaction type) stands out: 17 of its 17 rows have is_international = true, against 21 of 183 for the rest.

  • 19%is_international = true
  • 170.2median transaction_amount
  • 5fraud types
  • 6channels
  • 11currencies
  • 13location countries
Is international rate by transaction_typeis_international = true
0%50%100%9%purc…9 of …0%with…0 of …100%tran…17 of…4%depo…1 of …11%paym…2 of …46%refu…6 of …100%other3 of 3
transaction_amount200 rows, in bands of 1M
09519019051000000405M10Mtransaction_amount →

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

merchant_category140 rows with a value · 60 left blank
  1. electronics32
  2. groceries30
  3. clothing21
  4. restaurants19
  5. sports12
  6. utilities9
  7. education6
  8. travel6
  9. medical3
  10. entertainment2
19 columns by typefrom the column list below
  • string 12
  • integer 2
  • float 2
  • datetime 1
  • boolean 2

Columns

19 columns in four groups
blueprint · 19 columns
columntypedescriptionexample
Text 12 columns
transaction_idstringUnique identifier for each transactionuniqueTXN000001
account_idstringUnique identifier for the account involved in the transactionACC10001
currencystringCurrency code in ISO 4217 format (e.g., USD, EUR)11 currenciesUSD
transaction_typestringType of transaction (e.g., purchase, withdrawal, transfer, deposit)7 valuespurchase
merchant_idstringUnique identifier for the merchant or payee (if applicable)optionalMRC10001
merchant_categorystringCategory of the merchant (e.g., groceries, electronics, travel)10 categories · optionalgroceries
device_idstringIdentifier for the device used to initiate the transactionoptionalDEV20001
channelstringChannel through which the transaction was made (e.g., online, mobile, ATM, branch)6 valuesPOS
location_citystringCity where the transaction was initiatedoptionalChicago
location_statestringState or region where the transaction was initiatedoptionalIL
location_countrystringCountry where the transaction was initiated (ISO 3166-1 alpha-2 code)optionalUS
fraud_typestringType of fraud detected (if applicable), e.g., card_not_present, account_takeover5 types · optionalfake_merchant
Numbers 4 columns
transaction_amountfloatMonetary amount of the transaction0 or more54.33
previous_transactions_24hintegerNumber of transactions made by the account in the previous 24 hours0 or more · optional1
avg_transaction_amount_7dfloatAverage transaction amount for the account in the past 7 days0 or more · optional38.2
account_age_daysintegerNumber of days since the account was opened0 or more · optional875
Dates and times 1 column
transaction_datetimedatetimeDate and time when the transaction occurred2023-11-04T14:23:55Z
True or false 2 columns
is_internationalbooleanIndicates if the transaction is cross-border/internationalfalse
is_fraudbooleanLabel indicating whether the transaction is fraudulent (1) or not (0)false

15 SQL practice questions for the Financial Transaction Fraud Features

Written for this data and checked against it: 12 SQL and 3 Power BI exercises from beginner to advanced. Try the first three free; the practice kit has all 15, a starter .sql file and an answer key with every expected result.

  1. 01BeginnerFreeSELECT · WHERE · ORDER BY

    Fraudulent transactions list

    Return transaction_id, account_id, transaction_amount and fraud_type for every transaction where is_fraud equals 1. Order the results by transaction_id ascending.

    Tables: financial_transaction_fraud_features · your result: 4 columns, 25 rows
  2. 02BeginnerFreeDISTINCT · ORDER BY

    Distinct currencies

    Return the distinct currency values found in the data as a single column named currency, sorted alphabetically.

    Tables: financial_transaction_fraud_features · your result: 1 columns, 11 rows
  3. 03BeginnerFreeGROUP BY · COUNT

    Transactions per channel

    Count the transactions in each channel. Return channel and txn_count, ordered by txn_count descending and then by channel ascending.

    Tables: financial_transaction_fraud_features · your result: 2 columns, 6 rows
  1. 04Average amount by transaction typeBeginner
  2. 05Fraud count by countryPower BI
  3. 06Channels with high fraud rateIntermediate
  4. 07Amount size bucketsIntermediate
  5. 08Monthly transaction volumeIntermediate
  6. 09Accounts above overall average spendIntermediate
  7. 10International fraud ratePower BI
  8. 11Top accounts by spend within currencyAdvanced
  9. 12Previous amount per accountAdvanced
  10. 13Running fraud total by dateAdvanced
  11. 14Amount spikes versus 7-day averageAdvanced
  12. 15Fraud share by merchant categoryPower BI

Get the practice kit: the full dataset, all 15 exercises, a starter .sql and the answer key. One-time $3.99.

Get the practice kit · $3.99

Use it for

  • is internation…19%38 of 200 rowsmean transaction amou…109.9kpurc…598.5with…974.4ktran…359.2kdepo…

    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 38 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, transaction_datetime and transaction_amount to fill a screen in front of a buyer.

Not quite right?

Make it yours.

Same 19 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 rows19 columns
Yours1,000 rows19 columnslocation_city: UK only

blueprint · financial-transaction-fraud-features

Behind this dataset

Same schema. As many rows as you need.

These 200 rows came out of a blueprint — 19 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 have sender/receiver, amount, time
  • Fraud events occur at realistic rates
  • Geographic and device fingerprints included
  • Highly correlated features for difficult modeling
  • Regulatory-compliant data structure
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-features

What should your data show?

Preview 20 rows free
No signup. No card.