Methodology
Every score on ComplaintRate is derived from public federal datasets using consistent, reproducible methods. This page explains exactly what we measure, how we measure it, and where each data layer has known limitations. ComplaintRate currently cross-references 12 independent federal data sources across 2,333 US financial institutions.
1. Data sources
All data is sourced from US federal government databases. No proprietary or commercial data sources are used.
The Consumer Financial Protection Bureau publishes every complaint it receives against financial institutions. The full database contains over 15M+ records since 2011, of which about 12 million are credit-reporting disputes. We filter to banking, credit card, mortgage, and lending complaints — nearly 3 million records — which reflect how financial institutions treat their customers directly.
The FDIC publishes balance sheet data for every FDIC-insured institution, updated quarterly. We use total deposits (DEP) as a proxy for institution size to estimate customer counts, and the failure history database to flag institutions with historical bank failures.
The Office of the Comptroller of the Currency publishes all formal enforcement actions against national banks and federal savings associations, including Cease-and-Desist orders, Civil Money Penalties, and Formal Agreements. We track active actions and action types; aggregate penalty totals are under review.
The Federal Reserve publishes enforcement orders against bank holding companies and state member banks. We track active orders and order types; aggregate penalty totals are under review.
The CFPB publishes its own enforcement actions, separate from the complaint database. These represent cases where the CFPB found sufficient evidence of consumer harm to take formal legal action.
The Financial Crimes Enforcement Network publishes civil money penalties for Bank Secrecy Act violations, including anti-money laundering failures. We track penalty amounts and violation types (e.g. AML failures, sanctions violations).
The Department of Justice Civil Rights Division publishes fair lending enforcement actions, including redlining cases and pricing discrimination settlements. We track total penalty amounts and primary violation types.
The Federal Financial Institutions Examination Council publishes Home Mortgage Disclosure Act data annually. We use 2023 HMDA data to calculate overall mortgage application denial rates per institution. Per-race denial rates and racial disparity ratios are not currently reported pending independent verification of per-race application data. Coverage is limited to institutions that reported sufficient mortgage applications to produce statistically meaningful rates.
The St Louis Federal Reserve publishes live benchmark interest rate data used to contextualise institution-level mortgage and lending rates.
2. Complaint rate 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 tells you nothing meaningful about how an institution treats its customers.
We normalise every institution's complaint count by its estimated customer base, producing a rate 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 (assumed average deposit balance per customer). Applied consistently across all institutions — relative rankings remain valid even if absolute values carry estimation error.
Produces complaints per estimated 1,000 customer-equivalents. A rate of 1.0 means approximately 1 complaint per 1,000 estimated customers.
Institutions ranked highest to lowest (rank 1 = worst). Confidence tier assigned based on total complaint volume: High ≥1,000 complaints, Medium 100–999, Directional <100.
Two secondary metrics are calculated directly from CFPB complaint records:
- Timely response rate — percentage of complaints where the institution responded within the CFPB-required timeframe.
- Closed with relief rate — percentage of complaints where the consumer received monetary or non-monetary relief.
3. Response Quality Score
The Response Quality Score (0–100, percentile-ranked) measures how substantively an institution responds to CFPB complaints. It is computed in two passes across all complaint records for each institution.
Monetary relief rate (35% weight), timeliness rate (25% weight), closure-without-explanation rate (8% weight). These are computed across all complaint records for the institution.
Template detection via MD5 hashing of response text (20% weight), resolution language rate — presence of resolution/remedy phrases vs deflection phrases (12% weight). Text analysis is applied to a sample of records where response narrative is available.
Scores are reported as percentile ranks. A score of 70+ (green) indicates high-quality, substantive responses. 40–69 (amber) indicates mixed quality. Below 40 (red) indicates predominantly boilerplate or dismissive responses.
Not all CFPB complaint records include response narratives — only those where the institution chose to provide them. Template detection and language analysis are algorithmic, not human-reviewed. The score reflects patterns across hundreds or thousands of responses and is a statistical signal, not a case-by-case assessment. Citibank N.A.'s 99.8% template rate (the highest in the dataset) reflects that virtually every sampled response was identical boilerplate text.
4. Consumer Narrative Analysis
ComplaintRate analyses the nearly 3 million consumer complaint narratives where the consumer consented to publication. These are firsthand written accounts of the consumer's experience, not institutional responses.
Each narrative is tokenised and filtered for stop words. The frequency of alarm-signal words (fraud, scam, illegal, threaten, harass, sue, attorney, never, impossible, refused, criminal, deceptive, and others) is calculated per institution and compared against the global baseline rate of 3.1% across all narratives. The institution-level alarm rate is percentile-ranked (0–100) to produce the Alarm Score.
Where narratives are available, the 10 most frequent non-stop words are surfaced as the Consumer Voice signal. These reveal what consumers most commonly write about when filing complaints against that institution.
Only nearly 3 million of the over 15M+ total complaint records include consumer narratives — consumers must opt in to publication. Narrative availability varies significantly by product type and complaint year. The alarm word list is curated by ComplaintRate and may not capture all relevant signals. Word frequency analysis does not account for context — a word like "never" may appear in positive or negative contexts. Institution names may appear in their own top word list if entity resolution does not fully strip name variants from tokenisation (known issue, being addressed).
5. HMDA fair lending data
Home Mortgage Disclosure Act (HMDA) data is published annually by the FFIEC and covers mortgage applications at US lending institutions. We use 2023 HMDA data — the most recent full-year release.
For each institution with sufficient mortgage application volume, we calculate:
- Overall denial rate — percentage of mortgage applications denied across all applicants.
Per-race denial rates and racial disparity ratios are not currently reported. See the caveat below.
HMDA data reflects mortgage applications only — not all financial products. ComplaintRate reports overall mortgage application denial rates from public federal data. Per-race denial rates and racial disparity ratios are not currently reported: per-race application counts could not be independently verified to ComplaintRate's required standard, so institution-level disparity figures are not published here. ComplaintRate presents the overall denial rate as a factual record of publicly reported outcomes, not as a legal conclusion of discrimination, redlining, or fair lending violation. HMDA coverage: 63 institutions in the current dataset.
6. Enforcement data
ComplaintRate tracks enforcement actions from seven federal agencies. All actions are sourced directly from official government publications. Enforcement data is distinct from complaint rates — an institution can have a low complaint rate and still have active enforcement actions, or vice versa.
Tracks active enforcement actions and action types by institution; coverage count and penalty totals under review. Covers national banks and federal savings associations.
Tracks active enforcement orders against bank holding companies and state member banks; coverage count under review.
Tracks CFPB-specific enforcement actions, separate from the complaint database.
Tracks Bank Secrecy Act civil money penalties. Coverage limited to institutions present in the CFPB dataset — FinCEN actions against non-CFPB institutions (e.g. Binance) are recorded but not shown on institution pages.
Tracks fair lending enforcement actions including redlining settlements and pricing discrimination cases. Coverage limited to institutions in the CFPB dataset with sufficient complaint volume.
Tracks Federal Trade Commission enforcement actions against non-bank financial companies, debt collectors, and fintechs. Scraped from FTC case database using requests + BeautifulSoup. Full historical scrape pending.
Tracks National Credit Union Administration administrative orders and enforcement actions against federally chartered credit unions.
Enforcement data is sourced from official government publications but is not guaranteed to be exhaustive. FinCEN and DOJ coverage is limited to institutions present in the CFPB database with sufficient complaint volume for inclusion in our scored dataset. Institutions with enforcement actions but no CFPB complaint history will not appear on ComplaintRate. Action dates, penalty amounts, and violation types are taken directly from official source documents — any errors in the source are reflected here.
7. Entity resolution
The CFPB database contains over 3,600 distinct company name strings, many referring 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 (44 entries as of April 2026) that maps raw CFPB name strings to canonical institution names. All complaints for mapped variants are aggregated under the canonical name before scoring. Enforcement data from OCC, Fed, FinCEN, and DOJ is matched to canonical names using a combination of exact matching, the entity map, and fuzzy string matching with a minimum confidence threshold of 0.80.
Institutions that cannot be confidently matched are recorded as unmatched and excluded from cross-referenced data layers rather than risk incorrect attribution.
8. Confidence tiers
Every institution is assigned a confidence tier based on total complaint volume. Institutions with few complaints have noisier rates — a single additional complaint can shift the rate significantly.
Only institutions with a High confidence tier appear in recommendations. Institutions with a complaints_per_1k rate above 0.5 are also excluded from recommendations regardless of confidence tier.
9. Known limitations
We believe in being explicit about what this data cannot tell you.
No US financial institution publicly discloses its exact retail customer headcount. The $10,000 average deposit assumption is reasonable for traditional retail banks but may overstate customer counts for wealth management institutions and understate them for fee-based fintechs with low average balances. Relative rankings between similar institution types are more reliable than absolute rate values.
The CFPB database only contains complaints that consumers chose to file. Filing frequency varies by demographic, product type, and awareness of the CFPB. Only approximately 5% of consumers with a genuine problem ever file a federal complaint — meaning the visible complaint data likely represents a fraction of actual consumer harm.
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.
HMDA data covers mortgage applications, not all financial products. ComplaintRate reports overall denial rates only; per-race denial rates and disparity ratios are not currently reported. See Section 5 for full caveats.
FinCEN and DOJ fair lending data is matched only against institutions present in the CFPB scored dataset. Large enforcement actions against institutions outside the CFPB dataset (e.g. cryptocurrency exchanges, non-bank entities) are not shown on institution pages. See Section 6 for full coverage counts.
The CFPB database reflects complaints since 2011. The political environment around the CFPB as of early 2026 creates uncertainty about future data availability. Our May 2026 snapshot represents the most complete normalised, entity-resolved version of this record that has ever been assembled. See our about page for more context.
10. Frequently asked questions
How does ComplaintRate calculate complaint rates?
ComplaintRate divides the total number of CFPB complaints filed against each institution by its estimated customer base (derived from FDIC deposit data), producing a rate per 1,000 estimated customers. This allows direct comparison between banks of any size.
Where does the complaint data come from?
All complaint data is sourced from the CFPB Consumer Complaint Database, a public record maintained by the US Consumer Financial Protection Bureau. We filter to banking, credit card, mortgage, and lending complaints — nearly 3 million records since 2011 — excluding credit reporting disputes.
How are customer counts estimated?
No US financial institution publicly discloses its exact retail customer headcount. ComplaintRate estimates customer counts by dividing each institution's total deposits (from FDIC BankFind) by $10,000, representing an assumed average deposit balance per customer.
What is the Response Quality Score?
The Response Quality Score (0–100) measures how substantively an institution responds to CFPB complaints. It is a composite of: monetary relief rate (35%), timeliness rate (25%), template response rate (20%), resolution language rate (12%), and other closure signals (8%). A score of 70+ indicates high-quality responses; below 40 indicates predominantly boilerplate or unhelpful responses.
What is the Narrative Alarm Score?
The Narrative Alarm Score (0–100) measures the frequency of alarm-signal words (fraud, scam, illegal, threaten, harass, sue, attorney, never, impossible, refused, etc.) in consumer narratives filed against an institution, compared to the global baseline rate of 3.1% across all analysed narratives. A score of 70+ suggests consumers are describing significantly more alarming experiences than average.
How does ComplaintRate handle HMDA per-race data?
ComplaintRate reports overall mortgage application denial rates per institution from 2023 FFIEC HMDA data. Per-race denial rates and racial disparity ratios are not currently reported: the underlying per-race application counts could not be independently verified to our required standard. We publish only the figures we can stand behind.
Are lower complaint rates always better?
Generally yes. Complaint rates measure consumer escalation to a federal regulator — a last resort. A lower rate means fewer customers felt compelled to file a formal federal complaint. It does not guarantee perfect service, but is a strong signal of relative consumer treatment.
How often is the data updated?
The CFPB complaint rate pipeline is updated regularly. Enforcement data (OCC, Fed, CFPB, FinCEN, DOJ) is updated when new verified actions are confirmed. HMDA data reflects the most recent FFIEC annual release (currently 2023). Narrative and response quality pipelines are rerun when the underlying CFPB data is refreshed.
11. Reproducibility
The scoring pipeline is written in Python using DuckDB for query processing and the Supabase API for storage. Separate pipeline scripts handle each data layer: CFPB complaint rates, OCC enforcement, Federal Reserve enforcement, CFPB enforcement, FDIC failures, FinCEN AML, DOJ fair lending, HMDA, response quality scoring, and narrative analysis.
The entity resolution mapping table is versioned and published on the data page. Researchers wishing to reproduce scores can apply the formulas above to the raw CFPB and FDIC datasets using the published entity map.