cdfi-benchmark 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,143 @@
1
+ Metadata-Version: 2.4
2
+ Name: cdfi-benchmark
3
+ Version: 0.1.0
4
+ Summary: CDFI and MDI peer benchmarking tool using FDIC call report data — NIM, efficiency ratio, ROAA, CET1, and more
5
+ License: MIT
6
+ Project-URL: Homepage, https://github.com/Jaypatel1511/cdfi-benchmark
7
+ Requires-Python: >=3.9
8
+ Description-Content-Type: text/markdown
9
+ Requires-Dist: pandas>=1.4.0
10
+ Requires-Dist: numpy>=1.21.0
11
+ Requires-Dist: requests>=2.27.0
12
+
13
+ # cdfi-benchmark 📊
14
+
15
+ **CDFI and MDI peer benchmarking tool using FDIC call report data.**
16
+
17
+ Pull call report financials for any FDIC-insured CDFI or MDI, compute key performance
18
+ metrics, build a peer group of similar institutions, and generate a benchmarking report
19
+ — using the free FDIC BankFind Suite API, no API key required.
20
+
21
+ ---
22
+
23
+ ## Why cdfi-benchmark?
24
+
25
+ CDFI banks and MDIs benchmark their performance against peers manually — pulling
26
+ call report data from FFIEC, computing ratios in Excel, and building comparison
27
+ tables by hand. cdfi-benchmark automates the entire workflow in Python.
28
+
29
+ ---
30
+
31
+ ## Installation
32
+
33
+ pip install cdfi-benchmark
34
+
35
+ ---
36
+
37
+ ## Quickstart
38
+
39
+ from cdfibenchmark import (
40
+ get_financials, build_peer_group,
41
+ generate_report, summary_table,
42
+ )
43
+
44
+ # Pull call report data for Broadway Federal Bank (CERT 57542)
45
+ institution = get_financials(cert=57542)
46
+
47
+ # Build peer group — similar asset size, no API key needed
48
+ peers = build_peer_group(institution, same_state=True)
49
+
50
+ # Generate benchmarking report
51
+ report = generate_report(institution, peers)
52
+ print(report)
53
+
54
+ # Get results as DataFrame
55
+ df = summary_table(institution, peers)
56
+
57
+ ---
58
+
59
+ ## Sample Data (No API Required)
60
+
61
+ from cdfibenchmark import build_sample_peer_group
62
+ from cdfibenchmark.data.schema import InstitutionProfile
63
+
64
+ institution = InstitutionProfile(
65
+ cert=57542,
66
+ name="Broadway Federal Bank",
67
+ city="Los Angeles",
68
+ state="CA",
69
+ report_date="20241231",
70
+ total_assets=655_000,
71
+ total_deposits=520_000,
72
+ net_loans=380_000,
73
+ net_income=1_950,
74
+ interest_income=28_000,
75
+ interest_expense=8_000,
76
+ non_interest_income=3_500,
77
+ non_interest_expense=22_000,
78
+ total_equity=48_000,
79
+ tier1_ratio=12.2,
80
+ )
81
+
82
+ peers = build_sample_peer_group(institution)
83
+ report = generate_report(institution, peers)
84
+ print(report)
85
+
86
+ ---
87
+
88
+ ## Metrics Computed
89
+
90
+ | Metric | Description | Benchmark (Strong) |
91
+ |--------|-------------|-------------------|
92
+ | NIM | Net Interest Margin | >= 3.5% |
93
+ | Efficiency Ratio | Non-interest expense / Revenue | <= 60% |
94
+ | ROAA | Return on Average Assets | >= 1.0% |
95
+ | ROAE | Return on Average Equity | >= 10% |
96
+ | Tier 1 Capital Ratio | Regulatory capital ratio | >= 12% |
97
+ | Loans-to-Deposits | Loan utilization | <= 80% |
98
+ | NPL Ratio | Non-performing loans / Gross loans | <= 1.0% |
99
+ | Reserve Coverage | Loan loss reserve / NPLs | >= 100% |
100
+
101
+ ---
102
+
103
+ ## Asset Size Buckets
104
+
105
+ - micro — Under $50MM
106
+ - small — $50MM to $250MM
107
+ - medium — $250MM to $1B
108
+ - large — $1B to $5B
109
+ - mega — Over $5B
110
+
111
+ ---
112
+
113
+ ## Data Source
114
+
115
+ FDIC BankFind Suite API — free public API, no authentication required.
116
+ Data covers all FDIC-insured institutions with quarterly call report data
117
+ since 1934.
118
+
119
+ https://banks.data.fdic.gov/api
120
+
121
+ ---
122
+
123
+ ## Running Tests
124
+
125
+ PYTHONPATH=. pytest tests/ -v
126
+
127
+ 27 tests across all modules.
128
+
129
+ ---
130
+
131
+ ## Who This Is For
132
+
133
+ - CDFI banks and credit unions benchmarking against peers
134
+ - MDI management teams preparing board reports
135
+ - CDFI Fund analysts reviewing institution performance
136
+ - Impact investors evaluating CDFI bank investments
137
+ - Researchers studying community banking performance trends
138
+
139
+ ---
140
+
141
+ ## License
142
+
143
+ MIT 2026 Jaypatel1511
@@ -0,0 +1,131 @@
1
+ # cdfi-benchmark 📊
2
+
3
+ **CDFI and MDI peer benchmarking tool using FDIC call report data.**
4
+
5
+ Pull call report financials for any FDIC-insured CDFI or MDI, compute key performance
6
+ metrics, build a peer group of similar institutions, and generate a benchmarking report
7
+ — using the free FDIC BankFind Suite API, no API key required.
8
+
9
+ ---
10
+
11
+ ## Why cdfi-benchmark?
12
+
13
+ CDFI banks and MDIs benchmark their performance against peers manually — pulling
14
+ call report data from FFIEC, computing ratios in Excel, and building comparison
15
+ tables by hand. cdfi-benchmark automates the entire workflow in Python.
16
+
17
+ ---
18
+
19
+ ## Installation
20
+
21
+ pip install cdfi-benchmark
22
+
23
+ ---
24
+
25
+ ## Quickstart
26
+
27
+ from cdfibenchmark import (
28
+ get_financials, build_peer_group,
29
+ generate_report, summary_table,
30
+ )
31
+
32
+ # Pull call report data for Broadway Federal Bank (CERT 57542)
33
+ institution = get_financials(cert=57542)
34
+
35
+ # Build peer group — similar asset size, no API key needed
36
+ peers = build_peer_group(institution, same_state=True)
37
+
38
+ # Generate benchmarking report
39
+ report = generate_report(institution, peers)
40
+ print(report)
41
+
42
+ # Get results as DataFrame
43
+ df = summary_table(institution, peers)
44
+
45
+ ---
46
+
47
+ ## Sample Data (No API Required)
48
+
49
+ from cdfibenchmark import build_sample_peer_group
50
+ from cdfibenchmark.data.schema import InstitutionProfile
51
+
52
+ institution = InstitutionProfile(
53
+ cert=57542,
54
+ name="Broadway Federal Bank",
55
+ city="Los Angeles",
56
+ state="CA",
57
+ report_date="20241231",
58
+ total_assets=655_000,
59
+ total_deposits=520_000,
60
+ net_loans=380_000,
61
+ net_income=1_950,
62
+ interest_income=28_000,
63
+ interest_expense=8_000,
64
+ non_interest_income=3_500,
65
+ non_interest_expense=22_000,
66
+ total_equity=48_000,
67
+ tier1_ratio=12.2,
68
+ )
69
+
70
+ peers = build_sample_peer_group(institution)
71
+ report = generate_report(institution, peers)
72
+ print(report)
73
+
74
+ ---
75
+
76
+ ## Metrics Computed
77
+
78
+ | Metric | Description | Benchmark (Strong) |
79
+ |--------|-------------|-------------------|
80
+ | NIM | Net Interest Margin | >= 3.5% |
81
+ | Efficiency Ratio | Non-interest expense / Revenue | <= 60% |
82
+ | ROAA | Return on Average Assets | >= 1.0% |
83
+ | ROAE | Return on Average Equity | >= 10% |
84
+ | Tier 1 Capital Ratio | Regulatory capital ratio | >= 12% |
85
+ | Loans-to-Deposits | Loan utilization | <= 80% |
86
+ | NPL Ratio | Non-performing loans / Gross loans | <= 1.0% |
87
+ | Reserve Coverage | Loan loss reserve / NPLs | >= 100% |
88
+
89
+ ---
90
+
91
+ ## Asset Size Buckets
92
+
93
+ - micro — Under $50MM
94
+ - small — $50MM to $250MM
95
+ - medium — $250MM to $1B
96
+ - large — $1B to $5B
97
+ - mega — Over $5B
98
+
99
+ ---
100
+
101
+ ## Data Source
102
+
103
+ FDIC BankFind Suite API — free public API, no authentication required.
104
+ Data covers all FDIC-insured institutions with quarterly call report data
105
+ since 1934.
106
+
107
+ https://banks.data.fdic.gov/api
108
+
109
+ ---
110
+
111
+ ## Running Tests
112
+
113
+ PYTHONPATH=. pytest tests/ -v
114
+
115
+ 27 tests across all modules.
116
+
117
+ ---
118
+
119
+ ## Who This Is For
120
+
121
+ - CDFI banks and credit unions benchmarking against peers
122
+ - MDI management teams preparing board reports
123
+ - CDFI Fund analysts reviewing institution performance
124
+ - Impact investors evaluating CDFI bank investments
125
+ - Researchers studying community banking performance trends
126
+
127
+ ---
128
+
129
+ ## License
130
+
131
+ MIT 2026 Jaypatel1511
@@ -0,0 +1,143 @@
1
+ Metadata-Version: 2.4
2
+ Name: cdfi-benchmark
3
+ Version: 0.1.0
4
+ Summary: CDFI and MDI peer benchmarking tool using FDIC call report data — NIM, efficiency ratio, ROAA, CET1, and more
5
+ License: MIT
6
+ Project-URL: Homepage, https://github.com/Jaypatel1511/cdfi-benchmark
7
+ Requires-Python: >=3.9
8
+ Description-Content-Type: text/markdown
9
+ Requires-Dist: pandas>=1.4.0
10
+ Requires-Dist: numpy>=1.21.0
11
+ Requires-Dist: requests>=2.27.0
12
+
13
+ # cdfi-benchmark 📊
14
+
15
+ **CDFI and MDI peer benchmarking tool using FDIC call report data.**
16
+
17
+ Pull call report financials for any FDIC-insured CDFI or MDI, compute key performance
18
+ metrics, build a peer group of similar institutions, and generate a benchmarking report
19
+ — using the free FDIC BankFind Suite API, no API key required.
20
+
21
+ ---
22
+
23
+ ## Why cdfi-benchmark?
24
+
25
+ CDFI banks and MDIs benchmark their performance against peers manually — pulling
26
+ call report data from FFIEC, computing ratios in Excel, and building comparison
27
+ tables by hand. cdfi-benchmark automates the entire workflow in Python.
28
+
29
+ ---
30
+
31
+ ## Installation
32
+
33
+ pip install cdfi-benchmark
34
+
35
+ ---
36
+
37
+ ## Quickstart
38
+
39
+ from cdfibenchmark import (
40
+ get_financials, build_peer_group,
41
+ generate_report, summary_table,
42
+ )
43
+
44
+ # Pull call report data for Broadway Federal Bank (CERT 57542)
45
+ institution = get_financials(cert=57542)
46
+
47
+ # Build peer group — similar asset size, no API key needed
48
+ peers = build_peer_group(institution, same_state=True)
49
+
50
+ # Generate benchmarking report
51
+ report = generate_report(institution, peers)
52
+ print(report)
53
+
54
+ # Get results as DataFrame
55
+ df = summary_table(institution, peers)
56
+
57
+ ---
58
+
59
+ ## Sample Data (No API Required)
60
+
61
+ from cdfibenchmark import build_sample_peer_group
62
+ from cdfibenchmark.data.schema import InstitutionProfile
63
+
64
+ institution = InstitutionProfile(
65
+ cert=57542,
66
+ name="Broadway Federal Bank",
67
+ city="Los Angeles",
68
+ state="CA",
69
+ report_date="20241231",
70
+ total_assets=655_000,
71
+ total_deposits=520_000,
72
+ net_loans=380_000,
73
+ net_income=1_950,
74
+ interest_income=28_000,
75
+ interest_expense=8_000,
76
+ non_interest_income=3_500,
77
+ non_interest_expense=22_000,
78
+ total_equity=48_000,
79
+ tier1_ratio=12.2,
80
+ )
81
+
82
+ peers = build_sample_peer_group(institution)
83
+ report = generate_report(institution, peers)
84
+ print(report)
85
+
86
+ ---
87
+
88
+ ## Metrics Computed
89
+
90
+ | Metric | Description | Benchmark (Strong) |
91
+ |--------|-------------|-------------------|
92
+ | NIM | Net Interest Margin | >= 3.5% |
93
+ | Efficiency Ratio | Non-interest expense / Revenue | <= 60% |
94
+ | ROAA | Return on Average Assets | >= 1.0% |
95
+ | ROAE | Return on Average Equity | >= 10% |
96
+ | Tier 1 Capital Ratio | Regulatory capital ratio | >= 12% |
97
+ | Loans-to-Deposits | Loan utilization | <= 80% |
98
+ | NPL Ratio | Non-performing loans / Gross loans | <= 1.0% |
99
+ | Reserve Coverage | Loan loss reserve / NPLs | >= 100% |
100
+
101
+ ---
102
+
103
+ ## Asset Size Buckets
104
+
105
+ - micro — Under $50MM
106
+ - small — $50MM to $250MM
107
+ - medium — $250MM to $1B
108
+ - large — $1B to $5B
109
+ - mega — Over $5B
110
+
111
+ ---
112
+
113
+ ## Data Source
114
+
115
+ FDIC BankFind Suite API — free public API, no authentication required.
116
+ Data covers all FDIC-insured institutions with quarterly call report data
117
+ since 1934.
118
+
119
+ https://banks.data.fdic.gov/api
120
+
121
+ ---
122
+
123
+ ## Running Tests
124
+
125
+ PYTHONPATH=. pytest tests/ -v
126
+
127
+ 27 tests across all modules.
128
+
129
+ ---
130
+
131
+ ## Who This Is For
132
+
133
+ - CDFI banks and credit unions benchmarking against peers
134
+ - MDI management teams preparing board reports
135
+ - CDFI Fund analysts reviewing institution performance
136
+ - Impact investors evaluating CDFI bank investments
137
+ - Researchers studying community banking performance trends
138
+
139
+ ---
140
+
141
+ ## License
142
+
143
+ MIT 2026 Jaypatel1511
@@ -0,0 +1,24 @@
1
+ README.md
2
+ pyproject.toml
3
+ setup.py
4
+ cdfi_benchmark.egg-info/PKG-INFO
5
+ cdfi_benchmark.egg-info/SOURCES.txt
6
+ cdfi_benchmark.egg-info/dependency_links.txt
7
+ cdfi_benchmark.egg-info/requires.txt
8
+ cdfi_benchmark.egg-info/top_level.txt
9
+ cdfibenchmark/__init__.py
10
+ cdfibenchmark/data/__init__.py
11
+ cdfibenchmark/data/fdic.py
12
+ cdfibenchmark/data/schema.py
13
+ cdfibenchmark/metrics/__init__.py
14
+ cdfibenchmark/metrics/calculator.py
15
+ cdfibenchmark/peers/__init__.py
16
+ cdfibenchmark/peers/selector.py
17
+ cdfibenchmark/report/__init__.py
18
+ cdfibenchmark/report/generator.py
19
+ tests/__init__.py
20
+ tests/conftest.py
21
+ tests/test_metrics.py
22
+ tests/test_peers.py
23
+ tests/test_report.py
24
+ tests/test_schema.py
@@ -0,0 +1,3 @@
1
+ pandas>=1.4.0
2
+ numpy>=1.21.0
3
+ requests>=2.27.0
@@ -0,0 +1,2 @@
1
+ cdfibenchmark
2
+ tests
@@ -0,0 +1,28 @@
1
+ from cdfibenchmark.data.schema import (
2
+ InstitutionProfile, BenchmarkResult,
3
+ BENCHMARKS, ASSET_BUCKETS,
4
+ )
5
+ from cdfibenchmark.data.fdic import (
6
+ get_institution, get_financials,
7
+ search_institutions, get_peer_financials,
8
+ )
9
+ from cdfibenchmark.metrics.calculator import (
10
+ compute_peer_metrics, benchmark_institution, rank_institution,
11
+ )
12
+ from cdfibenchmark.peers.selector import (
13
+ build_peer_group, build_sample_peer_group,
14
+ )
15
+ from cdfibenchmark.report.generator import (
16
+ generate_report, summary_table,
17
+ )
18
+
19
+ __version__ = "0.1.0"
20
+ __all__ = [
21
+ "InstitutionProfile", "BenchmarkResult",
22
+ "get_institution", "get_financials",
23
+ "search_institutions", "get_peer_financials",
24
+ "compute_peer_metrics", "benchmark_institution", "rank_institution",
25
+ "build_peer_group", "build_sample_peer_group",
26
+ "generate_report", "summary_table",
27
+ "BENCHMARKS", "ASSET_BUCKETS",
28
+ ]
File without changes