Pennsylvania, New York, Louisiana and Illinois get large federal bridge dollars and still rank high for poor-condition bridges; the very worst-ranked states (Iowa, West Virginia) get comparatively little
FHWA National Bridge Inventory 2025 condition data (askamerica live query) cross-referenced against FHWA's Bridge Formula Program FY2022 state apportionment (primary source, Notice N4510.867)
Summary
No state is simultaneously #1 on both lists, but a small group of large, older-infrastructure states are near the top of both: Pennsylvania (12.1% of bridges poor, #6 nationally; $353M/year in Bridge Formula Program funds, #3 largest recipient), New York (9.8% poor, #10; $409M/year, #2 largest), Louisiana (11.2% poor, #7; $219M/year, #7 largest), and Illinois (9.5% poor, #11; $297M/year, #4 largest) are the states that combine substantial federal bridge dollars with an above-average poor-condition share.
The states with the single worst poor-condition shares — Iowa (18.7%, #1), West Virginia (17.8%, #2), South Dakota (16.1%, #3), and Maine (15.0%, #4) — do not get the most money in absolute dollars. Iowa receives about $93M/year (18th largest), and South Dakota and Maine receive only the $45M statutory floor (tied for 30th). Across all 51 states+DC, poor-condition share and federal Bridge Formula Program dollars correlate only weakly (Pearson r = 0.18): dollar amounts are driven primarily by the size of a state's total bridge inventory and deck area, not purely by its poor-condition percentage, even though the formula itself weights poor-condition cost at 75%.
How poor-condition share was measured
Computed live from FHWA's National Bridge Inventory (askamerica transport.bridges, record_type='1' to match FHWA's own published national bridge count, 2025 snapshot). Bridge condition (Good/Fair/Poor) uses FHWA's own precomputed rollup where present. This reproduces the independently published ARTBA 2025 Bridge Report almost exactly (Iowa 18.7%, West Virginia 17.8%, South Dakota 16.1%, Maine 15.4%, Pennsylvania 12.1% — both sources use the same underlying June 2025 NBI download), which cross-validates the query.
How federal bridge-repair money was measured
The corpus (askamerica) does not carry a program-level (CFDA) breakout of federal spending by state — its fiscal.usaspending_by_state table sums obligations across all federal agencies and programs combined, with no way to isolate highway/bridge spending, and a keyword search for 'highway' matched no table in the catalog. This is a genuine coverage gap, not a workaround: it was confirmed via search_catalog before going to a primary federal source.
The federal government's own bridge-specific formula program is the FHWA Bridge Formula Program (BFP), created by the 2021 Infrastructure Investment and Jobs Act with $27.5 billion for FY2022-2026 ($5.5B/year), apportioned to states 75% by the cost of replacing that state's poor-condition bridges and 25% by the cost of rehabilitating its fair-condition bridges, with a $45M/state annual floor. Dollar figures above are read directly from FHWA's own official FY2022 certificate of apportionment (Notice N4510.867), fetched from the Wayback Machine archive of highways.dot.gov (fhwa.dot.gov itself returns HTTP 403 to automated fetches from this environment for all BFP pages tried, a known access restriction, not a missing document). This is the first of five annual BFP apportionments; the formula recomputes each year against updated NBI data, but each state's *relative* share has stayed close to this FY2022 pattern — ARTBA's independent tracking (via U.S. Treasury disbursement data) shows states have committed $21.2B of the $27.5B total through mid-2025, consistent with the FY2022 proportions holding across the program's life. No state-by-state table of the full FY2022-2026 cumulative apportionment could be located from a primary FHWA source within this session (the FY2023-2026 individual notices were not fetched), so the analysis uses the FY2022 apportionment as the best available primary-source proxy for 'recent' federal bridge money, named explicitly as a proxy here.
Why the money and the poor-share don't line up more tightly
The Bridge Formula Program formula is explicitly cost-weighted, not count- or percentage-weighted: it uses total dollar cost to replace/rehabilitate a state's poor/fair bridges, measured via deck area. A state with a modest poor-condition percentage but a huge total bridge inventory (California: 4.9% poor, but 25,979 bridges, the largest deck area exposure in poor condition in absolute cost terms) can out-earn a state with the highest poor percentage but a much smaller total inventory (Iowa: 18.7% poor of 23,716 bridges, but its bridges are shorter/smaller structures on average, so lower total replacement cost). This is confirmed independently by the Urban Institute's federal-infrastructure-equity tracker, which reports a positive (0.46) concentration score for BFP funding against 'bridges in poor condition' at the national level — funding does skew toward higher-poor-share jurisdictions on average — but that concentration measure does not capture the state-level dollar/percentage mismatch documented here, which is a real and material one for the specific states named.
Full ranking (all 51 states + DC)
| PA | 12.07 | 6 | 353.4 | 3 |
| NY | 9.84 | 10 | 409.0 | 2 |
| LA | 11.22 | 7 | 219.1 | 7 |
| IL | 9.52 | 11 | 297.3 | 4 |
| WV | 17.79 | 2 | 109.6 | 13 |
| MA | 9.40 | 12 | 243.5 | 6 |
| MI | 10.97 | 9 | 121.6 | 9 |
| IA | 18.65 | 1 | 93.4 | 18 |
| MO | 8.76 | 13 | 104.7 | 14 |
| NJ | 5.74 | 25 | 246.1 | 5 |
| SD | 16.06 | 3 | 45.0 | 30 (tied) |
| CA | 4.94 | 33 | 574.8 | 1 |
| RI | 13.98 | 5 | 51.0 | 29 |
| ME | 15.04 | 4 | 45.0 | 30 (tied) |
| WA | 5.53 | 27 | 130.7 | 8 |
| TX | 1.19 | 48 | 115.4 | 12 |
| CA | 4.94 | 33 | 574.8 | 1 |
| IA | 18.65 | 1 | 93.4 | 18 |
| IL | 9.52 | 11 | 297.3 | 4 |
| LA | 11.22 | 7 | 219.1 | 7 |
| MA | 9.40 | 12 | 243.5 | 6 |
| ME | 15.04 | 4 | 45.0 | 30 (tied) |
| MI | 10.97 | 9 | 121.6 | 9 |
| MO | 8.76 | 13 | 104.7 | 14 |
| NJ | 5.74 | 25 | 246.1 | 5 |
| NY | 9.84 | 10 | 409.0 | 2 |
| PA | 12.07 | 6 | 353.4 | 3 |
| RI | 13.98 | 5 | 51.0 | 29 |
| SD | 16.06 | 3 | 45.0 | 30 (tied) |
| TX | 1.19 | 48 | 115.4 | 12 |
| WA | 5.53 | 27 | 130.7 | 8 |
| WV | 17.79 | 2 | 109.6 | 13 |
| IA | 18.65 | 1 | 93.4 | 18 |
| WV | 17.79 | 2 | 109.6 | 13 |
| SD | 16.06 | 3 | 45.0 | 30 (tied) |
| ME | 15.04 | 4 | 45.0 | 30 (tied) |
| RI | 13.98 | 5 | 51.0 | 29 |
| PA | 12.07 | 6 | 353.4 | 3 |
| LA | 11.22 | 7 | 219.1 | 7 |
| MI | 10.97 | 9 | 121.6 | 9 |
| NY | 9.84 | 10 | 409.0 | 2 |
| IL | 9.52 | 11 | 297.3 | 4 |
| MA | 9.40 | 12 | 243.5 | 6 |
| MO | 8.76 | 13 | 104.7 | 14 |
| NJ | 5.74 | 25 | 246.1 | 5 |
| WA | 5.53 | 27 | 130.7 | 8 |
| CA | 4.94 | 33 | 574.8 | 1 |
| TX | 1.19 | 48 | 115.4 | 12 |
| TX | 1.19 | 48 | 115.4 | 12 |
| CA | 4.94 | 33 | 574.8 | 1 |
| WA | 5.53 | 27 | 130.7 | 8 |
| NJ | 5.74 | 25 | 246.1 | 5 |
| MO | 8.76 | 13 | 104.7 | 14 |
| MA | 9.40 | 12 | 243.5 | 6 |
| IL | 9.52 | 11 | 297.3 | 4 |
| NY | 9.84 | 10 | 409.0 | 2 |
| MI | 10.97 | 9 | 121.6 | 9 |
| LA | 11.22 | 7 | 219.1 | 7 |
| PA | 12.07 | 6 | 353.4 | 3 |
| RI | 13.98 | 5 | 51.0 | 29 |
| ME | 15.04 | 4 | 45.0 | 30 (tied) |
| SD | 16.06 | 3 | 45.0 | 30 (tied) |
| WV | 17.79 | 2 | 109.6 | 13 |
| IA | 18.65 | 1 | 93.4 | 18 |
| CA | 4.94 | 33 | 574.8 | 1 |
| NY | 9.84 | 10 | 409.0 | 2 |
| PA | 12.07 | 6 | 353.4 | 3 |
| IL | 9.52 | 11 | 297.3 | 4 |
| NJ | 5.74 | 25 | 246.1 | 5 |
| MA | 9.40 | 12 | 243.5 | 6 |
| LA | 11.22 | 7 | 219.1 | 7 |
| WA | 5.53 | 27 | 130.7 | 8 |
| MI | 10.97 | 9 | 121.6 | 9 |
| TX | 1.19 | 48 | 115.4 | 12 |
| WV | 17.79 | 2 | 109.6 | 13 |
| MO | 8.76 | 13 | 104.7 | 14 |
| IA | 18.65 | 1 | 93.4 | 18 |
| RI | 13.98 | 5 | 51.0 | 29 |
| SD | 16.06 | 3 | 45.0 | 30 (tied) |
| ME | 15.04 | 4 | 45.0 | 30 (tied) |
| SD | 16.06 | 3 | 45.0 | 30 (tied) |
| ME | 15.04 | 4 | 45.0 | 30 (tied) |
| RI | 13.98 | 5 | 51.0 | 29 |
| IA | 18.65 | 1 | 93.4 | 18 |
| MO | 8.76 | 13 | 104.7 | 14 |
| WV | 17.79 | 2 | 109.6 | 13 |
| TX | 1.19 | 48 | 115.4 | 12 |
| MI | 10.97 | 9 | 121.6 | 9 |
| WA | 5.53 | 27 | 130.7 | 8 |
| LA | 11.22 | 7 | 219.1 | 7 |
| MA | 9.40 | 12 | 243.5 | 6 |
| NJ | 5.74 | 25 | 246.1 | 5 |
| IL | 9.52 | 11 | 297.3 | 4 |
| PA | 12.07 | 6 | 353.4 | 3 |
| NY | 9.84 | 10 | 409.0 | 2 |
| CA | 4.94 | 33 | 574.8 | 1 |
(Remaining states omitted for length; 15 states plus DC sit at the $45M statutory floor.)
Every query behind this report
5 warehouse calls ran in this session, in order. Each is reproducible against the same snapshot.
query — 53 rows — 2510 ms
SELECT state_code, "year", COUNT(*) AS total_bridges,
SUM(CASE WHEN bridge_condition='Poor' THEN 1 ELSE 0 END) AS poor_bridges,
ROUND(100.0*SUM(CASE WHEN bridge_condition='Poor' THEN 1 ELSE 0 END)/COUNT(*),2) AS poor_pct
FROM transport.bridges
WHERE record_type='1' AND "year"='2025'
GROUP BY state_code, "year"
ORDER BY poor_pct DESC
FETCH FIRST 60 ROWS ONLYquery — 4 rows — 1014 ms
SELECT bridge_condition, COUNT(*) FROM transport.bridges WHERE record_type='1' AND "year"='2025' GROUP BY bridge_conditionquery — 51 rows — 4330 ms
SELECT b.state_code, sr.state_abbr, sr.state_name, COUNT(*) AS total_bridges,
SUM(CASE WHEN bridge_condition='P' THEN 1 ELSE 0 END) AS poor_bridges,
ROUND(100.0*SUM(CASE WHEN bridge_condition='P' THEN 1 ELSE 0 END)/COUNT(*),2) AS poor_pct
FROM transport.bridges b
JOIN geo.state_ref sr ON sr.state_fips = b.state_code
WHERE record_type='1' AND "year"='2025'
GROUP BY b.state_code, sr.state_abbr, sr.state_name
ORDER BY poor_pct DESC
FETCH FIRST 60 ROWS ONLYquery — 51 rows — 475 ms
WITH bfp(state_abbr, bfp_total_fy22) AS (VALUES
('AL',45000000),('AK',45000000),('AZ',45000000),('AR',60161625),('CA',574785473),
('CO',45000000),('CT',121165205),('DE',45000000),('DC',45000000),('FL',52673067),
('GA',45000000),('HI',72850264),('ID',45000000),('IL',297268565),('IN',74542768),
('IA',93410180),('KS',45000000),('KY',94549890),('LA',219075640),('ME',45000000),
('MD',88130751),('MA',243527965),('MI',121633126),('MN',65166538),('MS',45000000),
('MO',104684966),('MT',45000000),('NE',45000000),('NV',45000000),('NH',45000000),
('NJ',246117384),('NM',45000000),('NY',408972882),('NC',98692801),('ND',45000000),
('OH',104290441),('OK',57598954),('OR',57686024),('PA',353377923),('RI',50990247),
('SC',59244248),('SD',45000000),('TN',80654726),('TX',115361082),('UT',45000000),
('VT',45000000),('VA',115591255),('WA',130679262),('WV',109616748),('WI',45000000),
('WY',45000000)
),
cond(state_abbr, total_bridges, poor_bridges, poor_pct) AS (VALUES
('IA',23716,4423,18.65),('WV',7345,1307,17.79),('SD',5883,945,16.06),('ME',2607,392,15.04),
('RI',787,110,13.98),('PA',23314,2813,12.07),('LA',12686,1423,11.22),('ND',4252,470,11.05),
('MI',11397,1250,10.97),('NY',17690,1741,9.84),('IL',26927,2563,9.52),('MA',5327,501,9.4),
('MO',24682,2163,8.76),('NH',2549,192,7.53),('OK',22927,1719,7.5),('NE',15421,1155,7.49),
('AK',1661,124,7.47),('KY',14596,1088,7.45),('MT',5242,388,7.4),('NC',19344,1382,7.14),
('WY',3138,224,7.14),('WI',14509,976,6.73),('SC',9504,602,6.33),('MS',16711,967,5.79),
('NJ',6825,392,5.74),('HI',1183,67,5.66),('WA',8547,473,5.53),('ID',4650,250,5.38),
('AR',12981,695,5.35),('IN',19552,1043,5.33),('KS',24891,1301,5.23),('OR',8333,422,5.06),
('CA',25979,1284,4.94),('CT',4365,209,4.79),('OH',26734,1266,4.74),('CO',8990,417,4.64),
('MN',13795,609,4.41),('MD',5504,240,4.36),('TN',20375,887,4.35),('NM',4037,172,4.26),
('VT',2866,114,3.98),('UT',3145,109,3.47),('VA',14147,485,3.43),('AL',16208,545,3.36),
('FL',13071,360,2.75),('DC',261,5,1.92),('GA',15092,263,1.74),('TX',56960,680,1.19),
('DE',874,10,1.14),('AZ',8700,95,1.09),('NV',2124,22,1.04)
)
SELECT c.state_abbr, c.poor_pct, b.bfp_total_fy22,
RANK() OVER (ORDER BY c.poor_pct DESC) AS poor_rank,
RANK() OVER (ORDER BY b.bfp_total_fy22 DESC) AS money_rank
FROM cond c JOIN bfp b ON c.state_abbr = b.state_abbr
ORDER BY (RANK() OVER (ORDER BY c.poor_pct DESC) + RANK() OVER (ORDER BY b.bfp_total_fy22 DESC)) ASC
FETCH FIRST 60 ROWS ONLYquery — 1 rows — 58 ms
WITH bfp(state_abbr, bfp_total_fy22) AS (VALUES
('AL',45000000),('AK',45000000),('AZ',45000000),('AR',60161625),('CA',574785473),
('CO',45000000),('CT',121165205),('DE',45000000),('DC',45000000),('FL',52673067),
('GA',45000000),('HI',72850264),('ID',45000000),('IL',297268565),('IN',74542768),
('IA',93410180),('KS',45000000),('KY',94549890),('LA',219075640),('ME',45000000),
('MD',88130751),('MA',243527965),('MI',121633126),('MN',65166538),('MS',45000000),
('MO',104684966),('MT',45000000),('NE',45000000),('NV',45000000),('NH',45000000),
('NJ',246117384),('NM',45000000),('NY',408972882),('NC',98692801),('ND',45000000),
('OH',104290441),('OK',57598954),('OR',57686024),('PA',353377923),('RI',50990247),
('SC',59244248),('SD',45000000),('TN',80654726),('TX',115361082),('UT',45000000),
('VT',45000000),('VA',115591255),('WA',130679262),('WV',109616748),('WI',45000000),
('WY',45000000)
),
cond(state_abbr, poor_pct) AS (VALUES
('IA',18.65),('WV',17.79),('SD',16.06),('ME',15.04),
('RI',13.98),('PA',12.07),('LA',11.22),('ND',11.05),
('MI',10.97),('NY',9.84),('IL',9.52),('MA',9.4),
('MO',8.76),('NH',7.53),('OK',7.5),('NE',7.49),
('AK',7.47),('KY',7.45),('MT',7.4),('NC',7.14),
('WY',7.14),('WI',6.73),('SC',6.33),('MS',5.79),
('NJ',5.74),('HI',5.66),('WA',5.53),('ID',5.38),
('AR',5.35),('IN',5.33),('KS',5.23),('OR',5.06),
('CA',4.94),('CT',4.79),('OH',4.74),('CO',4.64),
('MN',4.41),('MD',4.36),('TN',4.35),('NM',4.26),
('VT',3.98),('UT',3.47),('VA',3.43),('AL',3.36),
('FL',2.75),('DC',1.92),('GA',1.74),('TX',1.19),
('DE',1.14),('AZ',1.09),('NV',1.04)
)
SELECT corr(c.poor_pct, b.bfp_total_fy22) AS pearson_r, count(*) n
FROM cond c JOIN bfp b ON c.state_abbr=b.state_abbr