Matthew West

Curving Exam Scores

We scale an old exam score S0 to a new exam score S1 by:

S1 = 100 - (100 - S0) × (100 - M1) / (100 - M0), if S0 > M0
S1 = Z1 + S0 × (M1 - Z1) / M0, if S0M0

Here M0 is the median of the old score distribution, which should be computed from the set of all old scores. We assume scores are in the range 0 to 100.

The two parameters that need to be chosen are:

As an example, if the old median was M0 = 60 and we choose a new median of M1 = 80 and a new base of Z1 = 20 (from 80 - 60), then the curving function is:

The advantages of this curving function are:

  1. It's simple to implement.
  2. Assuming that the new median is higher than the old median, it's guaranteed that every student's score increases, but cannot go over 100, and the ordering between scores is strictly maintained.
  3. A perfect score of 100 maps to 100.
  4. Using the median as the specification point makes this function insensitive to outliers. We generally want M1 ≈ 80, putting half the class in the A/B range (more when high-scoring items like homeworks are included).
  5. If we don't want to choose the second free parameter Z1 then choosing the default of Z1 = M1 - M0 results in all below-median students getting the same score boost, which is a reasonable default.