Methodology
Every score on ComplaintRate is derived from two public datasets using a consistent, reproducible formula. This page explains exactly what we did, why we made each decision, and where the data has limitations.
1. Data sources
ComplaintRate uses two public datasets, both freely available:
The Consumer Financial Protection Bureau publishes every complaint it receives against financial institutions. The database covers complaints from 2011 to present and contains over 9 million records. Each record includes the institution name, product type, complaint date, whether the response was timely, and whether the consumer received monetary relief.
The Federal Deposit Insurance Corporation publishes balance sheet data for every FDIC-insured institution in the United States, updated quarterly. We use the total deposits field (DEP) as a proxy for institution size, since actual customer headcounts are not publicly disclosed by any institution.
2. The normalisation formula
Raw complaint counts are misleading. JPMorgan Chase receives more complaints than Chime simply because it has tens of millions more customers. Comparing raw counts would tell you nothing meaningful.
We normalise every institution's complaint count by its estimated customer base, producing a rate that is directly comparable across institutions of any size.
FDIC does not publish customer headcounts. We estimate them by dividing each institution's total deposits by $10,000, representing an assumed average deposit balance per customer. This is a reasonable proxy for retail banking institutions and is applied consistently across all institutions, so relative rankings remain valid.
This produces complaints per estimated 1,000 customer-equivalents. A rate of 1.0 means approximately 1 complaint per 1,000 estimated customers.
Institutions are ranked from highest (most complaints per customer) to lowest. Rank 1 = worst performer.
Two secondary metrics are also calculated directly from the CFPB data:
- Timely response rate — percentage of complaints where the institution responded within the CFPB's required timeframe.
- Closed with relief rate — percentage of complaints where the consumer received monetary or non-monetary relief from the institution.
3. Entity resolution
The CFPB database contains over 3,600 distinct company name strings, many of which refer to the same institution. "JPMorgan Chase Bank, N.A.", "Chase Bank", "JP Morgan Chase", and "Chase" all refer to the same entity but appear as separate records in the raw data.
We maintain a manually curated entity resolution table that maps raw CFPB name strings to canonical institution names. All complaints for mapped variants are aggregated under the canonical name before scoring. This table is versioned and published on the data page.
4. Limitations
We believe in being explicit about what this data cannot tell you.
No US financial institution publicly discloses its exact retail customer headcount. Our $10,000 average deposit assumption is a reasonable proxy for traditional retail banks, but may overstate customer counts for wealth management institutions (where average balances are higher) and understate them for fee-based fintechs with low average balances. Relative rankings between similar institution types are more reliable than absolute rate values.
An institution with 50 complaints and 10,000 estimated customers has a rate of 5.0/1k. One additional complaint changes the rate by 0.1 — a 2% swing. For large institutions with hundreds of thousands of complaints, individual variance is statistically insignificant. We flag institutions with fewer than 1,000 total complaints as having low statistical confidence.
The CFPB database only contains complaints that consumers chose to file. Filing frequency varies by demographic, product type, and awareness of the CFPB. A lower complaint rate does not necessarily mean an institution has fewer problems — it may mean its customers are less likely to file formal complaints.
The CFPB's jurisdiction covers consumer financial products — checking accounts, credit cards, mortgages, personal loans, student loans, auto loans, money transfers, and debt collection. It does not cover investment products, insurance, or business banking.
The CFPB database reflects complaints since 2011. The political environment around the CFPB as of early 2026 creates uncertainty about future data availability. Our March 2026 snapshot represents the most complete normalised record of this data that exists. See our about page for more context.
5. Reproducibility
Our scoring pipeline is written in Python using DuckDB for query processing and the Supabase API for storage. The pipeline runs daily, ingesting new CFPB complaint records automatically.
The full entity resolution mapping table and versioned score snapshots are available for download on the data page. Researchers wishing to reproduce our scores can apply the formula above to the raw CFPB and FDIC datasets using our published entity map.