Payment Fraud Detection Dataset

This dataset contains detailed synthetic payment transaction records, each labeled with ground-truth indicators of fraud. It includes transaction metadata, customer and merchant identifiers, payment methods, device and location context, and fraud reasons, making it ideal for developing and benchmarking machine learning models for payment fraud detection and risk mitigation.

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

Training and evaluating machine learning models for payment fraud detection

Sample rows

preview · 8 of 200 rows · all 19 columns
transaction_idstringcustomer_genderstringamountfloatfraud_labelbooleanfraud_reasonstringtransaction_datetimedatetimecurrencystringcustomer_idstringmerchant_idstringpayment_methodstringdevice_idstringip_addressstringcustomer_countrystringmerchant_countrystringis_internationalbooleantransaction_statusstringentry_modestringmerchant_category_codestringcustomer_ageinteger
TXN000001female249.99falseblank2024-03-14T10:07:23ZUSDCUST0001MCH0001credit_cardDEV0001A192.168.1.101USUSfalsecompletedchip531129
TXN000002male19.95falseblank2020-11-28T18:22:14ZGBPCUST0002MCH0002debit_cardDEV0002B203.0.113.5GBGBfalsecompletedchip581233
TXN000003unknown0.01truetesting_abuse2023-07-02T13:15:44ZINRCUST0003MCH0003ewalletblank10.0.0.21ININfalsefailedonline59990
TXN000004female85.44falseblank2022-02-11T20:35:12ZEURCUST0004MCH0004credit_cardDEV0004C198.51.100.8DEDEfalsecompletedcontactless541141
TXN000005male1250falseblank2024-01-05T08:12:36ZUSDCUST0005MCH0005bank_transferblank172.16.0.4USCAtruecompletedonline601254
TXN000006female57.43falseblank2023-11-17T15:05:55ZEURCUST0006MCH0006ewalletblank217.160.0.12FRDEtruependingonline573227
TXN000007male15000truehigh_value_outlier2022-09-10T19:49:26ZUSDCUST0007MCH0007prepaid_cardDEV0007D203.0.113.111USMXtruereversedmanual799583
TXN000008male720.5falseblank2021-08-23T23:58:10ZAUDCUST0008MCH0008credit_cardDEV0008E8.8.8.8AUAUfalsecompletedchip554135

What the 200 rows show

from the 200-row sample

Unknown (customer gender) stands out: 22 of its 22 rows have fraud_label = true, against 32 of 178 for the rest.

  • 27%fraud_label = true
  • 100.0median amount
  • 4transaction statuses
  • 5entry modes
  • 6payment methods
  • 11currencies
Fraud label rate by customer_genderfraud_label = true
0%50%100%15%male12 of 814%female3 of 7681%other17 of 21100%unknown22 of 22

Unknown (customer gender)'s mean amount is 13,636,935, against 7,047 for male, 3,049 for female and 4,777,159 for other.

amount200 rows, in bands of 10M
0100200196000000004050M100Mamount →

Median 100.0, from 0.0 to 100,000,000.

fraud_reason54 rows with a value · 146 left blank
  1. testing_abuse22
  2. high_value_outlier12
  3. synthetic_identity9
  4. card_not_present5
  5. stolen_card3
  6. account_takeover3
19 columns by typefrom the column list below
  • string 14
  • integer 1
  • float 1
  • datetime 1
  • boolean 2

Columns

19 columns in four groups
blueprint · 19 columns
columntypedescriptionexample
Text 14 columns
transaction_idstringUnique identifier for each payment transactionuniqueTXN000001
currencystringISO 4217 currency code used for the transaction (e.g., USD, EUR)11 currenciesUSD
customer_idstringUnique identifier for the customer making the transactionCUST0001
merchant_idstringUnique identifier for the merchant receiving the paymentMCH0001
payment_methodstringPayment method used (e.g., credit_card, debit_card, bank_transfer, ewallet)6 valuescredit_card
device_idstringIdentifier for the device used to initiate the transactionoptionalDEV0001A
ip_addressstringIP address from which the transaction was initiatedoptional192.168.1.101
customer_countrystringCountry code of the customer (ISO 3166-1 alpha-2)optionalUS
merchant_countrystringCountry code of the merchant (ISO 3166-1 alpha-2)optionalUS
transaction_statusstringStatus of the transaction (e.g., completed, failed, pending, reversed)completed · failed · pending · reversedcompleted
fraud_reasonstringShort code or description indicating the reason for fraud label (e.g., stolen_card, account_takeover, synthetic_identity)6 reasons · optionaltesting_abuse
entry_modestringHow the payment information was entered (e.g., chip, swipe, online, contactless)chip · swipe · online · contactless · manual · optionalchip
merchant_category_codestringMerchant Category Code (MCC) indicating the type of merchantoptional5311
customer_genderstringGender of the customermale · female · other · unknown · optionalfemale
Numbers 2 columns
amountfloatMonetary value of the transaction0 or more249.99
customer_ageintegerAge of the customer at the time of transaction0 to 120 · optional29
Dates and times 1 column
transaction_datetimedatetimeDate and time when the transaction occurred2024-03-14T10:07:23Z
True or false 2 columns
is_internationalbooleanIndicates if the transaction is cross-border (customer and merchant in different countries)optionalfalse
fraud_labelbooleanGround-truth label indicating if the transaction is fraudulent (true) or legitimate (false)false

Use it for

  • fraud label27%54 of 200 rowsmean amount by custom…7kmale3kfema…4.8Mother13.6Munkn…

    A finance dashboard

    The fraud_label rate, amount by customer_gender and a breakdown of fraud_reason. Excel, Power BI or Tableau.

  • Why do 54 of 200 rows have fraud_label = 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 transaction_datetime, amount and currency 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 columnsip_address: UK only

blueprint · payment-fraud-detection-dataset

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
  • Include customer demographics
  • Label each transaction as fraud/non-fraud
  • Simulate account relationships
  • Vary fraud patterns over time
Rows
Open the blueprint in Data Factory

1 credit per row. New accounts start with 25 free credits.

Exports
CSV, JSON, JSONL, Parquet, SQL, Excel, TSV, XML
Licence
yours to use, including commercially
API slug
payment-fraud-detection-dataset

What should your data show?

Preview 20 rows free
No signup. No card.