Win Alignment Scoring¶
Critical Methodology Disclosure — Read This First
The score produced by score_win_probability() is an alignment score, not a win probability. The CDFI Fund publishes only winner-level award announcement data; application-level data for non-winners is not publicly available. Without the full distribution of both winning and non-winning applications, it is mathematically impossible to compute a true conditional probability of selection. The score tells you how closely your application resembles the pattern of historical winners — it does not tell you the probability that CDFI Fund reviewers will select your application. A high alignment score improves competitive positioning; it does not guarantee an award.
Overview¶
score_win_probability() runs analyze() internally (using the cached result if available), then passes the PipelineAnalysisResult to WinProbabilityModel.score(), which computes a composite 0–100 alignment score from five weighted dimensions.
The five dimensions¶
1. Distress Concentration (weight: 35%)¶
The most heavily weighted dimension, reflecting the CDFI Fund's "Community Need" criterion, which accounts for the largest share of NOFA points.
The scoring compares your pipeline's pct_deep_or_severe (the fraction of total QEI deployed in deep or severely distressed census tracts) against the historical winner distribution:
| Statistic | Value |
|---|---|
| Winner mean | 81% |
| Winner p25 | 72% |
| Winner median (p50) | 82% |
| Winner p75 | 91% |
| Floor (rarely funded below) | 50% |
If your pipeline's deep/severe concentration falls below the 50% floor, the distress dimension score is proportionally reduced. At the 50% mark you score approximately 30/100 on this dimension. At the winner median (82%), you score near 60/100. Exceeding the winner mean pushes you toward 80–100.
2. Impact Intensity (weight: 25%)¶
Measures jobs per million dollars of QEI, the primary impact metric in CDFI Fund annual reports and NOFA scoring. Operating business projects (manufacturing, healthcare clinics, small businesses) typically produce 20–40 jobs per $1MM QEI. Real estate projects typically produce 5–10. A pipeline with significant operating business exposure scores substantially higher on this dimension.
| Statistic | Value |
|---|---|
| Winner mean | 12.0 jobs/$MM |
| Winner p25 | 6.0 jobs/$MM |
| Winner median (p50) | 10.0 jobs/$MM |
| Winner p75 | 18.0 jobs/$MM |
| Winner top decile | 28.0 jobs/$MM |
At 0 jobs/$MM the dimension score is 0. At or above the top decile (28 jobs/$MM) the score is 100.
3. Geographic Diversity (weight: 20%)¶
Evaluates two factors: the number of states served and the Herfindahl-Hirschman Index (HHI) of geographic concentration. Lower HHI means QEI is more evenly distributed across states. There is also a rural bonus — reaching the winner average of 18% rural QEI adds up to 10 points.
| Statistic | Value |
|---|---|
| Winner mean states | 7.2 |
| Winner median states (p50) | 7 |
| Winner p25 states | 4 |
| Winner mean HHI | 620 |
| Winner mean rural % | 18% |
The dimension score is 50% from the states count, 40% from the HHI score, and 10% from the rural bonus.
4. Sector Diversity (weight: 15%)¶
Evaluates two factors: the number of distinct sectors represented and the concentration in any single sector. Historical winners average 4.8 sectors represented and rarely exceed 35% QEI concentration in any single sector.
- Sector score =
(sectors_represented / 4.8) × 80, capped at 100 - Concentration penalty =
(max_single_sector_pct - 0.35) × 200, subtracted if over the 35% ceiling
A pipeline with only healthcare projects (1 sector, 100% concentration) would score near 0 on this dimension even if the healthcare projects themselves are excellent. Diversifying into education, small business, and community facilities rapidly improves the sector score.
5. Pipeline Quality (weight: 5%)¶
A composite of three factors:
- Eligibility rate (40% of the sub-score): what fraction of projects are in NMTC-eligible census tracts. Winner average is 96%. Below 90% the score drops sharply.
- Project count (30%): normalized against the winner median of 13 projects. More projects demonstrate deployment certainty.
- Award size fit (30%): requests in the $35–65MM range score 90/100. Requests under $25MM score 50/100. The $35–65MM range represents ~60% of historical awards by volume.
Composite score and competitive tiers¶
The five dimension scores are multiplied by their weights and summed:
composite = (distress × 0.35) + (impact × 0.25) + (geographic × 0.20) + (sector × 0.15) + (pipeline × 0.05)
The composite score is then classified into a competitive tier:
| Tier | Score Range | Interpretation |
|---|---|---|
| Strong | 75–100 | Well-aligned with historical winners across most dimensions |
| Competitive | 55–74 | Above threshold in key dimensions; targeted improvements recommended |
| Marginal | 35–54 | Significant gaps in one or more high-weight dimensions |
| Weak | 0–34 | Below typical winner patterns; substantial restructuring required |
Reading the score output¶
score = app.score_win_probability()
# Composite alignment score
print(score.composite_score) # e.g. 71.4
# Per-dimension scores
print(score.dimensional_scores)
# {
# "distress_concentration": 82.0,
# "geographic_diversity": 65.0,
# "impact_intensity": 74.0,
# "sector_diversity": 71.0,
# "pipeline_quality": 85.0,
# }
# Competitive tier
print(score.competitive_tier) # "competitive"
# Historical acceptance rate baseline
print(score.acceptance_rate_baseline) # e.g. 0.345 (34.5%)
# Always-present disclosure
print(score.methodology_disclosure)
# Human-readable summary
print(score.summary())
# JSON-safe dict
data = score.to_dict()
Using the score to prioritize improvements¶
The dimensional breakdown is the most actionable output. To identify where to focus:
dims = score.dimensional_scores
# Find dimensions below 55 (marginal threshold)
gaps = {k: v for k, v in dims.items() if v < 55}
print(f"Priority gaps: {gaps}")
Then use app.recommendations() for specific, quantified actions tied to each gap. The recommendation engine directly maps to these same five dimensions — each recommendation includes a numeric improvement estimate tied to the relevant dimension score.
Typical prioritization logic:
- Fix any distress dimension score below 40 — this is the highest-weight dimension and the most direct signal to the CDFI Fund that your pipeline serves genuinely distressed communities.
- Ensure impact intensity is above the p25 threshold (6 jobs/$MM) — below this the impact score contributes essentially nothing to the composite.
- Confirm geographic diversity: single-state pipelines are very rarely funded. If you have fewer than 4 states, geographic is likely scoring near zero and dragging down the composite.
- Check sector concentration: if one sector exceeds 35% of QEI, you are taking a penalty on the sector dimension.
- Pipeline quality (5% weight) — meaningful for borderline applications but usually not the deciding factor.
Acceptance rate baseline¶
score.acceptance_rate_baseline is the average acceptance rate across the four most recent NMTC allocation rounds (CY2020–CY2023). Recent round data:
| Round | Applications | Awards | Acceptance Rate |
|---|---|---|---|
| CY2020 | 196 | 76 | 38.8% |
| CY2021 | 341 | 100 | 29.3% |
| CY2022 | 280 | 100 | 35.7% |
| CY2023 | 305 | 107 | 35.1% |
The overall acceptance rate matters for context — even a "strong" alignment score does not remove the inherent selectivity of the program. The acceptance rate tells you that roughly 30–39% of applicants receive awards in any given round, meaning competition is genuinely intense regardless of alignment score.