Skip to main content

CDFI and MDI peer benchmarking tool using FDIC call report data — NIM, efficiency ratio, ROAA, CET1, and more

Project description

cdfi-benchmark 📊

CDFI and MDI peer benchmarking tool using FDIC call report data.

Pull call report financials for any FDIC-insured CDFI or MDI, compute key performance metrics, build a peer group of similar institutions, and generate a benchmarking report — using the free FDIC BankFind Suite API, no API key required.


Why cdfi-benchmark?

CDFI banks and MDIs benchmark their performance against peers manually — pulling call report data from FFIEC, computing ratios in Excel, and building comparison tables by hand. cdfi-benchmark automates the entire workflow in Python.


Installation

pip install cdfi-benchmark

Quickstart

from cdfibenchmark import (
    get_financials, build_peer_group,
    generate_report, summary_table,
)

# Pull call report data for Broadway Federal Bank (CERT 57542)
institution = get_financials(cert=57542)

# Build peer group — similar asset size, no API key needed
peers = build_peer_group(institution, same_state=True)

# Generate benchmarking report
report = generate_report(institution, peers)
print(report)

# Get results as DataFrame
df = summary_table(institution, peers)

Sample Data (No API Required)

from cdfibenchmark import build_sample_peer_group
from cdfibenchmark.data.schema import InstitutionProfile

institution = InstitutionProfile(
    cert=57542,
    name="Broadway Federal Bank",
    city="Los Angeles",
    state="CA",
    report_date="20241231",
    total_assets=655_000,
    total_deposits=520_000,
    net_loans=380_000,
    net_income=1_950,
    interest_income=28_000,
    interest_expense=8_000,
    non_interest_income=3_500,
    non_interest_expense=22_000,
    total_equity=48_000,
    tier1_ratio=12.2,
)

peers = build_sample_peer_group(institution)
report = generate_report(institution, peers)
print(report)

Metrics Computed

Metric Description Benchmark (Strong)
NIM Net Interest Margin >= 3.5%
Efficiency Ratio Non-interest expense / Revenue <= 60%
ROAA Return on Average Assets >= 1.0%
ROAE Return on Average Equity >= 10%
Tier 1 Capital Ratio Regulatory capital ratio >= 12%
Loans-to-Deposits Loan utilization <= 80%
NPL Ratio Non-performing loans / Gross loans <= 1.0%
Reserve Coverage Loan loss reserve / NPLs >= 100%

Asset Size Buckets

  • micro — Under $50MM
  • small — $50MM to $250MM
  • medium — $250MM to $1B
  • large — $1B to $5B
  • mega — Over $5B

Data Source

FDIC BankFind Suite API — free public API, no authentication required. Data covers all FDIC-insured institutions with quarterly call report data since 1934.

https://banks.data.fdic.gov/api

Running Tests

PYTHONPATH=. pytest tests/ -v

27 tests across all modules.


Who This Is For

  • CDFI banks and credit unions benchmarking against peers
  • MDI management teams preparing board reports
  • CDFI Fund analysts reviewing institution performance
  • Impact investors evaluating CDFI bank investments
  • Researchers studying community banking performance trends

License

MIT 2026 Jaypatel1511

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cdfi_benchmark-0.1.0.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cdfi_benchmark-0.1.0-py3-none-any.whl (14.7 kB view details)

Uploaded Python 3

File details

Details for the file cdfi_benchmark-0.1.0.tar.gz.

File metadata

  • Download URL: cdfi_benchmark-0.1.0.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.12

File hashes

Hashes for cdfi_benchmark-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a45904ee69ec02ec2f6915451e7da38eb50211f68536a017ec52d9ccb0864b50
MD5 c7ad70364a12d84dcb08e37faeb16d4c
BLAKE2b-256 dd2e6b2cfd86df72e1cf6c65d84f806401b1642482dcd2214d0b89df4f3774ed

See more details on using hashes here.

File details

Details for the file cdfi_benchmark-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: cdfi_benchmark-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.12

File hashes

Hashes for cdfi_benchmark-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b3cdcd0efb9966d9b03317c55e1d1d41dea21c0ab302131bcb1a96cd9f7420a4
MD5 d0b86d6999fd3d75f02d1f777ed95306
BLAKE2b-256 e6b1b74d697e46047cf836dd118850b6549a28f69f1b117269702a65db89ea04

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page