Missouri school enrollment data from the Missouri Department of Elementary and Secondary Education (DESE).
Part of the state schooldata project, inspired by njschooldata.
Status: Under Construction
What works: Total enrollment counts for 65 major Missouri districts (2018-2024) are sourced from real DESE public data, covering roughly 50% of the state’s ~896,000 K-12 students.
What’s broken:
- Demographics (race/ethnicity): The demographic breakdowns (white, Black, Hispanic, Asian, etc.) in the bundled seed data are hardcoded constants, not real DESE data. Do not use these for analysis.
- Grade-level distributions: Grade-level enrollment (PK through 12) in the seed data uses hardcoded proportions applied to total enrollment, not actual per-grade counts from DESE.
- Special populations: Special education, English learner, and economically disadvantaged counts are hardcoded constants, not sourced from DESE.
- Assessment data: The MAP assessment data pipeline requires MCDS portal authentication that has not been implemented.
Fix options being investigated:
- MCDS portal authentication – the MCDS SSRS reports have real demographic, grade-level, and special population data, but require authentication that the current download code cannot handle
- DESE School Report Card scraping – individual school/district report cards on dese.mo.gov contain real demographic data in HTML tables
- Direct data request – contacting DESE data office for bulk data files
- Remaining ~500 small/rural districts – will be added when any of the above paths succeeds
When real demographic and grade-level data is available from DESE, this README will be rebuilt with verified data stories.
Installation
R
# install.packages("remotes")
remotes::install_github("almartin82/moschooldata")Data Notes
Data source
- Missouri DESE: https://dese.mo.gov/
- DESE School Data: https://dese.mo.gov/school-data
- MCDS Portal: https://apps.dese.mo.gov/MCDS/home.aspx (requires authentication)
- DESE Public Education Snapshot: https://dese.mo.gov/communications/snapshot
Current coverage
65 major districts (~50% of statewide enrollment)
Total enrollment counts for these districts are real. This includes: - All large urban districts (KC 33, STL City, Springfield, Columbia, Independence) - Major suburban districts in KC and STL metros - Charter schools in KC and STL
The remaining ~500 small/rural districts are not yet included.
Data availability
| Data | Years | Status |
|---|---|---|
| Total enrollment (65 districts) | 2018-2024 | Real DESE data |
| Directory | Current | fetch_directory() — schools, districts, contacts |
| Demographics (race/ethnicity) | – | Hardcoded, not real |
| Grade-level counts | – | Hardcoded, not real |
| Special populations (SPED, EL, FRL) | – | Hardcoded, not real |
| MAP assessments | – | Blocked by MCDS auth |
Missouri-specific notes
- County-District Code: 6 digits (first 3 = county, last 3 = district within county). Example: 048078 = Jackson County (048) + Kansas City 33 (078)
- October membership counts: Enrollment figures are based on October Census Day counts
- Charter schools: Limited to Kansas City and St. Louis by state law
Manual Data Access
To get Missouri school data directly from DESE:
- DESE School Data portal: https://dese.mo.gov/school-data – downloadable reports on enrollment, demographics, assessment
- MCDS portal: https://apps.dese.mo.gov/MCDS/home.aspx – detailed SSRS reports with full demographic and grade-level breakdowns (requires free account)
- School Report Cards: https://apps.dese.mo.gov/MCDS/SchoolReportCard – per-school and per-district demographic data
Part of the State Schooldata Project
A simple, consistent interface for accessing state-published school data in Python and R.
All 50 state packages: github.com/almartin82
Mothership package: njschooldata – the original package that inspired this project.