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:

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:

  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 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:

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

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

Back to the tool