FDIC filings · Federal Reserve data · Explainable ML

Find the financial signals
that deserve a closer look.

An analyst-first early-warning system that screens U.S. banks for next-quarter profitability deterioration, benchmarks each institution against comparable peers, and explains the signals behind every alert.

Decision support, not a prediction of bank failure. Every alert is designed for human review.

Institutions screened—Latest quarter
Quarterly observations—2018–2026
Model ROC-AUC—Out-of-time test
Top-decile precision—Vs. 6% base rate
01

Executive overview

The screening layer starts with sector context, then narrows attention to institution-level signals.

SECTOR TREND

Median return on assets

Quarterly median
MODEL READOUT

Loading model…

—ROC-AUC

Validated on future quarters rather than a random split, preserving the sequence a real analyst would face.

Average precision—
Holdout observations—
PEER BENCHMARK

Financial profile by asset size

Median values for the latest reporting period.

Peer groupInstitutionsROANet interest marginEfficiency ratioTier 1 capital
02

Analyst review queue

Alerts are ranked for investigation. A high score is not a regulatory conclusion.

InstitutionRisk scoreROA
03

What drives the model

Permutation importance measures how much predictive performance falls when each feature is disrupted.

GLOBAL IMPORTANCE

Leading financial signals

MODEL GOVERNANCE

Built for prioritization, not automation

  1. Time-aware validationTraining data precedes the holdout period.
  2. Peer contextBanks are compared within asset-size cohorts.
  3. Human-readable driversEvery alert is paired with financial indicators.
  4. Documented boundaryThe model does not predict failure or regulatory action.
04

From filing to decision

A reproducible pipeline keeps the business logic visible from source data through the final alert.

01

Acquire

Pull quarterly institution financials from the FDIC BankFind API and macro rates from FRED.

02

Model in SQL

Standardize filings, calculate ratios, create peer benchmarks, and build lagged features in DuckDB.

03

Validate

Compare logistic regression and gradient boosting on later, unseen quarters.

04

Prioritize

Rank alerts, attach interpretable drivers, and deliver an analyst-ready review queue.

SQL FEATURE ENGINEERING

Peer-relative performance without hiding the logic

The analytical mart uses window functions to compare every institution against banks in the same asset-size cohort and reporting period.

Review the complete SQL model ↗
PERCENT_RANK() OVER (
  PARTITION BY report_date,
               asset_peer_group
  ORDER BY return_on_assets
) AS roa_percentile

BUSINESS ANALYTICS CASE STUDY

Financial screening should make an analyst faster—not make the decision for them.

Explore the code, assumptions, validation results, and limitations in the public repository.

Open the GitHub repository ↗