No measurable state-level payoff, either way: fiscal size doesn't predict income or population growth, 2010-2023
50-state analysis, real median household income and population growth, 2010-2023 (askamerica data)
Summary
Since 2010, there is no statistically detectable relationship, in either direction, between how much a state taxes/spends and how its households or population fared. Across the 50 states, states that raised and spent more per capita (on state+local taxes overall, or specifically on education and highways) did not see faster real household income growth than low-tax, low-spend states — the correlation is essentially zero (r = 0.05 for total tax revenue per capita, r = 0.04 for education+highway spending per capita, both p > 0.7, n = 50). Higher-tax/higher-spend states also did not see faster population growth; if anything the correlation runs weakly negative, but it is not statistically significant (r ≈ -0.15, p ≈ 0.3). The honest answer to "which strategy worked" is that the data does not support declaring a winner — fiscal policy stance (as measured here) is not what separated the states with strong income and population growth from the states without it over this period.
How this was built
Investment proxy: per-capita spending on K-12 education (Census government-finance item codes E12 current operations + F12 capital outlay) and highways (E44 + F44), summed across every level of state and local government within each state, from fiscal.govt_finance_by_unit (Census Annual Survey of State & Local Government Finances), averaged over 2013-2022 to smooth this table's known sample-survey volatility (it is a stratified sample, not a full census, in non-Census-of-Governments years).
Tax/regulation proxy: the catalog has no direct measure of regulatory stringency (search_catalog returned zero matches for "regulation"), so this uses total state+local tax revenue per capita (all Census STC tax-item codes T01-T99) as the closest available proxy for "low taxes" — it does not capture regulatory burden at all, which is a genuine gap in this corpus, not a choice.
Outcomes tested (per the corpus's own guidance to test every outcome a question implies, not just the first one): (1) real median household income growth, state level, 2010→2023 (Census ACS 1-Year, census.acs1_income, deflated to constant 2023 dollars using BLS CPI-U via this connector's own inflation adjuster — the CPI deflator applied was 1.397), and (2) population growth 2010→2022 (census.acs_population) as a "voting with their feet" proxy for migration, since the corpus's ACS migration table only carries gross prior-residence counts, not a usable net-migration rate.
Exclusions, checked explicitly: the government-finance query filtered on state_fips IS NOT NULL as a precaution, but a direct check found this excluded zero rows in the 2013-2022 window (every row in that window already carries a state_fips) — so this predicate changed nothing about the result. The only real exclusions in this analysis are DC and Puerto Rico, dropped as non-comparable units: DC is a fully urban federal city with a government-finance structure unlike any state's, and Puerto Rico is a territory (not covered by the government-finance tax collections used here) whose 2010 and 2023 household income figures ($18,862 and $25,621, roughly a third of the median state) would dominate any correlation as an extreme outlier. Including DC changes little (its own tax and investment per capita are both very high, and its income growth of 33% nominal / roughly 20% real is itself an outlier at the high end); Puerto Rico could not be included on the fiscal side at all since it carries no state+local tax data in this table. n = 50 states.
What the numbers actually show
| Tax revenue/capita vs. real income growth | 0.054 | 0.71 | 50 |
| Education+highway spend/capita vs. real income growth | 0.037 | 0.80 | 50 |
| Tax revenue/capita vs. population growth | -0.146 | 0.31 | 50 |
| Education+highway spend/capita vs. population growth | -0.150 | 0.30 | 50 |
| Education+highway spend/capita vs. population growth | -0.150 | 0.30 | 50 |
| Education+highway spend/capita vs. real income growth | 0.037 | 0.80 | 50 |
| Tax revenue/capita vs. population growth | -0.146 | 0.31 | 50 |
| Tax revenue/capita vs. real income growth | 0.054 | 0.71 | 50 |
| Tax revenue/capita vs. real income growth | 0.054 | 0.71 | 50 |
| Education+highway spend/capita vs. real income growth | 0.037 | 0.80 | 50 |
| Tax revenue/capita vs. population growth | -0.146 | 0.31 | 50 |
| Education+highway spend/capita vs. population growth | -0.150 | 0.30 | 50 |
| Education+highway spend/capita vs. real income growth | 0.037 | 0.80 | 50 |
| Tax revenue/capita vs. real income growth | 0.054 | 0.71 | 50 |
| Tax revenue/capita vs. population growth | -0.146 | 0.31 | 50 |
| Education+highway spend/capita vs. population growth | -0.150 | 0.30 | 50 |
| Tax revenue/capita vs. real income growth | 0.054 | 0.71 | 50 |
| Education+highway spend/capita vs. real income growth | 0.037 | 0.80 | 50 |
| Tax revenue/capita vs. population growth | -0.146 | 0.31 | 50 |
| Education+highway spend/capita vs. population growth | -0.150 | 0.30 | 50 |
None of these clears conventional significance thresholds. The strongest of the four (population growth vs. fiscal size, both measures) is a weak, non-significant NEGATIVE association — i.e., if anything points toward high-tax/high-spend states growing population slightly slower, consistent with some "people vote with their feet toward lower taxes" narratives, but far too weak and noisy here to hang a conclusion on.
A finding in its own right: the two "policy sides" of this question are not actually separable in the data. State+local tax revenue per capita and education+highway spending per capita correlate at r = 0.98 across states — states that spend heavily on education and roads are, essentially by fiscal necessity, the same states with high overall tax collections (e.g., Vermont, New Jersey, Wyoming, Alaska, New York cluster at the high end of both; several fast-growing low-tax Southern and Mountain states cluster at the low end of both). This means "invest more" and "tax more" are not independent levers a state can pull one without the other — they are close to the same axis, at least as measured by aggregate dollars. A question posed as an either/or choice between them is, mechanically, closer to a single spending-scale dimension than two separate policy strategies.
Limitations, honestly stated
- No regulation measure exists in this corpus. "Keeping regulation low" could not be tested at all — only the tax/spend side of the question was answerable here. A state regulatory-burden index (e.g., a Mercatus-style state regulation count, or a state minimum-wage/right-to-work indicator) would need to come from an external source to close this gap.
- Correlation, not causation, at n=50. With 50 states and one cross-sectional comparison, this cannot rule out state-specific confounds (energy-price windfalls in Alaska/Wyoming/North Dakota, tech-sector concentration in California/Washington, retirement in-migration in Florida) driving both the fiscal numbers and the outcomes independently of any policy choice.
- The tax and spending figures are levels, not marginal rates. A state can have high total tax revenue per capita because it is wealthy (higher tax base at a constant rate) rather than because it taxes more heavily as a share of income — this analysis does not control for that.
- fiscal.govt_finance_by_unit is a stratified sample survey, not a full census of governments in most years; single-year state totals for smaller states can be noisy (confirmed live: Alaska's per-capita tax figure swung from $9,355 to $3,638 to $6,913 across three consecutive years), which is why this analysis averaged 10 years rather than using any single year.
- Real income growth used the ACS 1-Year estimate, which carries wider margins of error than the 5-Year estimate, though it is the only state-level series reaching back cleanly to 2010 in this corpus.
What This Report Does Not Answer
- Regulation low as a lever: No state regulatory-burden or regulatory-stringency measure exists anywhere in this corpus (search_catalog returned zero matches for 'regulation'). This clause could not be tested with askamerica data; an external regulatory index (e.g. a state-level regulatory restrictiveness count) would be needed to close this gap.
Every query behind this report
6 warehouse calls ran in this session, in order. Each is reproducible against the same snapshot.
query — 4 rows — 3360 ms
SELECT item_code, COUNT(*) as n, SUM(amount_thousands) as total FROM fiscal.govt_finance_by_unit WHERE item_code IN ('E44','F44','E01','E03') AND "year"='2022' GROUP BY item_codequery — 20 rows — 10823 ms
WITH gf AS (
SELECT state_fips, "year",
SUM(CASE WHEN item_code IN ('E12','F12','E44','F44') THEN amount_thousands ELSE 0 END) AS invest_thousands,
SUM(CASE WHEN item_code IN ('T01','T09','T10','T11','T12','T13','T14','T15','T16','T19','T20','T21','T22','T23','T24','T25','T26','T27','T28','T29','T40','T41','T50','T51','T53','T99') THEN amount_thousands ELSE 0 END) AS tax_thousands
FROM fiscal.govt_finance_by_unit
WHERE "year" BETWEEN '2013' AND '2022' AND state_fips IS NOT NULL
GROUP BY state_fips, "year"
),
pop AS (
SELECT state, "year", SUM(total_population) AS pop
FROM census.acs_population
WHERE geography = 'state' AND "year" BETWEEN '2013' AND '2022'
GROUP BY state, "year"
)
SELECT gf.state_fips, gf."year", gf.invest_thousands*1000.0/pop.pop AS invest_per_capita, gf.tax_thousands*1000.0/pop.pop AS tax_per_capita
FROM gf JOIN pop ON gf.state_fips = pop.state AND gf."year" = pop."year"
ORDER BY gf.state_fips, gf."year"
LIMIT 20
query — 51 rows — 6887 ms
WITH gf AS (
SELECT state_fips, "year",
SUM(CASE WHEN item_code IN ('E12','F12','E44','F44') THEN amount_thousands ELSE 0 END) AS invest_thousands,
SUM(CASE WHEN item_code IN ('T01','T09','T10','T11','T12','T13','T14','T15','T16','T19','T20','T21','T22','T23','T24','T25','T26','T27','T28','T29','T40','T41','T50','T51','T53','T99') THEN amount_thousands ELSE 0 END) AS tax_thousands
FROM fiscal.govt_finance_by_unit
WHERE "year" BETWEEN '2013' AND '2022' AND state_fips IS NOT NULL
GROUP BY state_fips, "year"
),
pop AS (
SELECT state, "year", SUM(total_population) AS pop
FROM census.acs_population
WHERE geography = 'state' AND "year" BETWEEN '2013' AND '2022'
GROUP BY state, "year"
),
per_year AS (
SELECT gf.state_fips, gf."year", gf.invest_thousands*1000.0/pop.pop AS invest_pc, gf.tax_thousands*1000.0/pop.pop AS tax_pc
FROM gf JOIN pop ON gf.state_fips = pop.state AND gf."year" = pop."year"
)
SELECT state_fips, AVG(invest_pc) AS avg_invest_pc, AVG(tax_pc) AS avg_tax_pc, COUNT(*) AS n_years
FROM per_year
GROUP BY state_fips
ORDER BY state_fips
query — 104 rows — 2757 ms
SELECT state, "year", median_household_income
FROM census.acs1_income
WHERE "year" IN ('2010','2023') AND state IS NOT NULL
ORDER BY state, "year"
query — 104 rows — 1205 ms
SELECT state, "year", SUM(total_population) AS pop
FROM census.acs_population
WHERE geography='state' AND "year" IN ('2010','2022')
GROUP BY state, "year"
ORDER BY state, "year"
query — 1 rows — 4767 ms
SELECT COUNT(*) AS n, SUM(amount_thousands) AS total FROM fiscal.govt_finance_by_unit WHERE state_fips IS NULL AND "year" BETWEEN '2013' AND '2022'Sources
- State+local government finance by item code (education E12/F12, highways E44/F44, tax collections T01-T99) — fiscal.govt_finance_by_unit, avg 2013-2022
Show SQL
SELECT state_fips, "year", SUM(CASE WHEN item_code IN ('E12','F12','E44','F44') THEN amount_thousands ELSE 0 END) AS invest_thousands, SUM(CASE WHEN item_code IN ('T01','T09','T10','T11','T12','T13','T14','T15','T16','T19','T20','T21','T22','T23','T24','T25','T26','T27','T28','T29','T40','T41','T50','T51','T53','T99') THEN amount_thousands ELSE 0 END) AS tax_thousands FROM fiscal.govt_finance_by_unit WHERE "year" BETWEEN '2013' AND '2022' AND state_fips IS NOT NULL GROUP BY state_fips, "year" - Median household income by state, 2010 and 2023 (ACS 1-Year) — census.acs1_income
Show SQL
SELECT state, "year", median_household_income FROM census.acs1_income WHERE "year" IN ('2010','2023') AND state IS NOT NULL - State population, 2010 and 2022 (ACS 5-Year) — census.acs_population
Show SQL
SELECT state, "year", SUM(total_population) AS pop FROM census.acs_population WHERE geography='state' AND "year" IN ('2010','2022') GROUP BY state, "year" - CPI-U deflator, 2010→2023 dollars
Show tool call
adjust_inflation(base_year=2023, from_year=2010, amount=1)