Find a bank

Current bank statistics

This records the existing implementation; it introduces no new calculation. Source: shared/model.ts, shared/foundation.ts and the bank routes in worker/index.ts.

Units and unavailable values

Source balances are USD thousands. Bank asset-filter inputs are USD billions; the Worker multiplies them by 1,000,000 before comparing source balances. Corporate size controls use a separate USD-million convention.

ratio(numerator, denominator) returns a percentage only for finite, nonmissing inputs and a positive denominator. Missing, zero or negative denominators stay unavailable. Zero numerators remain zero. Basis-point changes equal the difference between two percentage rates multiplied by 100. Fundamentals retain reported annualized rates; income and charge-off balances remain year-to-date observations.

Default portfolio peers and cap

Default asset bounds are 0.5×–2× the subject's assets, rounded to two decimals in billions. CRE bounds are the subject's reported CRE share minus/plus 15 percentage points, rounded outward and clamped to 0–100. Preserve the implemented fallbacks for missing assets/CRE; do not substitute the proposed Index rules.

The selected-quarter query excludes the subject, requires positive loans, applies inclusive asset and CRE bounds, and rejects more than 300 matching candidates before exclusions/completeness processing. This is an interactive query limit, not a sampling rule. User exclusions are certificate-based.

Portfolio history and peer statistics

Select matching candidates in the comparison quarter. A peer is eligible only when it has a usable selected-portfolio rate in every displayed quarter and is not explicitly excluded. Hold that cohort fixed across the trend; do not replace missing observations with zero. Longer history can change eligible membership.

All portfolios share this calculation. The published interactive default is eight quarters; the workspace additionally supports 20 and 40. The initial pinned regression baseline protects the default eight-quarter comparison.

Peer medians, p25/p75 and percentile are withheld below five eligible peers. Quantiles use sorted, equal-weighted observations with linear interpolation at (n − 1) × p; there is no asset weighting. The subject's percentile is 100 × (count below + 0.5 × count tied) / eligible count. It describes numerical position, not favorable/adverse direction. Preserve ties and the existing quantile interpolation.

Loan/nonaccrual balances, rates, changes, portfolio shares, exclusions, missing-history counts and each peer's inclusion are part of the displayed comparison and the regression contract.

Fundamentals

Fundamentals use the selected-quarter asset/CRE filters, exclude the subject and user exclusions, then evaluate each metric's valid observations separately. They do not require complete trend history. Consequently the same bank can have different counts in its fundamentals and portfolio overview; coverage can differ across fundamental metrics.

The median is withheld below five valid observations for that metric. Definitions and source fields come from the existing 26-entry METRICS dictionary. Negative reported income/net recoveries remain negative. Historical values retain the source quarter and are not restated for mergers.

Regression and future methodology

See [the numeric guard](bank-numeric-regression.md) for the pinned five-bank fixtures and read-only API verification. Names/location/copy can change without changing its numeric projections; amounts, rates, counts, cohorts, source-field definitions and history cannot change silently.

The corporate trimmed mean and proposed Index peer fallback/oriented percentiles are future, separately specified methods. They are not applied to these existing bank calculations. History is a contemporary extract with possible amendments, not a reconstructed point-in-time vintage.