Back to the tool

How we estimate percentiles: Virginia high school

A clear explanation of the data and the method, so you can judge how much weight to give the numbers.

What the data is

Every number here comes from official public test-results files: the Virginia Department of Education assessment data for the end-of-course SOL tests: Algebra I, Geometry, Algebra II, EOC Reading, Biology, Earth Science and Chemistry, for 2024, 2025 and 2026. These files report, for each school, division and the state:

Who is counted

These counts are the students who took this end-of-course SOL test in that school year. Middle-school students who take a high-school course test early (most often Algebra I, Geometry or Earth Science) are included, counted at their middle school.

A course test is taken by whoever is in the course that year, so a percentile compares a score with that year's takers of the same test, not with every student of the same age.

Important: the public data does not contain individual student scores, only these group summaries. So no tool can compute a true rank of one student against every other student. What we provide is a well-grounded estimate.

How the percentile is estimated

Virginia publishes the exact scale-score range for each performance level (e.g. on every SOL test, “Pass/Proficient” is 400-499). Given a score, we:

  1. identify which performance level the score falls in;
  2. count everyone in the lower levels as scoring below;
  3. within the score's own level, spread that level's students along the group's fitted curve (below) rather than evenly across the level's range. Students bunch up toward the middle of the scale, so an even spread would put too many of them out at the far ends of the lowest and highest levels. Checked against published statewide score distributions, this lands within about one percentile point of the true value for a typical score.

That gives the percentile: the estimated share of students in the group who scored at or below the entered score.

About the smooth curve

The bell-like curve on each chart is a truncated-normal distribution fitted so that its area within each performance level matches the level counts, centered on that estimated average score. It's there to visualize the shape of the group's scores. The level counts set the headline percentile (steps above); the curve only decides where inside the student's own level the line falls.

When a group's students all sit in one or two levels, the counts can't say how spread out their scores are, and the fitted curve can come out far too narrow. Those curves are drawn no narrower than one fifth of the statewide spread, which is about the size of the test's own measurement error, and inside the student's level the percentile spreads that level's students evenly instead.

Course tests sort students: many schools have almost nobody failing a course, or almost nobody at Advanced, and then the counts cannot say how spread out the scores are. About four in ten school results here get a wide default curve, which places a score inside its level close to an even spread; the counts below and above the level are still exact.

Why estimates are still useful: the performance-level percentages are real for each group, and so is the number tested. The average score shown is estimated from how students split across the levels, and, as with every state, the only other assumption is how scores are distributed inside a level, a small and bounded range. Across a whole school, district, county, or the state, that assumption averages out well, so the comparison ("above/below average here vs. statewide") is reliable even though the exact percentile is approximate.

Cut scores

Every SOL test is scored from 0 to 600: 0-399 is Did Not Pass, 400-499 Pass/Proficient and 500-600 Pass/Advanced. Virginia confirms these cuts for 2025-26; higher cut scores for reading and math are planned for later years.

Limitations to keep in mind

This site stores nothing you type. Scores are used only in your browser to draw your charts.

Back to the tool