Back to the tool
How we estimate percentiles
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 NC DPI assessment data (End-of-Grade tests: ELA and Math in grades 3-8, Science in grades 5 and 8). These files report, for each school / grade / year:
- the percentage of students in each performance level plus the number tested, both real, reported figures, which we convert directly to counts (count = round(percentage × number tested)), and
- the group’s real, reported mean scale score for ELA, Science, and Math in grades 3-7.
Grade 8 Math is different. Students who took NC Math 1 during or before grade 8 do not take the Grade 8 Math test; North Carolina counts their Math 1 result as their grade 8 math score. So the grade 8 Math percentages cover every eighth grader, with the Math 1 students counted by their Math 1 level, and because two tests are mixed North Carolina publishes no average score for it. For that one test we estimate the group’s mean from its level percentages: we find the bell curve whose share of students below each level’s cut score matches the published percentages. Checked on every North Carolina group that does publish an average, this lands a median of about 1.6% of the score range from the real number.
Important: the public data does not contain individual student scores, only these group summaries. So no tool can compute a true rank of one child against every other child. What we provide is a well-grounded estimate.
How the percentile is estimated
North Carolina publishes the exact scale-score range for each performance level (e.g. for Grade 3 Math, Level 3 “Proficient” is 545-550). Given your child's score, we:
- identify which performance level the score falls in;
- count everyone in the lower levels as scoring below;
- 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 converted counts, anchored to the group’s real reported mean (or, for grade 8 Math, the estimated mean described above). 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.
Why estimates are still useful: the performance-level percentages and (outside grade 8 Math) the mean score are real, reported figures; converting percentages to counts (percentage × number tested) is arithmetic, not a model. The only genuine assumption is how scores are distributed inside a level, a small and bounded range. Across a whole school, district, 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.
Limitations to keep in mind
- Percentiles are estimates, not official rankings. Treat a "62nd percentile" as "roughly the top 40%," not an exact standing.
- Small schools have small counts, so their estimates are noisier.
- Some school/grade cells are suppressed by the state (for privacy, small groups) and won't appear.
- North Carolina prints any level under 5% as “<5” (and over 95% as “>95”). It also prints the number tested and the shares at Level 3 and above and at Level 4 and above, and every published figure has to come from whole numbers of students, so a hidden level can usually be worked out exactly. When that still leaves more than one answer, the same school's results for boys and girls, and for other student groups that add up to the whole school, often settle it. In the rest (about 1 in 5 of the rows with two or more hidden levels) we split what is left along the group's fitted curve, staying inside what the published figures allow. Checked on rows where the student groups give the real answer, that split lands about three times closer than splitting evenly.
- NC EOG uses the current (Edition 5) scale, which runs roughly 515-575 and varies by grade. Reading through 2019 (and grade 3 Reading in 2021) and Math in 2018 used the older Edition 4 scale, roughly 430-475; each year is shown on its own scale. Levels 1 and 2 are reported together as "Not Proficient." No statewide test was given in 2020 (COVID).
- Charter schools appear as their own districts in the state files and are included in the school, district and statewide comparisons.
This site stores nothing you type. Scores are used only in your browser to draw your charts.
Back to the tool