Bank Transaction Category Classification

This dataset contains detailed synthetic bank transaction records, each labeled with spending categories such as groceries, travel, and utilities. It includes transaction metadata, merchant details, recurrence information, and account associations, making it ideal for developing and benchmarking personal finance management tools, automated expense categorization, and financial analytics solutions.

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

Training and evaluating machine learning models for automated transaction categorization

Sample rows

preview · 8 of 200 rows · all 18 columns
transaction_idstringtransaction_typestringamountfloatis_recurringbooleanlocation_statestringaccount_idstringtransaction_datedatetransaction_datetimedatetimecurrencystringmerchant_namestringmerchant_categorystringtransaction_descriptionstringcategorystringsubcategorystringrecurrence_frequencystringlocation_citystringlocation_countrystringbalance_after_transactionfloat
TXN0000001debit-54.23falseNYACCT10232024-06-112024-06-11T10:37:22USDFreshMartSupermarketFreshMart grocery purchase - weekly suppliesgroceriessupermarketblankNew YorkUS1445.77
TXN0000002debit-9.99trueCAACCT20472024-06-092024-06-09T20:12:45USDNetVisionStreaming ServiceNetVision monthly streaming subscriptionentertainmentvideo streamingmonthlySan FranciscoUS2388.91
TXN0000003credit3075trueNYACCT10232024-06-012024-06-01T08:01:05USDMetroCorp PayrollPayrollMonthly salary credited by MetroCorpincomesalarymonthlyNew YorkUS3490
TXN0000004debit-68.45falseILACCT65782024-06-102024-06-10T13:25:41USDDineUp CafeRestaurantDinner at DineUp CafediningrestaurantblankChicagoUS2178.92
TXN0000005debit-1350trueCAACCT31742024-05-282024-05-28T19:14:09USDMetro ApartmentsReal EstateMonthly rent for Metro ApartmentshousingrentmonthlyLos AngelesUS800
TXN0000006debit-27.5trueNYACCT16702024-06-12blankUSDRideEZPublic TransitRideEZ monthly transit passtransportationpublic transitmonthlyBrooklynUS1292.3
TXN0000007debit-123.1trueCAACCT20472024-06-032024-06-03T07:55:50USDGreenergyUtilitiesGreenergy monthly electricity billutilitieselectricitymonthlySan FranciscoUS2265.81
TXN0000008debit-72.15falseTXACCT55442024-06-112024-06-11T15:00:37USDBigStore ElectronicsElectronicsBigStore headphones purchaseshoppingelectronicsblankHoustonUS4967.59

What the 200 rows show

from the 200-row sample

Credit (transaction type) stands out: mean amount is 22,580, against -224.5 for the rest.

  • 39%is_recurring = true
  • -42.0median amount
  • 3recurrence frequencies
  • 7currencies
  • 7location countries
  • 11categories
amount200 rows, in bands of 50k
080160158382011-50k100k250kamount →

Median -42.0, from -9,500 to 250,000.

location_state158 rows with a value · 42 left blank
  1. CA33
  2. NY20
  3. TX19
  4. BE15
  5. BY13
  6. IL12
  7. ON7
  8. MA7
  9. WA6
  10. MH6
18 columns by typefrom the column list below
  • string 13
  • float 2
  • date 1
  • datetime 1
  • boolean 1

Columns

18 columns in four groups
blueprint · 18 columns
columntypedescriptionexample
Text 13 columns
transaction_idstringUnique identifier for each bank transactionuniqueTXN0000001
account_idstringUnique identifier for the bank account associated with the transactionACCT1023
currencystringISO 4217 currency code for the transaction (e.g., USD, EUR)7 currenciesUSD
merchant_namestringName of the merchant or payee involved in the transactionoptionalFreshMart
merchant_categorystringIndustry or business category of the merchant (e.g., Supermarket, Airline)optionalSupermarket
transaction_descriptionstringFree-text description or memo for the transaction as provided by the bankoptionalDinner at DineUp Cafe
categorystringLabeled spending category for the transaction (e.g., groceries, travel, utilities, dining)11 valuesgroceries
subcategorystringMore granular subcategory within the main category (e.g., 'airfare' under 'travel')optionalsupermarket
recurrence_frequencystringFrequency of recurrence if the transaction is recurring (e.g., monthly, weekly)6 values · optionalmonthly
location_citystringCity where the transaction took place, if availableoptionalNew York
location_statestringState or region where the transaction took place, if availableoptionalNY
location_countrystringCountry where the transaction took place, if available (ISO 3166-1 alpha-2 code)7 countries · optionalUS
transaction_typestringType of transaction (e.g., debit, credit, refund, transfer)debit · credit · refund · transferdebit
Numbers 2 columns
amountfloatMonetary value of the transaction. Negative for debits (expenses), positive for credits (income/refunds)-54.23
balance_after_transactionfloatAccount balance immediately after the transaction was processedoptional1445.77
Dates and times 2 columns
transaction_datedateDate when the transaction occurred2024-06-11
transaction_datetimedatetimeExact date and time when the transaction was processedoptional2024-06-11T10:37:22
True or false 1 column
is_recurringbooleanIndicates if the transaction is part of a recurring series (e.g., subscriptions, rent)optionalfalse

Use it for

  • is recurring39%77 of 200 rows

    A finance dashboard

    The is_recurring rate, amount by transaction_type and a breakdown of location_state. Excel, Power BI or Tableau.

  • Why do the 29 credit rows have a mean amount of 22,580?

    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_date 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

10,000 rows of yours: $12.99One-time. No subscription. All prices

This dataset200 rows18 columns
Yours10,000 rows18 columnslocation_city: UK only

blueprint · bank-transaction-category-classification

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
  • Transaction description and amount included
  • Assign category from controlled list
  • No direct account or customer info
  • Realistic transaction frequency patterns
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
bank-transaction-category-classification

What should your data show?

Preview 20 rows free
No signup. No card.