SchoolDecoder Methodology

SchoolDecoder publishes the Decoded Rank — a weighted composite of four school-level signals. School Alpha (context-adjusted performance) is the largest single component at 38.9%; the rest comes from student growth (33.3%), equity-within (16.7%), and participation (11.1%). The full composite methodology and the per-component breakdown are documented on the Decoded Rank composite page; this page explains the longest-running component — School Alpha — in detail. A school's multi-year trajectory is shown on its page for context but carries no weight in the rank.

The voice here is plain first, technical second. Parents and journalists should be able to read the first half. Researchers and educators should be able to read the second half and decide whether to cite it.

Lineage — keeping the SEDA methodology current and parent-readable

SchoolDecoder is the public, parent-facing successor to a methodology the academic community has used for nearly a decade. The Stanford Education Data Archive (SEDA), built under Sean Reardon, established the modern playbook for context- adjusted school comparisons: cross-state SBAC scales placed on a common metric, demographic adjustments published transparently, and the pandemic carve-out treated as a data gap rather than a noise- ridden observation. SEDA's most recent public update lags by years, and its data is delivered as research-grade CSVs intended for academics.

SchoolDecoder picks up where SEDA leaves off:

  • Same carve-out. The 2019-20, 2020-21, and 2021-22 school years are excluded from the data window. This matches the approach Reardon's Educational Recovery Scorecard takes to pre/post-pandemic comparisons.
  • Same comparable-scale instinct. SBAC scores from a clean five- year pre-pandemic window are placed alongside a clean three-year post-pandemic window, on the same composite, with the gap visible to the reader.
  • Plain-language presentation. Where SEDA hands you a download, SchoolDecoder hands a parent a school page with a sparkline that shows the gap, a trajectory headline that names the direction, and a methodology section they can read in five minutes.

The full data-window contract is in Decoded Rank → Data window and the internal docs/methodology-calibration.md file in the repository.

The question SchoolDecoder asks

Most school rating sites answer one question: how did students at this school score on the state test?

That question matters, and SchoolDecoder shows the answer too — we call it the Achievement Rank. But raw test scores reflect at least two things at once: what students learned, and what students brought with them when they walked in the door. Family income, parent education, neighborhood stability, and access to outside-of-school resources are all visible in test scores. None of those are the school's doing.

So SchoolDecoder asks a different question:

How did students perform compared with what we'd expect given the school's context?

That is the question the Decoded Rank tries to answer. It is one lens, not a verdict.

What School Alpha is

In methodology and API documentation, the technical name for the context-adjusted residual is School Alpha (also called Context-Adjusted Performance). School Alpha is the largest component of the K-8 Decoded Rank, not the whole rank. For high schools in the current release, the HS Decoded Rank is Alpha-only and uses a separate high-school pool.

School Alpha is the residual between a school's actual test performance and its expected test performance given public socioeconomic and enrollment data. In equation form, the idea is straightforward:

School Alpha = standardized actual performance
             − standardized expected performance

For each state, grade, subject, and year, SchoolDecoder:

  1. Takes the school's achievement measure and standardizes it within the assessment context. Oregon and Washington use an achievement composite computed from the four published performance levels because they do not publish school-level mean scale scores; states that publish a verified mean scale score use that value directly. The data sources page describes the composite formula, provenance, and limitations.
  2. Predicts a standardized score from socioeconomic and enrollment context variables.
  3. Computes School Alpha as the gap between the actual standardized score and the predicted standardized score.
  4. Aggregates School Alpha across grades and subjects into a school-level score, weighted by sample size.
  5. Applies shrinkage so that small or volatile schools do not produce extreme rankings on noise alone.

A positive Alpha means the school performed above what its context would predict. A negative Alpha means the school performed below. Either way, Alpha is a comparison against expectation, not a causal estimate of teaching quality.

Inputs

The model uses public data only. The four input families are state assessment data, federal school directory and demographic data, federal civil rights and enrollment context data, and Census tract-level socioeconomic data.

We do not use race as a predictor variable. We use income, neighborhood education levels, free/reduced-price lunch status (with adjustments for the Community Eligibility Provision), English-language-learner share, and special-education share, plus enrollment and NCES locale category. Locale is treated as a category, not as a city-to-rural numeric ladder.

The English-language-learner and special-education shares are not available for every state. In California — the largest state we publish — neither is used: no school-level English-learner share is wired yet, and the federal special-education figure that does exist covers about 93% of California schools, so using it would drop roughly 127 schools out of the published rankings entirely. We would rather rank those schools with a slightly simpler model than remove them for a data gap that is not theirs. California is therefore adjusted for income, neighborhood education, free/reduced-price lunch status and locale only. Each state's exact predictor set is recorded with its published scores, and every gap carries a dated expiry rather than being left open-ended.

For complete source descriptions, vintages, update cycles, and licensing notes, see SchoolDecoder data sources.

Shrinkage and confidence

A small school with twenty tested students can produce an unusually high or unusually low residual by chance. A larger school with two hundred tested students cannot. Treating both as equally trustworthy would let tiny schools dominate the top and bottom of a ranking on noise alone.

To prevent that, SchoolDecoder applies shrinkage: the published School Alpha is pulled toward zero based on tested sample size, coverage across grade/subject cells, and year-to-year volatility when prior Alpha history is available. A small or volatile school's published Alpha is closer to zero than its raw residual. A large, stable school's published Alpha is close to its raw residual.

Confidence is also reported on every school page. We show data confidence as a single qualitative line — High, Medium, or Low — based on tested count, available testing years up to the ranked year, participation rate, and volatility. Lower confidence does not mean the school is bad. It means the ranking should be read with wider uncertainty.

A dedicated confidence page with the full shrinkage formulas and a worked example will be published alongside the launch in the weeks that follow. Until then, the short version is: smaller schools get pulled toward zero more aggressively, and confidence is shown next to the rank, not buried.

Story types

Every school's pair of ranks — Achievement Rank and Decoded Rank — falls into one of five story types. The labels are deliberately plain.

Story labelWhen it fires
Strong by Both MeasuresHigh raw achievement and high decoded performance. Students score well, and the school still performs above expected once context is considered.
Outperforming ExpectationsMedium or low raw achievement, high decoded performance. Raw scores may understate the school's performance for its context.
High Scores, Context MattersHigh raw achievement, medium or low decoded performance. Students score well, but the school performs closer to expected once neighborhood context is considered.
Lower by Both MeasuresLow raw achievement and low decoded performance.
Typical ProfileEverything else. The school performs roughly as expected for its context.

Most schools will get Typical Profile. That is correct. Most schools perform roughly as expected for their context, and SchoolDecoder will not invent a story where there is not one.

A non-Typical label only fires when both conditions are met together: the Decoded Rank (the all-factors-combined number) and the Achievement Rank sit on opposite sides of a meaningful percentile threshold by a comfortable margin, and the school's data confidence is not Low. The threshold and gate parameters are kept in configuration, not hardcoded into editorial templates, so the rules can be tuned without rewriting copy. The intent is hysteresis: schools sitting near a boundary stay in Typical Profile rather than flipping labels year over year on small movements.

The star rating vs exact rank

A school's Decoded Rank is shown two ways together — as a star rating and as a precise rank beneath it. For example:

★★★★★★ · Top 3% decoded · #8 of 312

The star rating is the headline, and its rule is simple enough to state in one sentence: each half-star is ten percentile points of the school's decoded standing, and six stars is the top ten percent. The scale runs from one star to five in half-star steps, then jumps straight to six — six-star schools are a class of their own and are shown in a distinct color. There is no five-and-a-half. One further rule keeps the top badge honest: a school in the bottom half of its state on raw achievement cannot carry six stars, however strong its context-adjusted standing — it shows five.

The exact rank is a locator beneath the stars. "#8 of 312" lets a parent see where this school sits relative to neighbors, but a one- or two-place difference between two schools with the same star rating should not be read as a meaningful gap — two schools at #43 and #45 of 441 are statistically indistinguishable, and their pages will say so. That is why the stars lead and the number follows.

The star rating and the exact rank are computed from the same underlying Decoded Rank — the composite for K-8 schools, the Alpha-only HS rank for high schools. The rating is computed once, against the school's state pool, so the same school never shows different stars on different pages. And a local list — a metro, a metro's state side, a rural pool — is ordered the same way: each school's position is its statewide standing, filtered to the schools in that pool. There is exactly one Decoded score per school, so a higher-rated school never sits below a lower-rated one in any list; the local rank is an address inside a comparison set, not a second opinion. The "plausibly #lo–hi" line under the rank carries the rank's 95% confidence interval — that interval is the uncertainty number, and it is why neighboring ranks are not worth arguing over.

Cross-state metro handling

Some metros cross state lines. The Portland-Vancouver metro is the example: Multnomah, Washington, and Clackamas counties are in Oregon, and Clark and Skamania counties are in Washington.

SchoolDecoder never ranks schools across a state line. Even where two states administer the same test family (Oregon and Washington both use Smarter Balanced for grades 3–8), the administrations, populations, and reporting are independent, and there is no common anchor that would let us equate a school's standing in one state with a school's standing in the other. Rather than publish a combined list built on an assumption we cannot verify, a cross-state metro page shows its schools in separate, clearly labeled panels — the Oregon side and the Washington side — each ranked only against schools taking the same state's tests. Each side is its own comparison pool with its own #1.

Everything else about the method is unchanged by a state line: School Alpha is computed within each state, grade, subject, and year; growth uses the best instrument each state publishes (student growth percentiles where the state provides them, cohort progression otherwise); and every cross-state metro page carries a disclosure explaining the side-by-side presentation.

We do not publish national raw achievement percentiles. National raw comparison requires NAEP-linked calibration, which is on the roadmap but not published.

What School Alpha is NOT

School Alpha is a context-adjusted residual. It is not a causal estimate, not a teaching-quality score, and not a national achievement percentile.

A high School Alpha is consistent with stronger-than-expected performance. It does not prove the school caused the result. A school may serve a student population whose advantages are not fully captured in public data; the residual will reflect that.

A low School Alpha is consistent with weaker-than-expected performance for the school's context. It does not prove the school is failing students, and it does not mean students at the school are doing poorly in absolute terms — many high-achievement schools have modest decoded scores because their raw scores are largely explained by the advantages students bring.

For the full list of what the score can and cannot claim, the known omitted variables, and the cases where the model is most cautious, see SchoolDecoder limitations.

FAQ

What is a Decoded Rank?

A Decoded Rank is a school's context-aware ranking. For K-8 schools, it is a weighted composite: School Alpha is the largest component, and the rank also includes student growth, equity-within, and participation; the school's recent trajectory is shown for context but carries no weight. For high schools, the current release publishes a separate Alpha-only HS Decoded Rank when the high-school assessment data clears eligibility.

How does SchoolDecoder adjust for income?

SchoolDecoder builds a composite socioeconomic index for each school from Census tract-level median household income, poverty rate, and adult educational attainment, plus school-level enrollment and demographic context such as free/reduced-price lunch share and, where the state publishes them, English-language-learner share and special-education share. (California publishes neither in a form we can use without dropping schools, so its model uses the income, lunch-status and locale context only.) The model then predicts standardized test performance from that index and reports School Alpha as the residual between actual and predicted performance. The composite index is more robust than any single income measure, and it does not let one variable dominate the prediction.

Why don't you use race in the model?

Race is not used as a predictor in School Alpha. We use income, neighborhood education levels, free/reduced-price lunch status (adjusted for the Community Eligibility Provision), and — in states that publish usable school-level figures — English-language-learner share and special-education share to capture school context. This is an editorial choice as well as a modeling one: a school's Decoded Rank should not be lower or higher because of the racial composition of its students. SchoolDecoder publishes a bias audit subpage that reports the distribution of School Alpha by racial composition of served students, so any residual relationship is documented honestly rather than implied away.

Can School Alpha prove a school causes better outcomes?

No. School Alpha is a context-adjusted residual, not a causal estimate. It can show that a school performed above or below expectation given available public context. It cannot prove the school caused the difference. SchoolDecoder uses language like "outperforming expectations," "performs above expected for its context," and "raw scores may understate this school's performance" — never "this school causes better outcomes."

What if my school is small?

Confidence is lower for schools with fewer tested students. SchoolDecoder applies shrinkage so that small schools' published Alpha is pulled toward zero, and the confidence line on the school page reports a lower tier with a wider rank interval. A small school can still be ranked, but the ranking should be read with the wider uncertainty in mind. Schools below the state's suppression threshold for tested counts are not publicly ranked.

How current is the data?

Updated within 2 weeks of state release for monitored launch states. National coverage updates state-by-state as data becomes available. Each school page displays the assessment year, the Census ACS vintage used for socioeconomic context, the NCES Common Core of Data year used for enrollment, and the page's last-updated date.