CDFI Fund award tracker — CDFI Program, BEA, NACA, Native American, and CDFI Bond Guarantee Program awards with compliance status tracking
Project description
cdfi-fund-tracker
CDFI Fund award & compliance tracker — load, analyze, and monitor awards across all eight CDFI Fund programs: CDFI Program FA/TA, BEA, NACA, Native American TA, RAPID, Capital Magnet Fund, and CDFI Bond Guarantee Program. Track deployment deadlines, identify at-risk recipients, and run portfolio analytics.
Why
The CDFI Fund administers eight distinct programs with different award types, deployment requirements, and compliance timelines. Tracking them all in spreadsheets means missed deadlines, duplicated analysis, and no single view of portfolio concentration. This library gives you a clean Python API for any of it: from a one-liner to pull all BEA awards by state to a compliance sweep that flags recipients overdue on deployment.
Installation
pip install cdfi-fund-tracker
Quickstart
from cdfifund import (
Award,
ComplianceRecord,
CDFI_PROGRAMS,
load_sample_awards,
cdfi_program_analysis,
fa_vs_ta_breakdown,
bea_program_analysis,
bank_enterprise_award_breakdown,
native_american_analysis,
naca_breakdown,
bond_guarantee_analysis,
ComplianceTracker,
track_deployment,
check_deadlines,
at_risk_recipients,
by_program,
by_state,
by_year,
by_recipient_type,
top_recipients,
geographic_distribution,
cumulative_awards_over_time,
award_concentration_analysis,
recipient_lifecycle_analysis,
program_effectiveness_metrics,
)
# Load sample awards (or substitute your own list)
awards = load_sample_awards()
print(f"Loaded {len(awards)} awards across {len({a.program for a in awards})} programs")
# CDFI Program (FA + TA) summary
cdfi = cdfi_program_analysis(awards)
print(f"CDFI Program: {cdfi['award_count']} awards totaling ${cdfi['total_amount']:,.0f}")
# FA vs TA breakdown
breakdown = fa_vs_ta_breakdown(awards)
print(f"FA/TA ratio: {breakdown['fa_ta_dollar_ratio']:.1f}x")
# BEA analysis
bea = bea_program_analysis(awards)
print(f"BEA: {bea['award_count']} awards, avg ${bea['average_award']:,.0f}")
# Native American programs
na = native_american_analysis(awards)
print(f"Native American: {na['award_count']} awards in {len(na['state_breakdown'])} states")
# BGP analysis
bgp = bond_guarantee_analysis(awards)
print(f"BGP: {bgp['award_count']} issuances totaling ${bgp['total_guaranteed']:,.0f}")
# Aggregations
prog_agg = by_program(awards)
state_agg = by_state(awards)
year_agg = by_year(awards)
top10 = top_recipients(awards, n=10)
print(f"Top recipient: {top10[0]['recipient_name']} (${top10[0]['total_amount']:,.0f})")
geo = geographic_distribution(awards)
print(f"States reached: {geo['unique_states']} HHI: {geo['herfindahl_index']:.3f}")
ts = cumulative_awards_over_time(awards)
print(f"Cumulative through {ts[-1]['year']}: ${ts[-1]['cumulative_amount']:,.0f}")
# Compliance tracking
from datetime import date, timedelta
records = [
ComplianceRecord("R001", "CDFI_FA", 0.75, "2026-12-01", "on_track", "2025-06-01"),
ComplianceRecord("R002", "BEA", 0.30, (date.today() + timedelta(days=60)).isoformat(),
"at_risk", "2025-01-01"),
ComplianceRecord("R003", "CMF", 1.00, "2025-06-01", "completed", "2025-04-01"),
]
tracker = ComplianceTracker(records)
print(tracker.summary())
deadlines = check_deadlines(records, horizon_days=180)
print(f"Upcoming deadlines: {deadlines['upcoming_count']} Overdue: {deadlines['overdue_count']}")
at_risk = at_risk_recipients(records)
for r in at_risk:
print(f" {r['recipient_id']} ({r['program']}): {r['deployment_pct']:.0%} deployed, "
f"{r['days_remaining']} days remaining")
# Insights
conc = award_concentration_analysis(awards)
print(f"Top-10 recipients hold {conc['top_10_pct_of_total']:.0%} of total dollars")
print(f"Gini coefficient: {conc['gini_coefficient']:.3f}")
lifecycle = recipient_lifecycle_analysis(awards)
print(f"Multi-program recipients: {lifecycle['multi_program_recipients']}")
effectiveness = program_effectiveness_metrics(awards)
for prog, data in effectiveness.items():
print(f"{prog}: {data['geographic_reach_states']} states, avg ${data['average_award']:,.0f}")
Key Features
- All 8 CDFI Fund programs — CDFI FA, CDFI TA, BEA, NACA, Native American TA, RAPID, Capital Magnet Fund, Bond Guarantee Program
- Compliance tracker —
ComplianceTrackerclass withat_risk(),overdue(),on_track(), andsummary() - Deadline monitoring —
check_deadlines()with configurable horizon; flags both upcoming and overdue records - Aggregations — slice awards by program, state, year, or recipient type in one call
- Concentration metrics — HHI, Gini coefficient, top-10 share for both recipients and programs
- Recipient lifecycle — first-time vs. repeat vs. multi-program participation analysis
- Geographic distribution — state-level shares, HHI, top/bottom states
- Cumulative time series — year-by-year and running total
- Sample data — 24 realistic awards across all programs, years, and geographies for instant prototyping
Use Cases
- CDFI fund managers monitoring deployment deadlines across a compliance portfolio
- Researchers analyzing CDFI Fund award patterns and geographic concentration
- Grant writers quickly summarizing award history for applications
- Policy analysts comparing program activity over time
- CDFIs tracking their own award history and peer benchmarking
License
MIT © Jay Patel
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cdfi_fund_tracker-0.1.0.tar.gz.
File metadata
- Download URL: cdfi_fund_tracker-0.1.0.tar.gz
- Upload date:
- Size: 17.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8ae6654905ca8285da6ceb2c89fb4fb97f15b0ddcd5e02bfa9abc03f1539c7c
|
|
| MD5 |
46c912581beccf50b2c94541d47af416
|
|
| BLAKE2b-256 |
a7c7009ae426deb54c2d49c0f925c2402bda418c1542756fdcf4c9b03146b94f
|
File details
Details for the file cdfi_fund_tracker-0.1.0-py3-none-any.whl.
File metadata
- Download URL: cdfi_fund_tracker-0.1.0-py3-none-any.whl
- Upload date:
- Size: 18.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bce7f4cf7854d17b9c573cf69c958e57f95741a828a6f353bb85d3a586139f18
|
|
| MD5 |
3d3320e140452894067e6943fe5a0666
|
|
| BLAKE2b-256 |
c57b21a22c27e15ea87a2fc1509682a632011aa5c1ce1f6cf55665752ceff0cb
|