About PlainSchools
PlainSchools keeps a file on every U.S. public school and district, copied from the returns they send to the federal government, with the year of each return beside each figure. It does not grade schools; where a list ranks them, it names the one measure it sorts by.
Updated · method and sources · corrections
Why there is no grade
Rating sites fold test scores into one number, and test scores follow family income: the federal assessment, NAEP, reports lower average scores for students eligible for free or reduced-price lunch in every subject and grade it tests. A school rated low may be doing a great deal with little, and a school rated high may simply serve an affluent area. PlainSchools shows the measures themselves: students per teacher, spending, who attends, which programs a school runs, and its grades and size.
Where a page combines measures, as the resource index does, it measures staffing, counseling, a gifted program and attendance, never test scores or teaching quality. Every input is shown next to the result, so the index can be checked rather than trusted.
Data sources: the files behind every figure
- School directory, enrollment, grades, teachers and meal counts: the NCES Common Core of Data (CCD) for 2024-25, with earlier CCD years for the enrollment trend.
- Title I status: CCD 2021-22, the last year NCES published it in the school files, shown with that year.
- Student groups, counselors and programs: the Civil Rights Data Collection (CRDC) 2021-22.
- Chronic absenteeism: EDFacts 2022-23, each school's count over its own 2022-23 enrollment; state rates 2020-21 to 2022-23.
- District spending and revenue: the F-33 school finance survey, fiscal years 2019 to 2023; spending per student is the survey's current spending over its own fall enrollment.
- Newest finance year: the Census Bureau's Annual Survey of School System Finances for fiscal 2023-24, each district's spending per student and its change on the year before, and the state figures back to 2018-19.
- District names, contacts and child poverty: the name each district's own website uses, the NCES district directory for 2024-25 (website, phone, office), and the Census Bureau's 2024 estimate of school-age children in poverty.
- Teacher salaries per teacher: the F-33 teacher salary lines for fiscal 2023 over the full-time teachers in the CCD district staff file for 2022-23.
- How the files arrive: most are read from the NCES and Census Bureau downloads; some earlier fields (state finance inputs and school demographics) came through the Urban Institute's Education Data Portal, which republishes the same federal files.
How a page is built
A scripted pipeline loads the files into one database and builds each school and district page from it. Each value keeps its year, so a 2021-22 figure is never shown as 2024-25. Comparisons are made among like records: a school against schools of its level in its state, a district against districts of its size in its state.
Values are shown as the files report them, with three exceptions the pages state: ratios and shares are computed from the reported counts; values the files mark as missing or suppressed read "not reported", never an estimate; values outside plausible bounds are left out (a ratio outside 3 to 99 students per teacher, a salary bill that does not match the teachers counted). The full rules are on the methodology page.
Data freshness: when the files change
NCES publishes the CCD school files about a year after the school year ends, and the finance survey about two years after the fiscal year. Each section names its year, and the changelog records every load.
How PlainSchools makes its pages, and who answers for them
Every figure comes from a federal education file (the NCES Common Core of Data, the F-33 finance survey, the Civil Rights Data Collection and EDFacts), loaded by a scripted pipeline that leaves out missing and implausible values and names the file and year under every figure, so each can be confirmed in the NCES school and district search. Kiznis Studio uses AI tools to write the code, the page templates and the explanatory text, including the guides and research write-ups; the numbers in them come from database queries, and each study states its method and its limits. The data editor decides which files are used, how each measure is defined and compared, and what is left out, and handles corrections as the editorial and corrections policy describes.
No school, district, state or education company can pay to appear, to rank higher or to change how its figures are shown. PlainSchools takes no sponsorship, paid inclusion or promoted placement; it is paid for by contextual Journey by Mediavine advertising, which has no bearing on which schools are covered or how the federal data is shown.
What the files cannot tell you
- The CCD is reported by states and districts to NCES; reporting errors happen.
- Private schools, home schooling and most non-traditional programs are not in the CCD.
- Free and reduced-price lunch counts undercount eligible students where a district serves free meals to everyone.
- What counts as spending per student differs between states' accounting.
- Enrollment and staffing are a count on one day in the fall and miss changes during the year.
PlainSchools is not affiliated with the U.S. Department of Education, NCES or any government agency. For a decision about a child's school, confirm the figures with the school and the district.
Contact
Questions, corrections and reports of a wrong figure: hello@plainschools.com.
Who publishes PlainSchools
PlainSchools is published by Kiznis Studio, an independent studio that builds data sites with AI agents working under rules set by its one operator. The agents load the federal files and write the code and the text; scripted checks keep each page's figures consistent with each other and within plausible bounds before it is published. To ask about a school's numbers, report an error or reach the publisher for any other reason, write to hello@plainschools.com.
Download the compiled NCES state extract: plainschools-state-summary.csv (same extract as /statistics).