The z-score
A z-score tells you how many standard deviations a value sits above or below the mean:
The inverse form recovers a raw score from a z-score:
The standard normal distribution is Z ~ N(0, 1) — mean 0, SD 1. The Empirical Rule (OpenStax Introductory Statistics §6.1) says that for a normally distributed variable, about 68% of values lie within ±1 SD of the mean, about 95% within ±2 SD, and about 99.7% within ±3 SD. The critical scope condition: the Empirical Rule and z-to-percentile readings hold if the data are normally distributed. Real class score sets are often skewed, bimodal, or small. A z-score itself is always computable, but interpreting it as a percentile assumes approximate normality.
Population vs sample SD
OpenStax §2.7 gives both formulas:
Divide by N when the numbers come from a census of the entire population; divide by n − 1 when the data are a sample used to estimate a larger population. For a class grade set, the defensible reading is: if the entered scores are the entire class and the purpose is describing that class, population formulas describe that finite set exactly; if the scores are a sample used to estimate a larger population, sample formulas are the estimator. This page states which one is used and offers both — silently using one while the user assumes the other changes every z-score and every bell-curved grade.
Worked example — the SD choice matters. Class set [40, 55, 65, 75, 90], mean 65.0. Squared deviations: 625 + 100 + 0 + 100 + 625 = 1,450. Population variance = 1,450 ÷ 5 = 290 → σ = 17.03. Sample variance = 1,450 ÷ 4 = 362.5 → s = 19.04. Rescaling a raw 40 to a 75/10 target: population gives z = −1.468 → 60.32; sample gives z = −1.313 → 61.87. The same raw score yields 60.32 versus 61.87 depending only on the SD convention — a 1.55-point difference from a definitional choice the user never sees unless the page states it.
Rescaling to a target mean and SD
Convert each score to a z-score, then map it onto a target distribution:
Target mean and SD are teacher choices, not constants. This page’s 75 / 10 defaults are editable examples — no source establishes a standard target. The method can lower a score: with the class set above and a 75/10 target, a raw 90 maps to 89.68 (population SD) — a small decrease. Any claim that curves never lower a grade is wrong for this method.
Letter boundaries from z cutoffs — there is no standard table
No published statistics textbook and no institutional source prescribes a universal z-cutoff-to-letter table. Any cutoff table is an instructor’s or a calculator’s choice. This page starts with example cutoffs — A at z ≥ +1.5, B at +0.5, C at −0.5, D at −1.5 — and lets you change them. With a class mean of 70 and SD of 10, those example cutoffs give raw boundaries A ≥ 85, B ≥ 75, C ≥ 65, D ≥ 55, F < 55. If scores were exactly normally distributed, the shares would be 6.68% A, 24.17% B, 38.29% C, 24.17% D, 6.68% F. The percentages are properties of the normal distribution; the cutoffs that produce them are the illustrator’s choice.
Contrast with a real instructor’s table: Ohio State Astronomy 161 (mean 34.81/50 = 69.62%, SD 6.94 = 13.88%) used cutoffs A 42–50, B 35–41, C 28–34, D 23–27, E 0–22. In z terms: A ≈ +1.04, B ≈ +0.03, C ≈ −0.98, D ≈ −1.70. The instructor describes the rule of thumb as “mean = C+, bins about one SD wide,” then adjusts by judgment, historical question statistics, and question review. The real table does not match the example table: same z framework, different cutoffs, different bin widths, different letter labels (E, not F). That contrast is itself the evidence that no standard table exists.
Quota grading is a different method
Some instructors assign fixed shares — for example, top 10% A, next 20% B, middle 40% C, bottom 30% D/F. That is a rank/quota method, not a z-transform: it needs no mean or SD, and it guarantees some students get low grades even if the whole class mastered the material. The University of Alberta forbids mandating grades by quota. No source establishes any particular quota split as standard practice. Keep quota grading separate from z-score rescaling — this page does not present quota shares as standard.
Small classes
Bell-curve statistics from tiny samples are unstable, and a few scores do not establish a distribution shape. Treat z-scores and shares from very small classes as illustrative only. This page does not set a number for “small” — the warning is qualitative, because no source sets a threshold.
Assumptions on this page
- Target mean / SD (75 / 10): editable example defaults, not rules.
- Cutoffs (1.5 / 0.5 / −0.5 / −1.5): editable example cutoffs, not a standard table.
- SD convention: population by default; both offered; the choice is stated in the result.
- Percentile and share readings: assume scores are approximately normally distributed — stated wherever they appear.
Common mistakes
- Reading a percentile from a z-score without the normality caveat. The percentile only holds if scores are roughly bell-shaped.
- Assuming a standard cutoff table. There is none — the real and example tables above disagree.
- Assuming bell curves only raise scores. Rescaling to a lower target mean or SD lowers above-average scores.
- Using one score alone. A single score has no class mean or SD; bell methods need the class set or a supplied mean and SD.
- Confusing quota grading with z-rescaling. Different methods, different math, different guarantees.
- Accepting a silent SD convention. Population versus sample changes every result — check which one is in use.
Full walkthrough: How to Grade on a Bell Curve. Other curve methods: Grade Curve Calculator. Test scores: Test Grade Calculator.