What we got wrong, and when we fixed it
This site is built from public data by one person, and it will sometimes be wrong. When that happens the correction goes here — what the number was, what it is now, why it was wrong, and what else it touched. Nothing is quietly edited. If you think something on this site is mistaken, please tell me.
The record
We narrowed the achievement claim and corrected three finance and staffing definitions.
The Achievement page said poverty “predicts how far behind students start” and repeated a 42% figure as though it described nearly every achievement map. The underlying analysis is observational, and the 42% belongs to one matched measure: pooled SEDA achievement level and average free/reduced-lunch enrollment for 2009–2019. In the same matched data, FRL accounts for about 3% of the variation in learning rate. The page now keeps the finding strong while using associative language and naming the measure, years and district counts.
Three definitions also needed correction or a tighter label. The Methods page described per-pupil spending as total district spending divided by students; DESE’s published measure is current PK–12 instruction and support expenditure after specified exclusions and deductions, divided by September membership. Another Methods note said every per-student figure on the site used DESE attendance even though the F-33 debt, capital and cash figures correctly use F-33 fall membership. Finally, the F-33 cash field was presented as though it were unrestricted operating reserves, and a new small-district comparison needed to state that MNEA reports certified-staff headcounts, not staff FTE or class size.
Achievement claim: poverty predicts where students start; 42% applied broadly → economic disadvantage tracks achievement level much more closely than learning rate; about 42% versus 3% in matched 2009–2019 data DESE per-pupil spending: total spending divided by students → specified current expenditures divided by September membership F-33 denominator: DESE attendance → F-33 fall membership F-33 cash label: cash reserves → cash and investments across sinking, bond and other funds; unrestricted share unknown
The newly published correlation table uses the site’s current district fields as a separate transparency check and labels their different vintages. It is not mixed into the matched 2009–2019 headline calculation.
The completed levy-election reconciliation found three more successful increases and resolved every district name.
The earlier correction to 136 was still three events short. A line-by-line partition of every voter-flagged school operating row in all seven State Auditor reports found 140 candidate district-year rows: 139 successful operating-levy increases and one excluded decrease (Strain-Japan R-XVI in 2021). We had wrongly set aside three real increases: Smithville R-II in 2020, Mehlville R-IX in 2023, and Maplewood-Richmond Heights in 2025. Each district’s own record confirms voter approval and the operating-levy increase or transfer.
Successful operating-levy increases: 136 → 139 Distinct winning districts: 119 → 121 Per-year corrections: 2020: 23; 2023: 20; 2025: 24 → 2020: 24; 2023: 21; 2025: 25 Winning districts still below $3.43 immediately after at least one increase: 23 → 22 Districts with no recorded success in these seven reports: 397 → 395
The below-$3.43 count also contained a separate classification error: Smithville’s 2025 printed row showed a $3.1927 base operating ceiling, but the district also carried a temporary operating component. Its full operating ceiling was $3.8169, so it was not below the performance levy after that increase.
Every event now has an unambiguous district match. The build joins the Auditor’s legal name and tax year to a stable DESE/Census district identifier, never a fuzzy name guess. That resolves Cass County R-V as today’s Archie R-V and Scott County R-V as Scott Co. Central. District profiles now show the verified seven-report history again. When no success appears, the profile says exactly that — never that voters did not ask, because Missouri still has no statewide record of failed proposals. The generator will refuse to publish a history file if any voter-flagged report row is left unmapped or unclassified.
We removed unreliable district-by-district levy-election labels while preserving the verified statewide totals.
The district lookup used an older field to say that a specific district had won an operating-levy election in a particular year, or that the site had no confirmed win for it. That field contained only 13 districts from the superseded extraction. After the statewide record was rebuilt to 136 increases across 119 districts, 10 of those 13 older district matches did not reconcile cleanly by name. The aggregate count is independently verified; the individualized labels are not.
District lookup election status: individual label based on an incomplete district-match field → no winner/non-winner label until all district names are reconciled Verified statewide record: unchanged at 136 increases across 119 districts in seven reported tax years
The lookup now explains the limitation at the point of use. A missing individualized label must not be read as evidence that a district never asked its voters, particularly because Missouri keeps no statewide record of unsuccessful levy proposals. The per-district field will return only after every match has been checked against the seven State Auditor reports.
Resolved later on 27 July 2026: the full identifier-based reconciliation described above mapped every event, so the guarded district-level history has returned.
Two assessed-value source labels named the wrong vintage, and one denominator was missing.
The district lookup and the Rural vs. Suburban page already displayed property-wealth figures calculated from the Missouri State Auditor’s tax year 2025 assessed values. Their small source labels still described those figures as DESE’s December 2024 vintage. The figures were right; the source and year labels were not. The lookup also said that 194 of the 211 districts below the performance levy were already at their ceiling without repeating that the analysis covers 513 districts after excluding three statewide virtual-school hosts.
Dime-test source label: December 2024 AV → State Auditor, tax year 2025 Performance-levy universe at point of use: 194 of 211, universe unstated → 194 of 211 within 513 districts Rural/suburban wealth medians: DESE, December 2024 → State Auditor, tax year 2025; 386 rural and 45 suburban districts
The two excluded rural districts are statewide virtual-school hosts, so their reported enrollment is not a local denominator for property wealth per student. No displayed number changed in this correction; the labels now identify the data actually used and state the comparison universe where the figures appear.
Several explanations had not caught up with corrections already recorded on this page.
The 20 July levy-election correction fixed the main count and the Funding page, but two passages elsewhere still told parts of the superseded story. The Methods page still said only “roughly two districts a year” won an operating-levy increase, even though the corrected record shows about 19 a year. A generated district-lookup explanation also said 63 districts levy exactly $2.75 while the rest of the site used 64.
Successful operating-levy increases per reported year: roughly 2 → roughly 19 Districts levying exactly $2.75, all 516 records: 63 → 64 Reported tax years in the series: six → seven
The $2.75 figures were both reproducible but used different denominators: 64 across all 516 district records, and 63 within the 513-district wealth-analysis universe because Laquey R-V is one of three statewide virtual-school hosts excluded from per-student property-wealth comparisons. The site now states that distinction instead of switching numbers without explanation.
We also restored the original wording of earlier dated correction records and added visible forward notes rather than rewriting those records in place. The debt-service history now shows all three verified stages: the 12 July parser correction moved the median total levy to $4.07; the 13 July operating-levy rebuild moved it to $4.08; and the later 13 July St. Louis County debt reconciliation produced the final $4.12. No source data changed in this cleanup.
Superseded later on 27 July 2026: the completed event partition moved the levy-election average from roughly 19 to roughly 20 successful increases per reported year.
The levy-election count was wrong by nearly an order of magnitude — it read 15, and the number is 136.
This page originally reported that Missouri districts had won only 15 voter-approved operating-levy increases across seven tax years, across 13 districts, with none at all in tax years 2024 or 2025. Beta reviewer Kenya Thompson flagged that this couldn’t be right — her own district, North Callaway County R-I, had passed an operating-levy increase (Prop C) that the count said didn’t exist. She was correct, and so was the record: Blair Oaks (Prop 3, 2024) and Park Hill (Prop G, 2025) had also won levy elections our number missed.
Where 15 came from. Two compounding parser errors. First, the State Auditor’s reports list some districts under legal names that don’t match the names our district list used — Blair Oaks R-II, for instance, is filed as “Cole County R-II School District” — so those rows were silently skipped. Second, the original build only captured about 24 of roughly 52 voter-approval flags in the Auditor’s data; the 2024 and 2025 increases fell entirely in the missed category, which is why the site said “none” when the truth was 44. We re-parsed all seven Auditor reports by hand, checked every A/B voter-approval flag row against a blind independent read, and confirmed three previously-missed elections by name (Blair Oaks, North Callaway, Park Hill) against each district’s own public reporting.
Voter-approved operating-levy increases, seven tax years: 15 → 136 Distinct districts that won one: 13 → 119 Increases in 2024: 0 → 20 Increases in 2025: 0 → 24 Winners still below $3.43 after their increase: 3 → 23 Districts that have never won a levy election: 503 → 397
The numbers were corrected immediately; the section’s argument took a little longer to catch up, because a thesis built on 15 near-invisible elections does not survive being told the true number is 136. The Funding page’s levy-elections section now says what the corrected data actually shows: winning a levy election is not rare — Missouri districts do it roughly 19 times a year — but winning is not the same as clearing the $3.43 bar, and the state keeps no record at all of the districts that asked and were refused. That second point, not the original “it almost never works” claim, turned out to be the real story. Our thanks to Kenya Thompson for catching this.
Superseded 27 July 2026: the final identifier-based reconciliation found three additional increases, bringing the record to 139 events across 121 districts. The original 15→136 correction remains here as the correction that was published at the time; the new correction above records the later change rather than silently rewriting this entry.
The four-day-week count was wrong — it read 179, and the number is 185.
This site reported 179 Missouri districts on a four-day school week. A companion project reported 196. Neither was right, and the two were not even counting the same thing. We reconciled them district by district against the master list Dr. Turner maintains, and every district in the gap is now accounted for.
Where 179 came from. It was a stale extract of the state’s four-day file that simply pre-dated six districts genuinely on the schedule — Ash Grove, Campbell, Clarkton, Kennett #39, Smithton, and Mountain View-Birch Tree. Where 196 came from. It was a row count of the master sheet, which folds in eight districts that do not start until 2026–27, one district that returned to five days in 2023–24, and three that a check of the state file shows never actually adopted the schedule. Counting districts actually on a four-day calendar — the rule being at least 75% of the school year — gives 185 for 2025–26.
For 2026–27 the count is 192, not the 193 we first published. Eight districts join; one, Sunrise R-IX, was required by law to return to five days for at least a year after missing the vote deadline set by SB 727 — the first Missouri district the new vote requirement has pushed off the schedule.
One downstream figure moved enough to flag. On the corrected list, the claim that four-day districts spend “$259 more per pupil” than their rural five-day peers falls to about $103. The direction holds — four-day districts still spend no less, so the schedule was never a budget cut — but the margin is thin enough that we no longer lead with a dollar figure. The teacher-pay comparison is unaffected and slightly sharper.
Districts on a four-day week, 2025–26: 179 → 185 Projected for 2026–27: 196 / 193 → 192 Spending vs. rural five-day peers: +$259 → +$103 (“no less”)
The master list itself has been corrected at the source, so the two projects now agree: a miscoded county-district number for one of Missouri’s two Miami R-I districts was fixed, and the list now carries an explicit status for every district rather than leaving a row count to be misread.
We retract the “$1.6 billion of debt with no debt levy” story. It was our error, not theirs.
This page carried an open question we thought might be the best story on the site: 38 Missouri districts holding $1.6 billion of long-term debt while levying nothing to repay it — 21 of them wealthy suburbs, the list running through Parkway, Ladue, Lindbergh, Hazelwood and Webster Groves. We said we could not explain it. We went looking for the mechanism.
There was no mechanism. The data was wrong, and it was our data. Those 21 St. Louis County districts levy a debt-service tax every year, exactly as anyone would expect. Ladue levies 86¢. Hazelwood levies $1.24. Normandy levies $1.80. The State Auditor’s machine-readable export — the file we built from — records $0.0000 for St. Louis County districts in most years. The Auditor’s own printed report prints the true rate on the page. We had been reading a gap in a spreadsheet as a fact about school finance, and we built a story on it.
What should have given it away. The pattern was too clean. All 21 districts appeared to stop levying in the same year and resume in the same year — Normandy, one of the poorest districts in Missouri, moving in perfect lockstep with Ladue, one of the richest. Twenty-one school boards do not coordinate like that. We wrote it up as a mystery when we should have read it as a symptom. Real behaviour is messy. Only bad data is tidy.
Every affected figure is now taken from the Auditor’s printed report and reconciled against DESE’s independent record of the same levies: 20 of the 21 agree to the cent (Maplewood-Richmond Heights cut its rate from $1.35 to $0.85 between the two years, which both sources confirm).
Districts carrying a debt-service levy: 306 → 327 Median total school levy: $4.08 → $4.12 Districts with debt but no debt levy: 38 → 17 Debt they hold: $1.6 billion → $10.6 million Suburbs among them: 21 → 0
What is actually there, now the error is gone, is small and dull. Seventeen districts — sixteen rural, one a town, not one a suburb — carry long-term debt with no debt-service levy. They hold $10.6 million between them: about one-tenth of one percent of Missouri’s school debt, where we had claimed 17% of it. The largest owes $2.7 million and nine owe under $200,000. They are almost certainly small lease-purchase and equipment obligations paid out of operating funds because they are too small to warrant a dedicated tax. That is an unremarkable answer and it is the true one.
This one stings, because the false version was the more interesting version. That is exactly why it is here.
A sweep of every published figure, after the levy rebuild — eight more errors
Rebuilding the operating levy (below) changed a file that a lot of other numbers quietly depended on. Rather than assume the rest of the site was fine, we re-derived every published figure from the source data. Eight were wrong. Some were casualties of the rebuild; several had been wrong for weeks and had nothing to do with it.
Home page, what a dime raises: $420 vs $67 → $716 vs $39 Median assessed value per student: $130,711 → $130,885 Districts levying exactly $2.75: 65 → 64 Districts that have never won a levy election: 500 → 503 Gain per student, richest quartile, if all reached $3.43: $1,058 → $813 Poorest quartile below the performance levy: 53% → 54% Richest quartile below it: 38% → 35% Correlation, property wealth and local funding share: 0.73 → 0.71
The one that mattered most was an explanation, not a number. The Methods page said we had once used a DESE tax-rate field that was “the ceiling rather than the levied rate,” and that the two differ in 72% of districts “because most districts do not levy their full ceiling.” That reasoning was wrong, and it contradicted our own headline finding — we say elsewhere, correctly, that the overwhelming majority of districts are at their ceiling. Re-examined: 89% levy their ceiling to the cent. The real fault in that DESE field is vintage — DESE labels its files by school year, so its “2025” figure is tax year 2024. It matches the Auditor’s 2024 ceiling for 99% of districts, and differs from the 2025 levied rate for 76% of them because 2025 was a reassessment year and Hancock rollbacks moved nearly every rate. The Methods page now says so.
We are listing the small ones alongside the large. A site that only corrects its embarrassing errors is not keeping a record; it is curating one.
We used the wrong tax rate for 21 St. Louis County districts — and it moved a headline number
Twenty-one districts in St. Louis County do something unusual: they levy a different rate on each class of property — one rate on homes, another on farmland, another on business property, another on cars and equipment. Everywhere else in Missouri a district has a single operating rate.
We published the residential rate as those districts’ operating levy. For a map of what a homeowner pays, that is the right number, and it is the number we will keep showing homeowners. But it is the wrong number for the $3.43 performance-levy test. RSMo 163.011(12) defines a district’s operating levy as the levy of the district — not the rate borne by any one class of property. The district’s levy is its subclass rates weighted by the assessed value in each class, and for these 21 districts it is materially higher than the residential rate. Parkway’s operating levy is $3.14, not the $2.67 we published.
How we caught it: a stray flag in DESE’s levy-by-fund file did not agree with our count of districts at their tax rate ceiling. Chasing it turned up the real problem. We rebuilt every district’s operating levy from the Auditor’s own subclass rates and assessed values, then checked the result against DESE’s independently published operating rate: it now reproduces DESE exactly for all 516 districts in tax year 2024, and for 6,183 of 6,192 district-years (99.85%) across 2013–2024. That check also surfaced two things our earlier parse had missed — voter-approved temporary operating levies (33 districts) and Kansas City’s Article X levy, without which Kansas City read $2.07 instead of $4.86.
Districts below the $3.43 performance levy: 216 of 513 → 211 of 513 Children in them: ~347,000 → ~319,000 Of those, already at their ceiling: 188 (87%) → 194 (92%) Median operating levy: $3.57 → $3.60
What it did not touch: 495 of Missouri’s 516 districts were unaffected. Five districts leave the below-$3.43 group — Ferguson-Florissant, Hancock Place, Mehlville, Pattonville and University City. The central finding got stronger, not weaker (92% of these districts are already taxing at their legal maximum), which is not why we changed it. We also had to retire the Parkway/Wheaton comparison that ran on the old figures; it has been replaced by a cleaner one that holds the tax rate perfectly still — 64 districts levy the identical $2.75, and among them a dime raises $57 per student in Thayer R-II and $702 in Pettis Co. R-XII.
A dead end we also chased: the statute’s wording (“teachers’ and incidental funds”) reads as though the capital-projects fund should be excluded from the operating levy, which would have pushed the count to 239. It should not be excluded — five districts land on exactly $2.75, the state-aid floor, only when capital projects is counted. We tested the narrower reading and rejected it. The full reasoning is on the Methods page.
Debt-service levies were wrong for 74 districts
Our first pass at the debt-service levy was read out of the State Auditor’s printed PDF, and the parser carried a fault. In the Auditor’s layout a taxing subdivision’s name is printed only on its first row; continuation rows are blank. Our parser only updated the “current subdivision” on rows whose purpose it recognized as school-like — so a blank-named debt-service row belonging to a neighboring city or fire district could be silently added to the last school district it had seen. The City of Savannah’s 9¢ debt levy, for instance, was landing on Adair County R-II.
How we caught it: we pulled the Auditor’s own machine-readable tax-rate export and found it disagreed with us for 74 districts. A corrected re-parse of the PDF then matched the export on 420 of 420 districts we could check — confirming the export was right and we had been wrong.
Districts carrying a debt-service levy: 348 → 306 Median total school levy: $4.17 → $4.07
What it did not touch: operating levies were unaffected — they matched the Auditor’s export for all 516 districts — so the performance-levy analysis and the levy-election findings stand unchanged. Files corrected: the total-levy map, the district lookup cards, and the Funding page.
A statistic on the Methods page was computed on corrupted data
While building the multi-year levy history we discovered that the State Auditor’s 2024 export had been downloaded twice and both copies ingested — the export filenames do not contain the year, so the duplicate went unnoticed. Every 2024 levy, ceiling and debt figure in our working file was therefore exactly double its true value.
Almost nothing published rested on the 2024 figures, so the site was unaffected — with one exception. The Methods page cited the number of districts that a naive “a rise in the tax-rate ceiling means the district won an election” rule would wrongly flag. That figure was computed on the doubled data.
Districts wrongly flagged by the ceiling rule, 2024–25: 88 → 130
The underlying point is unchanged and, if anything, stronger: the rule flags 130 districts as having won a levy election in 2024–25, when the true number is zero. It is not used anywhere on this site.
Superseded 20 July 2026: the later full A/B-flag re-parse documented in the correction above found 44 voter-approved increases in 2024–25, not zero. The ceiling-rise shortcut still overcounts the true result by roughly three to one and is still not used anywhere on this site.
Superseded again 27 July 2026: the completed reconciliation added Maplewood-Richmond Heights in 2025, so the final 2024–25 count is 45. The shortcut conclusion is unchanged.
A test we ran, lost, and are publishing anyway
We say plainly on this site that the free/reduced-lunch rate is no longer a usable poverty measure. So the obvious next step was to rebuild the Beating the Odds regression on Census child-poverty data instead. We tried it, and it made the map worse.
We pulled SAIPE child poverty for every one of the eleven years the achievement data covers (2009–2019), so the two measures describe the same era. Free/reduced lunch explains 42% of the variance in district achievement; child poverty explains 21%. And the weaker control does real damage: with child poverty alone, Ladue and Clayton climb into the state’s top over-performers — not because they are doing more with less, but because a model that under-controls for advantage hands the advantaged the credit.
Outcome: no change to the map. It keeps the free/reduced-lunch model, using the 2009–2019 average — the window before community eligibility spread widely enough to break the measure. We are recording the failed test rather than burying it, because the intuition behind it was right and someone else will have it too. The reasoning is on the Methods page.
Version history
Substantive additions, in reverse order. Routine data refreshes are not listed individually — each page carries a “data current as of” badge showing the vintage of every source behind it.
| Date | Change |
|---|---|
| 27 Jul 2026 | Levy-election reconstruction completed and district histories restored. All 140 voter-flagged report rows now have an explicit classification and stable district-ID match: 139 successful operating-levy increases across 121 districts, with one excluded decrease. The final pass added Smithville (2020), Mehlville (2023) and Maplewood-Richmond Heights (2025), resolved the two historical-name mismatches, regenerated the 516-district election file, and restored guarded seven-report history language to district profiles. |
| 27 Jul 2026 | Homepage tax and salary language clarified. The operating-levy comparison now says the rate is charged per $100 of assessed value; the dime comparison names the underlying assessed value per student; pension sources are written in plain language; and “career ceiling” is explained as the top of the published salary schedule. The pension estimate remains approximately $737,000 over 25 years because its $29,500 annual headline is rounded from $29,481.75. |
| 27 Jul 2026 | Unreliable district-level levy-election labels removed. District profiles retain the verified statewide record of 136 increases across 119 districts, but no longer label an individual district as a winner or non-winner from the incomplete legacy match field. Individual labels will return only after all seven Auditor reports are reconciled by district. |
| 27 Jul 2026 | Assessment-value provenance and denominators clarified. Lookup and Rural vs. Suburban now identify the dime-test figures as State Auditor tax-year-2025 data, name the 513-district performance-levy universe, and state that the locale wealth medians cover 386 rural and 45 suburban districts after excluding virtual-school hosts. No displayed figure changed. |
| 27 Jul 2026 | Correction history and stale levy explanations reconciled. The original dated correction wording was restored with visible superseding notes; the Methods argument was rebuilt around 136 successful increases rather than 15; the $2.75 count now distinguishes 64 of 516 from 63 of 513; and every reference now correctly describes seven reported tax years. |
| 14 Jul 2026 | The four-day-week count reconciled — 179 → 185 for 2025–26, and 192 for 2026–27. Two projects using two different rules were brought onto one master list; Sunrise R-IX is the first district SB 727’s vote requirement has forced back to five days. |
| 13 Jul 2026 | Searched for the failed levy elections; established that Missouri keeps no record of them. Not the Secretary of State, not DESE, not RSMo 162.201 (which covers district formation, not levies). Ballotpedia reaches 13 of the 211 districts and is blind to 198. The only compilation that exists is private — kept by the bond underwriters. Written up on Funding and Methods; the request is out. |
| 13 Jul 2026 | The “$1.6 billion with no debt levy” story retracted. It was a gap in the State Auditor’s machine-readable export, not a fact about school finance. 21 St. Louis County districts do levy for debt. Districts with debt but no debt levy: 38 → 17, and $1.6B → $10.6M. See the correction above. |
| 13 Jul 2026 | Every published figure on the site re-derived from source after the levy rebuild. Eight corrected — several of which had been wrong for weeks and were unrelated to it. See the correction above. |
| 13 Jul 2026 | Operating levies rebuilt on the statutory definition. For the 21 St. Louis County districts that levy a separate rate per property class we had been publishing the residential rate; Missouri law uses the district’s levy. The performance-levy count moves from 216 to 211, and the share already at their ceiling from 87% to 92%. See the correction above. |
| 13 Jul 2026 | “What the tax base is made of” added to Funding — assessed valuation split into homes, farmland, businesses and personal property for all 516 districts. Missouri does not publish this anywhere; DESE School Finance provided it in response to a records request. Two claims were tested and rejected before publication, and both rejections are written up on Methods: that farm-heavy districts are property-poor (they are not), and that farmland’s market value can be recovered by dividing its assessed value by 0.12 (it cannot). |
| 13 Jul 2026 | Key findings and data-vintage badges added to every topic page; sticky section nav on the long pages; this corrections page; district-count explainer on Methods. |
| 13 Jul 2026 | Achievement page consolidated from 13 maps to 5. College-and-career-readiness and attendance moved from maps to a table — they are banded scores (0/50/75/100), and shading a map by a four-value score implies a geographic gradient that does not exist. |
| 13 Jul 2026 | Rural vs. Suburban page opens with a locale map. Maps now load as static previews and go live on click, so a page no longer opens thirteen Tableau sessions at once. |
| 12 Jul 2026 | “Who is building, who is borrowing” added to Funding, from the Census F-33 school-finance survey: long-term debt, capital spending and cash reserves per student. |
| 12 Jul 2026 | The Levy Change map rebuilt on the rates districts actually levied rather than the ceilings they were permitted to levy. |
| 12 Jul 2026 | Levy elections: seven years of State Auditor reports parsed for voter-approved increases. |
| 12 Jul 2026 | Community indicators added (income, broadband, college attainment, single-parent families) from the Census ACS. |
| 11 Jul 2026 | Child poverty (Census SAIPE) added to the Achievement page — the poverty measure the school-lunch data can no longer give. |