Banking Transaction Categorization Dataset
This dataset provides detailed, labeled banking transaction records, including transaction amounts, merchant details, categories, and recurrence information. It is ideal for developing and benchmarking expense tracking, personal finance management, and automated categorization tools. The dataset enables granular financial analysis and supports machine learning applications for transaction classification.
Sample rows
preview · 8 of 200 rows · all 18 columns| transaction_idstring | transaction_typestring | amountfloat | is_recurringboolean | merchant_category_codestring | account_idstring | transaction_datedate | transaction_timestring | currencystring | merchant_namestring | transaction_descriptionstring | categorystring | subcategorystring | recurring_frequencystring | balance_after_transactionfloat | location_citystring | location_statestring | location_countrystring |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TXN000001 | debit | -112.79 | false | 5411 | ACC10001 | 2024-04-03 | 10:19:32 | USD | Whole Foods Market | Whole Foods Market San Francisco CA | Groceries | Supermarkets | blank | 1958.21 | San Francisco | CA | USA |
| TXN000002 | credit | 2320 | true | 0000 | ACC10002 | 2024-03-31 | 08:38:09 | USD | ACME Payroll | ACME Payroll Direct Deposit | Salary | blank | monthly | 4103.55 | blank | blank | USA |
| TXN000003 | debit | -46 | false | 4121 | ACC10003 | 2024-04-04 | 12:12:44 | USD | Uber | Uber trip CA3245 | Transportation | Taxi/Rideshare | blank | 320.12 | Los Angeles | CA | USA |
| TXN000004 | payment | -1200 | true | 6513 | ACC10001 | 2024-04-05 | 16:03:23 | USD | Sunset Villas | Sunset Villas Monthly Rent | Rent | Apartment | monthly | 758.21 | Oakland | CA | USA |
| TXN000005 | debit | -85.45 | true | 4899 | ACC10004 | 2024-04-01 | 19:21:07 | USD | Comcast | Comcast Internet Bill | Utilities | Internet | monthly | 1420.4 | Seattle | WA | USA |
| TXN000006 | debit | -13.68 | false | 5814 | ACC10005 | 2024-04-02 | 11:42:16 | USD | Starbucks | Starbucks Coffee #32 Austin TX | Food & Drink | Coffee Shops | blank | 524.38 | Austin | TX | USA |
| TXN000007 | payment | -65 | true | 4900 | ACC10006 | 2024-03-30 | 09:12:01 | USD | PG&E | PG&E Utility Payment | Utilities | Electricity | monthly | 1185 | San Jose | CA | USA |
| TXN000008 | deposit | 150 | false | 4829 | ACC10006 | 2024-04-01 | 18:01:45 | USD | Venmo | Venmo Transfer from friend | Transfer | Peer-to-peer | blank | 1335 | blank | blank | USA |
| TXN000009 | debit | -22.1 | true | 4899 | ACC10007 | 2024-04-03 | 13:33:51 | USD | Netflix | Netflix Monthly Subscription | Entertainment | Subscriptions | monthly | 297.58 | Chicago | IL | USA |
| TXN000010 | payment | -45 | false | 7991 | ACC10008 | 2024-04-04 | 15:28:26 | USD | 24 Hour Fitness | 24 Hour Fitness Gym Fee | Other | Fitness | blank | 402.1 | Houston | TX | USA |
| TXN000011 | debit | -14.93 | false | 5812 | ACC10009 | 2024-03-29 | 20:11:50 | USD | Chipotle | Chipotle Order 2024-03-29 | Food & Drink | Fast Food | blank | 1132.74 | Chicago | IL | USA |
| TXN000012 | debit | -22 | false | 7832 | ACC10010 | 2024-04-02 | 17:05:08 | USD | AMC Theatres | AMC Movie Night | Entertainment | Movies | blank | 180 | Seattle | WA | USA |
| TXN000013 | deposit | 0 | false | blank | ACC10002 | 2024-04-05 | 10:14:51 | USD | blank | System Test Transaction | Other | blank | blank | 4103.55 | blank | blank | USA |
| TXN000014 | debit | -3.5 | false | blank | ACC10007 | 2024-04-02 | 07:51:22 | USD | blank | ATM Withdrawal Fee | Fees | ATM | blank | 294.08 | blank | blank | USA |
| TXN000015 | credit | 50 | false | 5732 | ACC10011 | 2024-04-03 | 12:01:00 | EUR | Apple Store | Apple Store Paris Refund | Refund | Electronics | blank | 670 | Paris | blank | FRA |
| TXN000016 | debit | -870 | false | 5712 | ACC10012 | 2024-03-28 | 14:25:36 | EUR | IKEA | IKEA Furniture Purchase | Home | Furniture | blank | 330 | Paris | blank | FRA |
| TXN000017 | debit | -15 | true | 4899 | ACC10013 | 2024-04-04 | 22:37:57 | USD | Spotify | Spotify Premium Subscription | Entertainment | Music | monthly | 2500 | Austin | TX | USA |
| TXN000018 | debit | -8.99 | true | blank | ACC10014 | 2024-04-01 | 06:01:22 | USD | blank | Monthly Account Maintenance Fee | Fees | Account Maintenance | monthly | 892 | blank | blank | USA |
| TXN000019 | debit | -142 | false | 5411 | ACC10015 | 2024-04-02 | 17:44:03 | USD | Safeway | Safeway Grocery Shopping | Groceries | Supermarkets | blank | 121.43 | Phoenix | AZ | USA |
| TXN000020 | debit | -230 | true | 6300 | ACC10016 | 2024-03-31 | 10:29:15 | USD | Blue Cross Health | Blue Cross Health Insurance | Insurance | Health | monthly | 802 | San Francisco | CA | USA |
What the 200 rows show
from the 200-row samplePayment (transaction type) stands out: 38 of its 50 rows have is_
- 27%is_
recurring = true - -46.0median amount
- 6currencies
- 7location countries
- 10location states
- 15categories
Median -46.0, from -78,000 to 1,000,000.
- string 14
- float 2
- date 1
- boolean 1
Columns
18 columns in four groups| column | type | description | example |
|---|---|---|---|
| Text 14 columns | |||
transaction_id | string | A unique identifier for each banking transaction.unique | TXN000001 |
account_id | string | Unique identifier for the bank account associated with the transaction. | ACC10001 |
transaction_time | string | The time of day the transaction occurred, in HH:MM:SS format (24-hour).optional | 10:19:32 |
currency | string | The ISO 4217 currency code for the transaction (e.g., USD, EUR).6 currencies | USD |
merchant_name | string | The name of the merchant or payee associated with the transaction.optional | Whole Foods Market |
merchant_category_code | string | Standardized merchant category code (MCC) for the transaction, if available.optional | 5411 |
transaction_description | string | The raw description or memo provided by the bank for the transaction.optional | Uber trip CA3245 |
category | string | Labeled category for the transaction (e.g., Groceries, Rent, Utilities, Salary). | Groceries |
subcategory | string | Optional subcategory for more granular classification (e.g., Supermarkets under Groceries).optional | Supermarkets |
transaction_type | string | Type of transaction (e.g., debit, credit, transfer, payment, withdrawal, deposit).6 values | debit |
recurring_frequency | string | Frequency of recurring transaction if applicable (e.g., monthly, weekly, yearly).6 values · optional | monthly |
location_city | string | City where the transaction took place, if available.optional | San Francisco |
location_state | string | State or province where the transaction took place, if available.10 states · optional | CA |
location_country | string | Country where the transaction took place, if available.7 countries · optional | USA |
| Numbers 2 columns | |||
amount | float | The monetary value of the transaction. Negative for debits (expenses), positive for credits (income). | -112.79 |
balance_after_transaction | float | Account balance immediately after the transaction was posted.optional | 1958.21 |
| Dates and times 1 column | |||
transaction_date | date | The date when the transaction was posted to the account. | 2024-04-03 |
| True or false 1 column | |||
is_recurring | boolean | Indicates if the transaction is part of a recurring series (e.g., subscriptions, rent).optional | false |
15 SQL practice questions for the Banking Transaction Categorization Dataset
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.
Large USD debits
Return transaction_id, transaction_date and amount for every transaction whose currency is 'USD' and whose amount is below -500. Sort by amount ascending, then by transaction_id.
Tables: banking_transaction_categorization_dataset · your result: 3 columns, 5 rowsDistinct categories
Return each distinct category in the data as a single column named category, sorted alphabetically.
Tables: banking_transaction_categorization_dataset · your result: 1 columns, 15 rowsTransactions per type
Count the transactions for each transaction_type. Return transaction_type and txn_count, sorted by txn_count from highest to lowest, then by transaction_type.
Tables: banking_transaction_categorization_dataset · your result: 2 columns, 6 rows
- 04Average amount by currencyBeginner
- 05Spend by category bar chartPower BI
- 06Categories with many transactionsIntermediate
- 07Amount size bucketsIntermediate
- 08Monthly transaction countsIntermediate
- 09Accounts above average activityIntermediate
- 10Recurring share by categoryPower BI
- 11Rank categories by spendAdvanced
- 12Days between account transactionsAdvanced
- 13Running total for an accountAdvanced
- 14Anomalous amounts within categoryAdvanced
- 15Category percent of spendPower 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.99Use it for
A finance dashboard
The is_
recurring rate, amount by transaction_ type and a breakdown of merchant_ category_ code. Excel, Power BI or Tableau. Why do 53 of 200 rows have is_
recurring = true? A root-cause class exercise
Hand out the rows and one question. The answer is in the data, not in the brief.
- Transactions200TXN000001-112.79debitTXN0000022320creditTXN000004-1200payment
A software demo
Believable transactions with account_
id, transaction_ date and transaction_ time to fill a screen in front of a buyer.
blueprint · banking-transaction-categorization-dataset
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.
- Transactions assigned category and merchant code
- Recurring bills flagged monthly
- Cash withdrawals separated from purchases
- Foreign transactions include currency conversion
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
- banking-transaction-categorization-dataset