Skip to contents

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:

  1. 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
  2. DESE School Report Card scraping – individual school/district report cards on dese.mo.gov contain real demographic data in HTML tables
  3. Direct data request – contacting DESE data office for bulk data files
  4. 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")

Python

pip install pymoschooldata

Data Notes

Data source

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:

  1. DESE School Data portal: https://dese.mo.gov/school-data – downloadable reports on enrollment, demographics, assessment
  2. MCDS portal: https://apps.dese.mo.gov/MCDS/home.aspx – detailed SSRS reports with full demographic and grade-level breakdowns (requires free account)
  3. 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.

License

MIT