Before you start
The U.S. Consumer Financial Protection Bureau (CFPB) publishes every consumer complaint it receives about financial products. This dataset adds three things: a product taxonomy that is comparable across years, a measure of which complaint narratives are copy-paste templates, and company and bank rates. Complaints are allegations, not findings, and company responses are self-reported.
Files used (use the published file names):
- complaints-by-year.csv (columns: year, n)
- complaints-by-year-product-family.csv (year, product_family, n)
- complaints-by-year-product-family-response.csv (year, product_family, company_response_to_consumer, n)
- template-category-by-year-product-family-narratives-only.csv (year, product_family, template_category, n, pct)
- bank-complaint-rates.csv (company, year, complaint counts, FDIC deposits, assets and account counts, and the rates built from them)
- top100-template-clusters.csv (extra exercise)
Before you start (read this with students):
- 2026 is a partial year: complaints received from 1 January to 3 October. For narratives, the CFPB stopped publishing on 14 August 2026.
- "In progress" complaints have no final outcome yet. Exercises that use outcomes exclude them.
- A complaint is one person's account. A company's response category is reported by the company.
Exercises
1. Read, compare, and be careful with partial years (basic)
File: complaints-by-year.csv
- How many complaints did the CFPB receive in 2024 and in 2025?
- By what percentage did complaints change from 2024 to 2025?
- The 2026 row is larger than the 2025 row. Does that mean 2026 had more complaints than 2025? Explain.
- Calculate average complaints per day for 2025 (365 days) and for 2026 (1 January to 3 October = 276 days). Which year had more complaints per day, and by how much?
2. Proportions and what "everything else" did (basic)
File: complaints-by-year-product-family.csv
- Calculate credit reporting's share of all complaints in 2015, 2025 and 2026.
- Calculate how many complaints were NOT about credit reporting in 2015 and in 2025. How many times larger is the 2025 figure?
- Money transfers & virtual currency: how many complaints in 2024 and 2025? How many times larger is 2025?
- Sentence to write: "Credit reporting's share rose from __% to __%, but complaints about everything else also ___."
3. The mix effect (intermediate)
File: complaints-by-year-product-family-response.csv
Definition: monetary relief rate = complaints closed "with monetary relief" ÷ all complaints with a final outcome (exclude "In progress"). Use 2023 and 2025.
- Calculate the monetary relief rate for ALL complaints in 2023 and 2025.
- Calculate it again EXCLUDING credit reporting, and the rate for credit reporting alone.
- Credit reporting's share of complaints with a final outcome went from X% to Y%. Calculate both.
- The overall rate fell much more than the rate excluding credit reporting. Explain why in two sentences, using the numbers.
- (Challenge) If 2025 had the same product mix as 2023, but each group kept its own 2025 rate, what would the overall 2025 rate be? How much of the fall is explained by the change in mix, and how much by the change in rates within each group? Then redo the split using the 2025 mix with 2023 rates. Do you get the same split? Why or why not?
4. Template detection: measuring copy-paste (intermediate)
File: template-category-by-year-product-family-narratives-only.csv
Categories: original (unique text), shared_template_strict (same text filed from two or more different locations), same_filer_repeat (same text from one location, probably one person filing several times), unknown_filer. The file only covers complaints with a published narrative.
- Calculate the share of narratives that were shared templates in 2015, 2020 and 2025.
- In 2025, which product family had the highest shared-template share? Which had the lowest?
- The 2026 share of shared templates is much lower than 2025. Give two reasons not to conclude that templates fell in 2026.
- In 2025, what share of all narratives was about credit reporting? What share of all shared-template narratives was credit reporting?
- Calculate the 2025 shared-template share EXCLUDING credit reporting. Compare it with the overall figure and explain what this tells us about where templates are concentrated.
- Why does the dataset separate shared templates from same-filer repeats? What would happen to the template measure if it did not?
5. Denominators: three reasonable measures, three rankings (advanced)
File: bank-complaint-rates.csv. Use year = 2025 only.
Three ways to compare banks: (A) complaints_per_billion_deposits_all (all complaints per $1 billion of deposits), (B) bank_accounts_complaints_per_billion_deposits (bank-account complaints only, per $1 billion of deposits), (C) bank_accounts_complaints_per_100k_accounts (bank-account complaints per 100,000 deposit accounts of $250,000 or less).
- Keep only 2025 rows where
min_volume_flagis FALSE and the per-100k rate is not blank. How many banks remain? - Rank those banks from highest to lowest on A, B and C. Which bank is first on each measure?
- Find Citibank and Bank of America. What rank does each get on A, B and C? On which measures is Citibank's rate higher than Bank of America's, and by how many times?
- The three measures give three different rankings. Which one best answers the question "which bank gets more complaints per customer?" Justify it, and list two weaknesses of that measure.
- The rule that removes banks with fewer than 300 bank-account complaints is arbitrary. Raise the threshold to 500: which banks drop out, and who is first on C now? What does that tell you about the reliability of rankings built on small counts?
6. What can we NOT conclude? (advanced)
Data: the table below (from the Kibbo analysis of the complaint-level file, 2022–2025, comparing original and shared-template narratives within the same issue). Share of complaints closed with each type of relief, %.
| Issue | Original | Shared template |
|---|---|---|
| Bank accounts: Problem caused by your funds being low | 18.6 | 0.3 |
| Bank accounts: Managing an account | 13.5 | 0.2 |
| Money transfers: Other transaction problem | 4.6 | 0.0 |
| Issue | Original | Shared template |
|---|---|---|
| Credit reporting: Incorrect information on your report | 35.1 | 51.2 |
| Debt collection: Attempts to collect debt not owed | 16.8 | 38.6 |
| Debt collection: Written notification about debt | 14.8 | 46.1 |
- For each row, calculate the gap in percentage points between original and shared template. For the second table, also calculate the ratio (template ÷ original).
- A student writes: "Using a template makes it less likely you get money and more likely you get a correction." Rewrite the sentence so it is supported by the data and no more.
- List at least three reasons the data cannot show that the template itself caused the difference (think: who uses templates, what problems they have, how companies record responses).
- A company refunds a consumer but records the complaint as "Closed with explanation". How would that appear in the table, and why does it matter?
- Does a shared template mean the complaint is false? Use the data and the definitions to answer.
Extra — Read the biggest clusters (advanced)
File: top100-template-clusters.csv (the 100 largest groups of near-identical narratives; the file includes the first 300 characters of each representative text).
- Sort by
size. Which cluster is the largest, and how many narratives and distinct locations does it have? - Which cluster covers the most distinct locations? What company is it mostly about?
- For how many of the 100 clusters is credit reporting the main product family (the first one listed in
top3_product_families)? - Create a column: distinct locations ÷ size. Which cluster has the lowest ratio? What are two possible explanations, and what other data would you need to choose between them?
- Clusters were built within each calendar year (and 2025 within each half). Why can you not compare cluster sizes directly across all scopes?
Note for teachers: the texts in this file are mass-repeated texts, not individual accounts. Ask students to look at patterns, not to look for individuals.
Connect it to real life
The table shows that, for credit report errors, shared-template complaints more often end with a correction. If you found an error on your credit report, what three specific details would you add to any template before sending it, and why? Then use the Credit Report Dispute Letter Generator to draft your letter. If your problem is a debt you do not recognise, use the Debt Collection Dispute Letter Generator instead.
Teacher answer key
Click to reveal the answer key
- Exercise 1
1. 2024: 2,734,268. 2025: 5,442,962.
2. (5,442,962 ÷ 2,734,268 − 1) = +99.1% (about double).
3. No. 2026 covers only 1 January to 3 October (276 days); 5,485,332 complaints in about nine months is not comparable with a full year.
4. 2025: 5,442,962 ÷ 365 = 14,912.2 per day. 2026: 5,485,332 ÷ 276 = 19,874.4 per day. About +33.3% per day in 2026. (Caution: a daily average assumes complaints are spread evenly across the year; they are not, as the January 2025 surge shows.) - Exercise 2
1. 2015: 34,270 ÷ 168,272 = 20.4%. 2025: 4,810,301 ÷ 5,442,962 = 88.4%. 2026: 4,997,950 ÷ 5,485,332 = 91.1%.
2. Not credit reporting: 2015 = 134,002; 2025 = 632,661. 632,661 ÷ 134,002 = 4.72 times.
3. 2024: 16,751. 2025: 84,619. 84,619 ÷ 16,751 = 5.05 times. (Most of this jump is concentrated in January 2025; see the investigation article.)
4. "Credit reporting's share rose from 20.4% to 88.4%, but complaints about everything else also grew about 4.7 times." - Exercise 3 (final-outcome complaints only, "In progress" excluded)
1. 2023: 20,355 ÷ 1,292,049 = 1.58%. 2025: 26,125 ÷ 5,442,678 = 0.48%.
2. Excluding credit reporting: 2023: 19,568 ÷ 245,180 = 7.98%; 2025: 25,204 ÷ 632,442 = 3.99%. Credit reporting alone: 2023: 787 ÷ 1,046,869 = 0.075%; 2025: 921 ÷ 4,810,236 = 0.019%.
3. Credit reporting's share of complaints with a final outcome: 1,046,869 ÷ 1,292,049 = 81.0% (2023); 4,810,236 ÷ 5,442,678 = 88.4% (2025).
4. Credit reporting almost never gets monetary relief (below 0.1%) and its share of complaints rose from 81% to 88%, so the all-complaints average falls partly because of the composition. But the rate excluding credit reporting also halved (7.98% → 3.99%), so mix alone does not explain it.
5. Same-mix calculation: 0.810 × 0.0191% + 0.190 × 3.985% ≈ 0.77%. Total change = 0.48 − 1.58 = −1.10 percentage points. Split with 2023 mix: mix effect ≈ −0.29 pp (0.48 − 0.77), rate effect ≈ −0.80 pp (0.77 − 1.58). Split with the 2025 mix and 2023 rates (0.884 × 0.075% + 0.116 × 7.981% ≈ 0.99%): mix effect ≈ −0.58 pp, rate effect ≈ −0.51 pp. The split depends on which year's mix is used as the reference. Both mix and rates matter; neither explanation alone is complete. (Sanity check, shared with students: the excluding-credit-reporting figures, 7.98% and 3.99%, match those shown in the article's chart.)
Data note for teachers: the response file totals 5,442,678 for 2025 after excluding "In progress"; complaints-by-year.csv shows 5,442,962. The 284 difference is exactly the complaints still in progress. - Exercise 4 (shares computed with the published category
shared_template_strict)
1. 2015: 1.0%. 2020: 15.2%. 2025: 50.7%.
2. Highest: credit reporting 60.0%, then money transfers & virtual currency 53.4%. Lowest: mortgage 0.1% (20 of 14,031 narratives).
3. (a) 2026 is partial and the narrative archive ends on 14 August 2026 (121,385 narratives in 2026 against 1,222,049 in 2025). (b) Very few credit reporting narratives were published in 2026, and credit reporting is where most templates were. Also acceptable: the "original" share rising to 83.4% reflects what was published, not what was filed.
4. 2025 narratives: 1,222,049, of which credit reporting 912,756 = 74.7%. Shared-template narratives in 2025: 619,464, of which credit reporting 547,603 = 88.4%.
5. Excluding credit reporting: shared 619,464 − 547,603 = 71,861 of 309,293 narratives = 23.2%, against 50.7% overall. Templates are present beyond credit reporting but strongly concentrated there; the headline figure is another mix effect.
6. A person filing the same text against several companies is not the same as many people sharing a text. Counting both together would overstate how many people use templates. Over all years (2015–2026), 36.1% of narratives were shared templates and 21.4% same-filer repeats. The strict measure is a lower bound: two people in the same ZIP code count as one location. - Exercise 5 (2025; 35 bank-year rows, 22 remain after the filter)
1. 35 rows for 2025; 12 are flagged (fewer than 300 bank-account complaints) and one more (Discover Bank) has no per-100k rate, so 22 banks remain. (Students who only filter on the flag will get 23 and a blank rate; that is a useful catch.)
2. First on A: Santander Holdings USA (71.87), then Capital One (67.56), then American Express (63.00). First on B: Capital One (15.68), then USAA (13.15), then Santander Holdings USA (6.04). First on C: Comerica (29.93), then Citibank (22.86), then Santander Holdings USA (17.90).
3. Citibank ranks 8th on A, 19th on B, 2nd on C. Bank of America ranks 15th on A, 17th on B, 17th on C. Citibank's rate relative to Bank of America: A: 13.51 ÷ 9.12 = 1.48 times higher; B: 2.36 ÷ 3.18 = 0.74 (lower); C: 22.86 ÷ 8.33 = 2.74 times higher ("nearly three times", as in the article). The comparison reverses depending on the denominator.
4. Best answer: C, because the denominator counts consumer-sized deposit accounts, so it is closer to "per customer" and is not inflated by large business or institutional deposits, which favour banks with big corporate businesses (Citibank has a large share of those). Weaknesses (any two): it counts accounts, not people, and one person can hold several; the $250,000 limit includes some small-business accounts; it counts complaints, which depend on how likely customers are to complain, not only on how a bank treats them; the account counts come from year-end regulatory reports; and the rates depend on the product match (bank-account complaints against deposit accounts).
5. With a 500 threshold, five banks drop out: Comerica (315), American Express (330), M&T (393), KeyCorp (484) and Santander Holdings USA (496). First on C becomes Citibank (22.86). Comerica's first place rests on 315 complaints, just above the original threshold, so small counts can produce a top ranking that a small change in the rule removes. - Exercise 6
1. Monetary relief gaps (original − template): 18.3, 13.3 and 4.6 percentage points. Non-monetary relief gaps (template − original): +16.1, +21.8, +31.3 points. Ratios: 51.2 ÷ 35.1 = 1.46; 38.6 ÷ 16.8 = 2.30; 46.1 ÷ 14.8 = 3.11.
2. Acceptable: "For these issues, in 2022–2025, complaints with shared-template narratives were closed with monetary relief less often and with non-monetary relief more often than original narratives, according to company-reported responses." (Correlation only.)
3. Any three of: different people and different problems use templates (credit report corrections vs money lost); a template may describe a simple, standard request that is easy to fix; companies may respond to volume or to the type of request, not to the text; response categories are chosen by the company; only some issues are shown; the narrative may differ from what the consumer actually asked; narratives only exist for part of all complaints.
4. It would appear as no relief, because the company's record says "Closed with explanation". Responses are self-reported, so the table shows what companies record, not necessarily what happened.
5. No. A real person with a real problem can use a template. The dataset measures standardised wording, not whether the complaint is true. - Extra exercise
1. Y2024-1: 34,309 narratives from 2,588 distinct locations (credit reporting, mainly TransUnion, Equifax and Experian).
2. Y2025H1-8: 4,952 distinct locations (23,481 narratives, 16 January to 30 June 2025), almost entirely about Block, Inc. (Cash App); the representative text is addressed to Cash App.
3. 90 of 100 (the others: debt collection 7, money transfers & virtual currency 2, bank accounts 1).
4. Lowest ratio: Y2022-2, 97 locations ÷ 5,244 narratives = 1.8% (credit reporting). Possible explanations: a text heavily used by a small number of filers, or the same people filing many times; or a text circulated within one community. To choose: the number of filings per location, filing dates, and companies per location. The ratio cannot decide this.
5. Clusters were built separately within each calendar year, and 2025 within each half, because of computing limits. A text active over several years is split across scopes, so sizes are not directly comparable. - Consumer-rights question
Good answers include: the name and number of each account, the date and what exactly is wrong, what you already tried (with dates), the evidence you attach, and what you want the company to do. The reason: a company's reviewer needs specifics to investigate; a general text gives them nothing to check.
The teacher edition PDF includes the answer key. Do not share it with students.