Back to the tool
How we estimate percentiles: North Carolina 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 NC Department of Public Instruction disaggregated results for the end-of-course tests NC Math 1, English II and Biology (2018, 2019 and 2021 to 2026) and NC Math 3 (2019 and 2021 to 2026). These files report, for each school, district and the state:
- the percentage of students at each achievement level and the real number tested, and usually the average scale score. Where North Carolina shows a small level only as “under 5%” or “over 95%,” the count is worked out from the other published figures, and every count rounds back to what the state printed, and
- the curve is centered on the published average where there is one; NC Math 3 before 2026 and NC Math 1 in 2019 print no usable average, so there it is estimated from how students split across the levels.
Who is counted
Each test counts the students at a school who took that end-of-course test during the school year, including the summer school session just before it. NC Math 1 and NC Math 3 count high school students only: students who take NC Math 1 in grade 8 or earlier are counted in grade 8 math in the grades 3-8 section, not here. The one exception is 2018, when the NC Math 1 counts also include the NC Math 1 scores that 9th graders had earned in middle school. Students who take the NCEXTEND1 alternate test are not included.
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
North Carolina publishes the exact scale-score range for each performance level (e.g. for English II from 2021, Level 3 “Proficient” is 549-554). Given a 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.
Cut scores
North Carolina reports four achievement levels: Not Proficient, Level 3 (Proficient), Level 4 and Level 5 (2018 and 2019 printed Levels 1 and 2 separately; they are combined here as Not Proficient). The Level 3, 4 and 5 cuts:
- English II: 549, 555, 565 from 2021 (2018-2019 used an older scale: 148, 151, 165);
- NC Math 1: 548, 555, 563 from 2019 (2018: 250, 253, 264 on the older scale);
- NC Math 3: 550, 556, 563;
- Biology: 250, 252, 261 through 2024; a new Biology test from 2025 uses 351, 355, 361.
The cuts come from DPI's Achievement Level Ranges documents and, for Biology from 2025, DPI's score frequency tables, which list the level for every score.
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, and North Carolina masks very small or very large levels, so their estimates are noisier.
- No test was given in 2020 (COVID). The grade 11 ACT is not included, because North Carolina reports only whether students met a benchmark.
This site stores nothing you type. Scores are used only in your browser to draw your charts.
Back to the tool