Reference
How the analysis is built
Every number on BankingLens traces back to the same public source. This page lays out where the data comes from, how it's refreshed, how peer groups and scores are derived, and — equally important — what we deliberately don't do.
1. Data source
Every figure on BankingLens originates from the Federal Financial Institutions Examination Council (FFIEC) Call Reports — the quarterly filings every US commercial bank is required to submit. These filings are public domain, downloadable for free from the FFIEC website, and are the same data examiners use.
Our coverage is the universe of US commercial banks — approximately 4,477 institutions as of the latest filing. We don't include credit unions (regulated by the NCUA, different filing schedule), broker-dealers, or non-US banks.
- Web scraping of bank websites, press releases, or social media
- Purchased third-party "alternative" data
- Credit bureau data (Experian, Equifax, TransUnion)
- Individual loan-level data (we don't see specific loans)
- Customer-deposit data or PII of any kind
- Proprietary feeds that aren't reproducible from public sources
2. Refresh cadence
Banks file call reports 30-60 days after each quarter-end (Q1 by April 30, Q2 by July 30, Q3 by October 30, Q4 by January 30). The FFIEC publishes shortly after the filing window closes. BankingLens ingests within roughly 30 days of the FFIEC's official release, so a quarter's data lands here approximately 60-90 days after the quarter actually ends.
The "Latest filing" stat at the top of /dashboard always reflects the most recent quarter we've ingested.
FFIEC release schedule: ffiec.gov/cdr/public/SearchFacsimiles.aspx
We don't promise real-time data because nothing in this domain is real-time — call reports are quarterly by design, and even regulators see them on the same lag.
3. Peer-group construction
A $400M community bank in rural Texas and JPMorgan don't operate the same business. Comparing them on absolute metrics (ROA, NIM, efficiency ratio) is misleading — the small bank's cost structure, regulatory burden, funding profile, and customer base are radically different. Peer groups are how we make comparisons apples-to-apples.
BankingLens uses two peer-group conventions:
FFIEC asset bands (default)
Six buckets following the FFIEC's published convention for UBPR peer reporting: Under $100M, $100M-$300M, $300M-$1B, $1B-$3B, $3B-$10B, Over $10B. These are the bands examiners use, and they're what shows up in each bank's official UBPR.
Coarse bands (dashboard chips)
For quick filtering, the dashboards offer four coarser buckets: Under $1B, $1B–$10B, $10B–$100B, Over $100B. The percentile rankings themselves still use the fine FFIEC bands — the coarse bands are filter convenience, not comparison cohorts.
A bank's peer group is determined by its total assets at the most recent filing. The dashboards proactively flag banks within 10% of a band boundary because a crossover next quarter would reshuffle that bank's peer cohort and shift its percentile ranks. Peer-group guide →
4. Score derivation
Bank Peer Intel — percentile rankings
For each metric (ROA, NIM, Tier 1 capital ratio, efficiency ratio, NPL ratio), we compute each bank's value, sort the asset-band peer cohort, and assign a percentile (1-99). The dashboards visualize this with quartile-colored chips: green (75th+), slate (50th-74th), amber (25th-49th), red (under 25th). Year-over-year change indicators are computed from the bank's own time series across 5 prior quarters.
Borrower Assist — match composite
For Borrower Assist match scores, we compute five sub-signals per bank-scenario pair, then weight them into a 0-97 composite (intentionally capped under 100 — see why below):
- Underweight — does this bank have room in its loan mix for your loan type relative to its asset-band peers? An under-allocated bank tends to be more eager to take new exposure.
- Growth — has the bank's loan book in this category grown YoY? Growth signals active appetite, not just capacity.
- LDR room — loans-to-deposits ratio vs. peers. Banks with capacity to lend more (lower LDR relative to peer) signal funding-side openness.
- NIM pressure — when a bank's net interest margin is compressing, originations of higher-yielding loans become a strategic priority.
- Credit quality — gates the score. Banks with elevated NPL ratios get a damped score even if other signals are favorable, because impaired-credit banks tend to tighten underwriting.
Why 0-97 and not 0-100? The 3-point cap is intentional. We don't claim to predict an approval decision — that involves credit committee judgment, relationship factors, and specifics of the borrower that we can't see. The cap is an honest signal that this is appetite analysis from a balance-sheet position, not a forecast of yes/no.
5. UBPR reconciliation
The FFIEC also publishes derived ratios in the Uniform Bank Performance Report (UBPR) — official, examiner-grade calculations like ROA, ROE, NIM, efficiency ratio. Where the UBPR is available for a quarter, BankingLens reconciles headline ratios against it. The bank scorecard shows the reconciliation status explicitly:
Every headline ratio matches the FFIEC's published UBPR for that filing. What you see is what an examiner sees.
UBPR not yet loaded for this quarter. Ratios computed from raw call-report fields; will reconcile on next import.
One or more ratios diverge from the published UBPR. Both values are surfaced — we don't hide the disagreement.
BankingLens is restatement-aware. When a bank refiles a prior quarter, the call-report history is updated in place — meaning a percentile rank from six quarters ago can shift if the underlying numbers change. That's accurate but worth knowing if you reference an old export.
6. Limitations & what we don't do
We try to be useful for the analyst, banker, or borrower making a real decision. Useful means honest about boundaries. Here's the boundary list:
- Not a credit decision. Bank Peer Intel doesn't predict whether a bank will approve a loan. Borrower Assist surfaces likely-fit lenders to call, not pre-approvals.
- Not real-time. Call reports are quarterly, lagged ~30-60 days. Anything more frequent is misleading.
- No qualitative data. We don't see relationship strength, brand reputation, recent leadership changes, or pending M&A. A bank with a perfect balance-sheet profile may still say no for reasons not in the call report.
- No loan-level data. Call reports are aggregates. We don't know which specific loans are in a bank's portfolio.
- No fraud / AML / regulatory action signal. If a bank is under a consent order, you won't see it here — we don't ingest enforcement actions.
- No forecast. We don't predict future rates, future bank performance, or future credit availability. Everything is backward-looking from the most recent filing.
- US-only. FFIEC call reports cover US commercial banks. Credit unions, foreign banks, and broker-dealers are out of scope.
If any of these are dealbreakers for your use case, BankingLens probably isn't the right tool. If they're acceptable trade-offs for fast, transparent, public-data analytics, we'll save you time.
Questions about the methodology?
Email hello@bankinglens.com. We respond to methodology questions personally — they help us be more useful.