Grading Scales¶
Grading scales define how a numerical score maps to a grade label and remark. Each class is assigned one grading scale.
Built-in Scales¶
sERP ships with the following built-in scales:
| Scale name | Description |
|---|---|
primary |
Generic primary school scale (A–F) |
cambridge |
Cambridge Lower Secondary (A*–U with GPA 4.0–0.0) |
preschool |
Preschool / Nursery & Kindergarten (A–E / R.E.S.) |
montessori |
Montessori mastery-based scale (M, P, I, N) |
These cannot be edited or deleted. If your country uses a different set of boundaries for the same grade labels, create a custom scale.
Cambridge Lower Secondary¶
Eight bands for Cambridge International Lower Secondary programmes. CGPA is the GPA equivalent of the student's cumulative average score across subjects.
| Grade | Range | GPA | Remark |
|---|---|---|---|
| A* | 90–100 | 4.0 | Excellent |
| A | 80–89 | 3.5 | Excellent |
| B | 70–79 | 3.0 | Very Good |
| C | 60–69 | 2.5 | Good |
| D | 50–59 | 2.0 | Credit |
| E | 40–49 | 1.5 | Pass |
| F | 30–39 | 1.0 | Weak |
| U | 0–29 | 0.0 | Ungraded |
Preschool¶
Five bands for Nursery, KG, and early childhood programmes:
| Grade | Range | Remark |
|---|---|---|
| A | 80–100 | Excellent |
| B | 70–79 | Very Good |
| C | 60–69 | Good |
| D | 50–59 | Satisfactory |
| E | 0–49 | R.E.S. (Requires Effort and Special Attention) |
Montessori¶
Mastery-based scale without GPA, used with Montessori or competency-based frameworks:
| Grade | Range | Remark |
|---|---|---|
| M | 80–100 | Mastered |
| P | 60–79 | Progressing |
| I | 40–59 | Introduced |
| N | 0–39 | Not Attempted |
Assigning a Scale to a Class¶
- Go to Academic → Classes
- Edit the class
- Set the Grading Scale field
- Click Save
All scores computed for students in that class will use the assigned scale from the next score entry onwards. Previously saved scores are not retroactively re-graded.
Creating a Custom Scale¶
- Go to Settings → Academic Settings → Custom Grading Scales
- Click Add New Scale
- Enter a Scale Name — use a short identifier with no spaces (e.g.
ng_waec,ci_bepc) - Add each grade row:
- Grade label (e.g.
A1,B2,Pass) - Minimum score (inclusive lower bound)
- Maximum score (inclusive upper bound)
- Remark (e.g.
Excellent,Credit)
- Grade label (e.g.
- Ensure all grade rows together cover 0–100 without gaps or overlaps
- Click Save Scale
No gaps or overlaps
If the grade boundaries don't cover the full 0–100 range, scores falling in the uncovered range will return a blank grade. sERP does not validate for gaps — double-check your ranges.
Editing a Custom Scale¶
- Go to Settings → Academic Settings → Custom Grading Scales
- Click Edit next to the scale
- Modify grade boundaries or remarks
- Click Save
Note
Editing a scale affects all future grade calculations for classes using it. Scores already saved in the database are stored as raw numbers — the grade and remark are computed on display, so an edit takes effect immediately everywhere.
Default Scale per Deployment¶
The active country's academic framework specifies which scale name is used as the default for new classes. This default can always be overridden per class.
For Nigeria (ng_basic), the default is primary. For JSS and SSS classes, you should assign a ng_waec-style custom scale that uses the A1–F9 boundaries.
Scale Name Reference¶
The scale name is the string stored in the class record and used by GradingScales::fetchAll() and calculateGrade(). When creating custom scales, choose names that:
- Are lowercase
- Use underscores (no spaces or special characters)
- Include the country prefix for country-specific scales (e.g.
ng_,ci_) - Are descriptive enough to distinguish at a glance in a dropdown (e.g.
ng_waecnot justwaec)