Construction contracts

New homes permitted after a jump in construction contracts

The chart shows, year by year, how much more (or less) new homes permitted changed in counties whose money jumped than in similar counties. Year 0 is the calendar year in which the money's fiscal year ended; change is measured from the year before (−1).

This is not cause and effect: other events in the same places and years can explain a difference.

What the comparison found

No clear difference

No clear difference in new homes permitted in the year after, compared with similar counties (estimate +0.15 per 1,000 people; 95% range −0.10 to 0.42; 241 cases).

The uncertainty range includes no difference at all.

Why compare these
Large projects can raise demand for housing near the site. A change could plausibly show 1–2 years after the money.
Keep in mind
Permits follow local zoning, interest rates and builders' plans far more than any single project.

Difference by year

Difference by year

Difference in change (per 1,000 people)
−0.20.0+0.2+0.4+0.6−3241−2241base year−10241+0.15 per 1,000 people+1241+2211Cases

Years from the money's year (0 = calendar year the fiscal year ends)

Placebo check

Before the money
−0.20.0+0.2+0.40250+1250Cases

The same method dated 3 years earlier, before any of this money. It should find nothing: if it finds a difference, the counties already differed and the result cannot be read.

Each dot is the average difference in change between counties whose money jumped and their comparison counties; the line is the 95% range. The number under each year is how many cases it rests on.

Table view
Difference in change by year, with the 95% range and the number of cases
YearCasesDifference95% rangeJump counties, average changeComparison counties, average change
−3241+0.01 per 1,000 people−0.06 to 0.07−0.20 per 1,000 people−0.20 per 1,000 people
−2241+0.13 per 1,000 people−0.04 to 0.32+0.12 per 1,000 people−0.01 per 1,000 people
−1base year—0.00 per 1,000 people———
0241+0.24 per 1,000 people−0.01 to 0.53+0.44 per 1,000 people+0.20 per 1,000 people
+1241+0.15 per 1,000 people−0.10 to 0.42+0.34 per 1,000 people+0.20 per 1,000 people
+2211+0.23 per 1,000 people−0.09 to 0.56+0.54 per 1,000 people+0.31 per 1,000 people
Table view · Placebo check
Placebo check
YearCasesDifference95% rangeJump counties, average changeComparison counties, average change
0250+0.02 per 1,000 people−0.14 to 0.18+0.40 per 1,000 people+0.38 per 1,000 people
+1250+0.16 per 1,000 people−0.04 to 0.37+0.74 per 1,000 people+0.57 per 1,000 people

Left out of this comparison

Counties are excluded by rules fixed in advance, not by looking at results.

  • 250 jumps where one recipient accounted for most of the increase (a single large award, not a broad rise).
  • 71 jumps that follow an earlier jump, so the comparison years overlap.
  • 19 jumps without an outcome history or without close comparison counties.

The counties behind this result

Each row is one county in one fiscal year, with the money per resident that year against its own earlier average, and how its outcome changed compared with its similar counties in the headline year.

The counties behind this result
Meade County, SDFY2022$10,518$1,1219.4×2−0.60 per 1,000 peopleOutside
Bay County, FLFY2022$10,397$1,4507.2×2+1.4 per 1,000 peopleInside
Starr County, TXFY2019$7,366$60.21122×5−2.5 per 1,000 peopleInside
Camden County, GAFY2021$8,808$3,0542.9×3−1.3 per 1,000 peopleInside
Craven County, NCFY2020$6,341$1,2505.1×5−2.7 per 1,000 peopleInside
Chippewa County, MIFY2020$4,870$31116×5−1.9 per 1,000 peopleOutside
Clarke County, VAFY2018$6,182$1,8953.3×5+8.1 per 1,000 peopleOutside
Mineral County, WVFY2023$3,427$17220×5+0.85 per 1,000 peopleOutside
Yuma County, AZFY2019$3,662$4089×5+0.63 per 1,000 peopleInside
Hendry County, FLFY2019$3,219$67.3548×5+7.1 per 1,000 peopleOutside
Monroe County, WIFY2022$4,535$1,4453.1×3+0.34 per 1,000 peopleInside
Massac County, ILFY2018$3,294$28012×5−1.4 per 1,000 peopleOutside
Webb County, TXFY2020$3,041$53.8257×5−0.10 per 1,000 peopleInside
Plaquemines Parish, LAFY2018$5,510$2,5902.1×4+1.8 per 1,000 peopleOutside
Onslow County, NCFY2019$4,254$1,4662.9×5+0.49 per 1,000 peopleInside
Buffalo County, WIFY2021$2,994$27611×5+0.53 per 1,000 peopleInside
St. John the Baptist Parish, LAFY2023$2,778$61.6545×5+1.0 per 1,000 peopleOutside
Mariposa County, CAFY2020$3,682$1,0843.4×4+2.7 per 1,000 peopleOutside
Portsmouth city, VAFY2022$4,794$2,2162.2×5−2.6 per 1,000 peopleOutside
Pulaski County, MOFY2019$3,747$1,3812.7×4+0.07 per 1,000 peopleInside
Maui County, HIFY2024$2,171$30.7371×5+2.3 per 1,000 peopleOutside
York County, VAFY2023$2,992$8553.5×5−0.43 per 1,000 peopleInside
Yuba County, CAFY2023$2,879$8603.3×5+2.5 per 1,000 peopleOutside
Bay County, FLFY2019$2,258$2558.9×5+7.0 per 1,000 peopleOutside
Kitsap County, WAFY2023$2,839$8833.2×4−1.6 per 1,000 peopleOutside

How this works

The method is fixed in advance and is the same for every pairing: nothing is tuned to get a result.

The method in six steps

  1. Find the jumps. A county-year counts as a jump when the county has at least 10,000 residents and its federal money per resident is at least twice its earlier average, and higher by at least a fixed amount per resident for that kind of money.
  2. Leave out the misleading ones. A jump that comes from one single recipient (one large award), and jumps that follow an earlier jump, are not compared.
  3. Find similar counties. Each jump is matched with up to five counties in the same state or Census division with a similar trend before the jump, similar population and similar earlier money, and with no jump of their own.
  4. Measure the difference. For each year from three years before to two years after, we take how much the county changed since the year before the money (the base year), subtract how much its similar counties changed, and average over all jumps.
  5. Show the uncertainty. Every average comes with a 95% range from resampling the cases 2,000 times: if it includes zero, there is no clear difference.
  6. Check against a placebo. The same comparison is repeated dated three years earlier, before any of this money. If it finds a difference, the counties already differed, and the result is marked unreliable.

Money is counted by federal fiscal year (October to September, named by the year it ends). Outcomes are calendar years. A fiscal year is compared with the calendar year of the same number, so the money of FY2024 (from October 2023) is followed by the outcome of 2025, the year after.

How to read the labels

Every result carries one label about how much weight it can bear:

Not enough cases
Too few counties have had a jump in this money to read a result.
Unreliable
The same comparison, dated before any money arrived, also found a difference: the counties already differed, so this result cannot be read.
No clear difference
The uncertainty range includes no difference at all.
Suggestive difference
The range excludes zero, but from a modest number of cases: a hint, not a finding.
Consistent difference
The range excludes zero across many cases. Still a comparison, not proof of cause.

A result needs at least 10 cases to be read, and at least 30 for the label consistent.

What to keep in mind

  • Money is counted when the government commits it (obligations), not when it is paid out; a multi-year contract can be obligated at once.
  • Money is placed where the work is performed or the program operates, which is not always where the jobs, workers or beneficiaries are.
  • Only a few fiscal years of money are loaded (see the coverage), so each comparison follows a place for one or two years after the money at most.
  • Some comparisons rest on few places: read the number of places and the uncertainty range with every result.
  • These are comparisons, not proof of cause and effect: other events in the same places and years can explain a difference.
  • Many pairings and years are compared at once: by chance alone, about one clear difference in twenty can appear where there is none.
  • Each place is compared with similar counties in the same Census division that saw no comparable jump in money; similar is not identical.
  • Permits follow local zoning, interest rates and builders' plans far more than any single project.

Limits. The comparison cannot rule out other events in the same places and years, and many pairings are compared at once. Treat it as a reason to look closer, never as proof.

Money covered

Fiscal years of money loaded, the years in which a jump can be assessed, and what happened to the candidates.

Money covered
MoneyLoaded fiscal yearsYears assessedCandidatesComparedLeft out: one recipientLeft out: earlier jump
Federal contractsObligationsFY2017–FY2026FY2026 (partial)FY2018–FY202463132920696
Construction contractsObligationsFY2017–FY2026FY2026 (partial)FY2018–FY202458126025071
Contracts and grantsObligationsFY2021–FY2026FY2026 (partial)FY2022–FY202440723214926
Transportation grantsObligationsFY2021–FY2026FY2026 (partial)FY2022–FY202492532857225
Housing assistanceObligationsFY2021–FY2026FY2026 (partial)FY2022–FY2024131744512
HHS grantsObligationsFY2021–FY2026FY2026 (partial)FY2022–FY20248553293
SBA lending volumeLoan face valueFY2021–FY2026FY2026 (partial)FY2022–FY202410820

Sources and vintages

Every value on these pages comes from one of these sources, for the period shown with it.

The results were computed Oct 3, 2026 with method outcomes@1. Read the data as JSON (API docs)

JSON · /api/v1/outcomes/effects

Other comparisons

All comparisons