Overdraft Fee Occurrence Analysis

This dataset provides detailed logs of checking account overdraft fee events, capturing transaction details, account and customer identifiers, fee amounts, and customer segmentation. It enables financial institutions to identify high-risk customer segments, analyze patterns of overdraft occurrences, and develop targeted strategies to reduce fee events and improve customer financial health.

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

Identifying and profiling customer segments at highest risk for overdraft fees

Sample rows

preview · 8 of 63 rows · all 16 columns
overdraft_event_idstringcustomer_segmentstringcustomer_ageintegeris_repeat_offenderbooleantransaction_typestringaccount_idstringcustomer_idstringevent_datetimedatetimefee_amountfloataccount_balance_beforefloataccount_balance_afterfloattransaction_amountfloattransaction_descriptionstringbranch_idstringcustomer_genderstringcustomer_zip_codestring
ODF10001standard34falsedebitACCT2301CUST5012023-01-16T09:32:0035-12.5-64.517POS purchase WALGREENSBR023female92103
ODF10002high-risk48truecheckACCT2312CUST5022023-03-22T14:19:0034-2-6226Check #1246 RentBR017male32256
ODF10003standard41falseACHACCT2308CUST5032023-03-29T18:45:0030-22-6715ACH withdrawal insurance premiumBR031female60647
ODF10004student21falsedebitACCT2315CUST5042023-02-02T11:21:0035-6-5110Target store #2381BR004female27516
ODF10005senior67falseonline paymentACCT2302CUST5052023-05-12T13:00:0033-5.5-53.515Online payment: Utility BillBR023male33144
ODF10006high-risk36trueATM withdrawalACCT2323CUST5062023-05-23T08:17:0032.5-1.2-50.717ATM withdrawal - MidtownBR022male10010
ODF10007standard29truedebitACCT2330CUST5072023-06-08T12:09:0035-9-5713Grocery King checkoutBR014female75080
ODF10008student19falseonline paymentACCT2331CUST5082023-02-11T10:24:0031.5-0.5-4715blankBR006non-binary14214

What the 63 rows show

from the 63-row sample

Senior (customer segment) stands out: mean customer_age is 68.7, against 34.7 for the rest.

  • 43%is_repeat_offender = true
  • 38median customer_age
  • 5customer genders
  • 32.0median fee_amount
  • -3.2median account_balance_before
  • -59.1median account_balance_after
Mean customer_age by customer_segment63 rows
0408038.0standard26 rows39.3high-risk15 rows20.7student11 rows68.7senior11 rows
customer_age63 rows, in bands of 10
09182181610674105080customer_age →

Median 38, from 19 to 73.

transaction_type63 rows · 6 values
  1. debit18
  2. ACH14
  3. online payment12
  4. ATM withdrawal11
  5. check6
  6. other2
16 columns by typefrom the column list below
  • string 9
  • integer 1
  • float 4
  • datetime 1
  • boolean 1

Columns

16 columns in four groups
blueprint · 16 columns
columntypedescriptionexample
Text 9 columns
overdraft_event_idstringUnique identifier for each overdraft fee eventuniqueODF10001
account_idstringUnique identifier for the checking account involved in the overdraft eventACCT2301
customer_idstringUnique identifier for the customer who owns the accountCUST501
transaction_typestringType of transaction that caused the overdraft (e.g., debit, check, ACH, ATM withdrawal)6 valuesdebit
transaction_descriptionstringFree-text description or memo for the triggering transactionoptionalPOS purchase WALGREENS
branch_idstringIdentifier for the branch where the account is held (if applicable)optionalBR023
customer_segmentstringSegment or risk group assigned to the customer (e.g., student, senior, high-risk, standard)4 segments · optionalstandard
customer_genderstringGender of the customer (if available)male · female · non-binary · prefer not to say · unknown · optionalfemale
customer_zip_codestringPostal code of the customer's primary addressoptional92103
Numbers 5 columns
fee_amountfloatAmount of the overdraft fee charged for this event0 or more35
account_balance_beforefloatAccount balance immediately before the overdraft event-12.5
account_balance_afterfloatAccount balance immediately after the overdraft event and fee application-64.5
transaction_amountfloatAmount of the transaction that triggered the overdraft17
customer_ageintegerAge of the customer at the time of the overdraft event0 or more · optional34
Dates and times 1 column
event_datetimedatetimeDate and time when the overdraft event occurred2023-01-16T09:32:00
True or false 1 column
is_repeat_offenderbooleanIndicates if the customer has had previous overdraft events within the past 12 monthsfalse

Use it for

  • is repeat offe…43%27 of 63 rowsmean customer age by …38.0stan…39.3high…20.7stud…68.7seni…

    A finance dashboard

    The is_repeat_offender rate, customer_age by customer_segment and a breakdown of transaction_type. Excel, Power BI or Tableau.

  • Why do the 11 senior rows have a mean customer_age of 68.7?

    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 overdraft events with account_id, customer_id and event_datetime to fill a screen in front of a buyer.

Not quite right?

Make it yours.

Same 16 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 dataset63 rows16 columns
Yours1,000 rows16 columnsbranch_id: UK only

blueprint · overdraft-fee-occurrence-analysis

Behind this dataset

Same schema. As many rows as you need.

These 63 rows came out of a blueprint — 16 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
  • Log fee date and amount
  • Link to customer account type
  • Flag accounts with multiple overdrafts monthly
  • Aggregate by customer age group
  • Summarize total fees quarterly
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
overdraft-fee-occurrence-analysis

What should your data show?

Preview 20 rows free
No signup. No card.