Skip to content
FinObservatory
Model methodsBankingactive

Bank-failure nowcast

A within-quarter vulnerability percentile from public call-report ratios for appearance on the FDIC failures list within four quarters.

Registry slug:
bank-failure-nowcast
Visible surface:
/banks/nowcast

Data and implementation

Vintage

435,263 bank-quarter scores for 8,655 banks from 2008-03-31 through 2026-03-31, measured 2026-08-30

Data tables

  • data/parquet/failure_nowcast.parquet
  • data/parquet/failure_nowcast_eval.parquet

Engine

  • engine/finweave_engine/layers/failure_nowcast.py

Producer

scripts/build/build_failure_nowcast.py

Outputs

  • data/parquet/failure_nowcast.parquet
  • data/parquet/failure_nowcast_eval.parquet

Source: FFIEC Central Data Repository, public call-report bulk files; FDIC BankFind Suite, failures list

Method

Mandatory miss first: on the final 2022Q4 filings before the March 2023 runs, the operative model placed Silicon Valley Bank at the 43.81833473507149th percentile, Signature at about the 56th, and First Republic at about the 16th. It did not flag any of the three.

A row is positive when a bank matched by FDIC certificate appears with RESTYPE='FAILURE' in the next four quarters. The feature set contains equity/assets, tier 1 leverage, annualized ROA, annualized net interest margin, deposits/assets, four-quarter loan growth, four-quarter asset growth, and, from the 2017 RC-N break onward, nonperforming loans as a share of loans.

For test year Y, purged walk-forward training includes only observations whose complete four-quarter label windows closed before Y began. Scores are converted to percentiles within each report quarter.

The published output is a public-ratio vulnerability percentile. It is not a prediction of which bank fails next, a CAMELS rating, or a supervisory judgment.

Methodology evidence

Path and linesEvidence
engine/finweave_engine/layers/failure_nowcast.py:1-60match_failures(), build_features(), walk_forward(), and run_nowcast() define the target, feature sets, purged evaluation, output, benchmark, and mandatory interpretation limits.
scripts/build/build_failure_nowcast.py:1-27Documents the score and evaluation artifacts plus independent score, AUC, and 2023-case verification.
docs/analyst_methodology.md:71-74Carries the shared warning that public signals are not supervisory CAMELS ratings or predictions of named-bank failure.
docs/analyst_methodology.md:199-205Requires the model's documented misses and coverage limits to accompany any nowcast interpretation.

Equations

Four-quarter failure targetlabel_fail_4q = 1 if fail_date is in (report_date, report_date + 1 year]
Within-quarter vulnerability percentilepctile = percentile_rank(p_fail_4q within report_date) * 100

Validation

  • The output contains 435,263 scored observations for 8,655 banks from 2008-03-31 through 2026-03-31; the separate evaluation parquet stores per-year, pooled, coefficient, and coverage rows.
  • Only after the 2023 misses are disclosed: the pooled evaluation reports strong ranking performance, but equity/assets alone marginally beats the eight-feature model on the comparable pooled sample.
  • The producer independently recomputes pooled AUC from written scores and hand-recomputes one logistic score from stored coefficients before printing the 2023 case study.

Limitations

  • The eight ratios do not measure securities duration, uninsured-deposit concentration, or depositor coordination, the exposures central to the SVB, Signature, and First Republic failures.
  • Washington Mutual, IndyMac, and other OTS-regulated thrift failures without FFIEC call-report rows are outside the matched panel and are reported as unmatched.
  • Within-quarter percentiles rank vulnerability configurations. Even most banks in high-score buckets do not fail, and current labels remain unobservable until their full outcome window closes.

References

Metadata endpoint

PathMethodReturnsExample
/api/methods/[slug]GETRegistry metadata, implementation paths, measured vintage, methodology evidence, validation, and limitations. No model observations or parquet contents./api/methods/bank-failure-nowcast
Last verified 2026-08-30