← All studies · askamerica.ai

More per-pupil spending has not tracked with higher NAEP scores across states in the last decade — but this cross-state snapshot cannot answer the causal question the credible quasi-experimental literature does

edu.f33_district_finance (Census F-33, FY2016 & FY2024) vs. edu.naep_state_trends (grade-8 math+reading, 2017 & 2024), 51 states/DC

Per-pupil spending vs. NAEP grade-8 achievement, 2016-2024 State-level, real (2024) dollars; NAEP grade-8 math+reading composite, national average 2013-2024 Corr(Δ real per-pupil spend, Δ NAEP score), state-level 2016→2024 r = -0.06 p = 0.66 (not significant) 51 states+DC; verified via askengine ols_regression and sensitivity_analysis (leave-one-state-out: no sign flip, coefficient… Mean real per-pupil spending change, 2016→2024 +13.4% +$2,031 (2024$) Mean rose from ~$15,900 to ~$17,900 (2024 dollars); every state raised nominal spending, most rose in real terms too State-level: change in real per-pupil spending vs. change in NAEP score, 2016-2024 -20 -15 -10 -5 0 5 Δ real per-pupil spending, $000s (2024$) Δ NAEP score -10 -5 0 5 10 15 National average NAEP grade-8 score (math+reading composite), 2013-2… 0 50 100 150 200 250 300 Year NAEP score 2013 2015 2017 2019 2022 2024 AskAmerica · askamerica.ai
SVG

Summary

Over the last available decade of comparable state data (2016-2024), the states that raised per-pupil spending fastest were no more likely to see NAEP scores rise (or fall less) than states that raised spending the least — the state-level correlation is essentially zero (r = -0.06, p = 0.66, n = 51). National NAEP grade-8 scores fell almost everywhere over this window (composite math+reading average score down from 275.5 in 2013 to 264.9 in 2024), a decline dominated by the pandemic-era drop after 2019, and that decline swamps any state-level spending signal in this simple before/after comparison. This does NOT mean money doesn't matter: it means a raw cross-state snapshot is the wrong instrument to answer a causal question, because states that raise spending fastest are not a random sample — they differ in cost of living, student need, and other confounds, and every state was hit by the same pandemic shock regardless of its spending trajectory. The credible peer-reviewed literature, which uses court-ordered and legislated school-finance reforms as a source of spending variation unrelated to a state's own achievement trend, generally DOES find a positive, causal effect of increased spending on achievement — concentrated in low-income districts. Both things are true at once: our observational comparison finds no relationship, and the quasi-experimental literature finds a real positive effect that this kind of comparison is not designed to detect.

Step 1 — What the peer-reviewed literature already establishes

Three findings recur across independent lines of research:

The common thread: these studies identify effects using spending changes plausibly UNRELATED to a state's pre-existing achievement trend (a court order, a funding-formula rewrite) — not a raw comparison of whichever states happened to spend more.

Step 2 — What we computed directly from the government data available here, and why it disagrees with the literature's framing rather than contradicting its finding

Data used. Census Bureau F-33 Annual Survey of School System Finances (edu.f33_district_finance), aggregated from district to state level, weighted by enrollment, for the two finance years actually loaded in this warehouse: FY2016 and FY2024 (the table's declared window is FY2023-2024 only; FY2016 was recoverable via a workaround join through edu.ccd_districts because — a data-quality defect we logged via report_issue — every FY2016 row has a NULL state_fips column in the finance table itself). NAEP grade-8 math+reading composite scores (edu.naep_state_trends) for the two available years bracketing that window, 2017 and 2024. FY2016 dollars were converted to real 2024 dollars using the BLS CPI-U (deflator 1.307, verified via adjust_inflation).

Result. Mean real per-pupil current spending rose from about $15,900 (2016, in 2024$) to about $17,900 (2024) — a 13.4% real increase, with every state raising nominal spending and most rising in real terms (range: -8.2% in Alaska to +39.5% in New Mexico). Over the same span, the average NAEP grade-8 composite score FELL by about 9.0 points nationally, and fell in nearly every state regardless of how much its spending grew. Regressing the state-level change in NAEP score on the state-level change in real per-pupil spending (verified with askengine's ols_regression tool) gives a coefficient of -0.12 NAEP points per $1,000 of real per-pupil spending increase, standard error 0.28, p = 0.66 — statistically indistinguishable from zero, and if anything the wrong sign. A leave-one-state-out check (askengine sensitivity_analysis) confirms this is not one outlier state driving a null: the coefficient stays negative and insignificant across every possible single-state exclusion (range -0.28 to 0.00, no sign flip, no p-value crossing 0.05).

Why this doesn't refute the literature. Two confounds this simple design cannot separate: (1) a nationwide, pandemic-driven score decline hit essentially every state between 2019 and 2024 regardless of its spending trajectory, so the outcome variance in this window is dominated by a common shock, not by cross-state spending differences; and (2) spending increases here are NOT randomly assigned or reform-driven — states raise spending for many reasons (rising costs, enrollment shifts, political cycles) that are themselves correlated with a state's baseline trajectory, so this is an observational comparison, not a natural experiment. The quasi-experimental studies above are designed precisely to strip out both confounds; this state cross-section is not.

Step 3 — Data-quality note

edu.f33_district_finance's declared coverage window is FY2023-2024 only, and its FY2016 rows (the only pre-2023 year loaded, with FY2017-2022 an interior gap) all carry a NULL state_fips — a genuine defect, logged to the issue tracker in this session, that would silently prevent any state-level aggregation of that year without the ccd_districts workaround join used here. Given this, the two-finance-year window (2016, 2024) is the widest usable spending comparison this warehouse currently supports; a true year-by-year 10-year panel is not available from this table as loaded.

What This Report Does Not Answer

Sources

  1. Lafortune, Rothstein & Schanzenbach (2018), School Finance Reform and the Distribution of Student Achievement, AEJ: Applied Economics
  2. Jackson, C.K. (NBER Working Paper w28517), The Distribution of School Spending Impacts
  3. Jackson & Mackevicius (2024), What Impacts Can We Expect from School Spending Policy? Evidence from Evaluations in the US, AEJ: Applied Economics
  4. The Commonwealth Institute research summary, Money Matters for Student Outcomes
  5. NCES Fast Facts: Expenditures
  6. Census Bureau, 2023 Public School Spending press release (F-33 survey)
  7. State-level per-pupil spending 2016 & 2024 (workaround join through ccd_districts for FY2016 state_fips)
    Show SQL
    WITH spend16 AS (SELECT d.fips AS state_fips, SUM(f.current_expenditure_thousand)*1000.0/NULLIF(SUM(f.enrollment),0) AS spend16 FROM edu.f33_district_finance f JOIN edu.ccd_districts d ON f.leaid=d.leaid AND d."year"=f."year" WHERE f."year"=2016 AND f.enrollment>0 AND f.current_expenditure_thousand IS NOT NULL AND d.fips IS NOT NULL GROUP BY d.fips) SELECT * FROM spend16
  8. NAEP grade-8 math+reading state trends, 2017 & 2024
    Show SQL
    SELECT jurisdiction, jurisdiction_name, "year", subject, grade, avg_score FROM edu.naep_state_trends WHERE "year" IN (2017,2024) AND grade=8 AND subject IN ('MAT','RED') AND jurisdiction<>0
  9. OLS regression: Δ NAEP score ~ Δ real per-pupil spending ($000s), state-level 2016-2024
    Show tool call
    ols_regression(outcome="d_score", predictors=["d_spend_real_k"])
  10. Leave-one-state-out sensitivity check on the spending coefficient
    Show tool call
    sensitivity_analysis(outcome="d_score", predictors=["d_spend_real_k"], group_col="state_fips")
  11. CPI-U deflator, 2016→2024 (used to express FY2016 spending in 2024 dollars)
    Show tool call
    adjust_inflation(from_year=2016, base_year=2024)