Overview

perfcurve is a Stata command that implements the grading curve proposed by Lawrence Sher (1977) in The Perfect Curve: At Least for Grades. The function ensures that 0s remain 0s, 100s remain 100s, and all intermediate scores are smoothly mapped through a monotonic transformation. This retains ordinal ranking while redistributing scores to achieve a compressed yet natural grade distribution.

Repository, installation, and examples available on GitHub: https://github.com/npusateri/perfcurve

To install in Stata: first, install github command (if not already installed),

net install github, from("https://haghish.github.io/github/")

then install the command from github,

github install npusateri/perfcurve

Citation

Pusateri, Nicholas R. 2023. perfcurve: A Stata command for curving assessment scores.
Based on: Sher, Lawrence. 1977. “The Perfect Curve: At Least for Grades.” The Two-Year College Mathematics Journal 8(3): 148–152. DOI: https://doi.org/10.2307/3027265

@misc{pusateri2023perf,
  title={perfcurve: A Stata command for curving assessment scores},
  author={Pusateri, Nicholas R.},
  note={Based on: Sher, Lawrence. 1977. "The Perfect Curve: At Least for Grades." *The Two-Year College Mathematics Journal* 8(3): 148–152. DOI: https://doi.org/10.2307/3027265},
  year={2023},
  url={https://nicpusateri.com/perf},
  }