Research Files#
The research files carry the same figures as the public “Test Results” reports, in bulk. One file holds every entity at every level for one test type and one administration year.
File names#
Statewide files follow a fixed pattern:
<program>_ca<year>_all_<format>[_<subject>]_v1.zip
sb_ca2025_all_csv_ela_v1.zip, for example, is the 2024–25 Smarter Balanced
English language arts/literacy file in caret-delimited form. The importer reads
the year straight out of the name, so keeping the published names is the
simplest way to make a file self-describing.
Prefix |
Contents |
|---|---|
|
Smarter Balanced. Split into |
|
California Science Test. |
|
California Spanish Assessment. |
|
CAA for English language arts/literacy and mathematics. |
|
CAA for Science. |
|
The entity file: county, district and school names and codes as they existed in that administration year. |
Formats#
Administration years |
Statewide file formats |
|---|---|
2019–20 and later |
Fixed-width, and caret-delimited ( |
2018–19 and earlier |
Fixed-width, and comma-delimited with a header row. |
Countywide and districtwide files became caret-delimited from 2023–24. This application reads the delimited form; the importer detects the delimiter from the header row, so both eras load without configuration.
Note
Files are encoded in Windows code page 1252, not UTF-8. District and school names contain characters — accented letters, and a soft hyphen inside “Ever–EL” — that are not valid UTF-8, so decoding as UTF-8 either fails or corrupts names.
Scope of a file#
Research files are published at three scopes:
- Statewide
The state, every county, every district and every school.
- Countywide
One county and the districts and schools inside it.
- Districtwide
One district and its schools.
There is no school-only download; school rows are extracted from one of the files above. Because each file already contains every level, importing the statewide file for a year is sufficient — importing a county file afterwards adds nothing new.
Warning
Direct-funded independent charter schools are reported as districts in their own right. Their results roll into the state and county totals and appear again as school-level rows, so summing districts within a county and summing schools within a county give different answers unless charters are handled deliberately. This application records the funding type on the entity, so a charter can be included or excluded explicitly.
Suppressed and inapplicable values#
Two different kinds of blank appear, and they do not mean the same thing.
*The figure exists but is withheld. California reports no scores for any group with fewer than 11 students, to avoid identifying individuals.
- (empty)
The figure does not apply. The most common case is the mean scale score on an “all grades” row: scale scores are not comparable between grades, so the state deliberately publishes no cross-grade mean.
The importer stores both as NULL and sets a suppressed flag for the
first, so a report can say “withheld” where the state withheld and “not
reported” where it does not apply. See Interpreting Results.
Lookup tables#
Three small files accompany the research files and are reproduced as seed data in this application so that a fresh database is usable before any import:
File |
Contents |
|---|---|
|
Test IDs and names — Assessments. |
|
Student group IDs, names and categories — Student Groups. |
|
County, district and school names and CDS codes for one year. |
The entity file is the only source of county names; research file rows carry
district and school names but leave the county name blank. The 58 county names
are therefore seeded in app.ingest.reference_data as well.