Every term, a Nigerian school turns thousands of individual marks into a single sheet of paper per child: a total for each subject, a grade, an average, a position and a comment.
Most of the arguments parents have with schools about results are not about what a child scored. They are about how the scores were combined — how the CA was weighted, why two children with the same average got different positions, or why a second-term score seems to have "disappeared" from the cumulative.
This guide walks through the full calculation, step by step, with worked examples you can check against your own broadsheet.
Step 1: Agree the Assessment Structure
Before a single score is entered, the school needs a written answer to one question: how are the 100 marks for each subject made up?
The most common structures in Nigerian schools are:
| Structure | CA | Exam |
|---|---|---|
| 40/60 | 40 marks (e.g. two tests of 20) | 60 marks |
| 30/70 | 30 marks (e.g. test 10, test 10, assignment 10) | 70 marks |
| 30/70 (classwork-heavy) | 30 marks (classwork 10, assignment 5, test 15) | 70 marks |
| 50/50 | 50 marks (common in nursery and lower primary) | 50 marks |
There is no national rule that every private school must follow for internal results — what matters is that every teacher uses the same structure, and that it is written down. Most "result wahala" comes from one teacher marking a test out of 20 and another out of 30.
Step 2: Scale Each Score to Its Weight
If every test is already marked out of its share of the total, there is nothing to do. When it isn't, convert it first:
Scaled score = (score ÷ marks available) × weight
Example: the first test is worth 20 marks in the CA, but the teacher marked it out of 50. A student scored 35.
(35 ÷ 50) × 20 = 14 out of 20
Do this for every component before you add anything up. Adding a raw 35/50 to a 15/20 is the single most common error on Nigerian broadsheets.
Step 3: Add CA and Exam to Get the Subject Total
Subject total = CA + Exam
Example (40/60 structure):
| Component | Score |
|---|---|
| 1st test (20) | 16 |
| 2nd test (20) | 14 |
| CA total (40) | 30 |
| Exam (60) | 45 |
| Subject total (100) | 75 |
Step 4: Convert the Total to a Grade
Each school publishes its own grading scale. A widely used one for internal results is:
| Score | Grade | Remark |
|---|---|---|
| 70 – 100 | A | Excellent |
| 60 – 69 | B | Very good |
| 50 – 59 | C | Credit |
| 45 – 49 | D | Pass |
| 40 – 44 | E | Fair |
| 0 – 39 | F | Fail |
Many secondary schools — especially for SS classes — mirror the WAEC (WASSCE) nine-point scale instead, so students get used to it before the real exam:
| Score | WAEC grade | Interpretation |
|---|---|---|
| 75 – 100 | A1 | Excellent |
| 70 – 74 | B2 | Very good |
| 65 – 69 | B3 | Good |
| 60 – 64 | C4 | Credit |
| 55 – 59 | C5 | Credit |
| 50 – 54 | C6 | Credit |
| 45 – 49 | D7 | Pass |
| 40 – 44 | E8 | Pass |
| 0 – 39 | F9 | Fail |
Two practical points:
- Decide how to round before you grade. Is 69.5 a B or an A? Pick a rule — usually "round to the nearest whole number, then grade" — and use it everywhere.
- Grade boundaries are inclusive. 70 is an A on the first scale, not a B. Spreadsheet formulas that use
>instead of>=get this wrong.
Step 5: Calculate the Student's Average
Average = sum of subject totals ÷ number of subjects the student offered
Example: a JSS 2 student offers 12 subjects and their subject totals add up to 798.
798 ÷ 12 = 66.5
Divide by the number of subjects the student actually offered, not the number on the class timetable. A student who does not take French should not have a zero averaged into their result.
Step 6: Work Out Class Positions — and Handle Ties
To rank a class:
- Calculate every student's average.
- Sort from highest to lowest.
- Number them — and give equal averages the same position.
When two students tie, they share the position and the next one is skipped. This is called standard competition ranking:
| Student | Average | Position |
|---|---|---|
| Adaeze | 82.4 | 1st |
| Tunde | 79.1 | 2nd |
| Halima | 79.1 | 2nd |
| Emeka | 76.8 | 4th |
Emeka is 4th, not 3rd, because three students scored higher than him. Writing "3rd" here is what produces the parent at the gate asking why their child "dropped".
Decide in advance how many decimal places you compare. If you rank on averages rounded to one decimal place, 79.14 and 79.06 are a tie; rank on two and they are not. Either is defensible — changing the rule mid-term is not.
Subject positions work exactly the same way, using the subject total instead of the average.
Many schools have stopped publishing class positions for younger pupils, or show only the top three. If your school ranks, rank consistently. If it doesn't, leave the column off the card rather than printing blanks.
Step 7: Class Average, Highest and Lowest
Report cards often show how the class did as a whole, so a parent can read their child's score in context:
- Class average for a subject = sum of all students' totals in that subject ÷ number of students who took it
- Highest / lowest in class = the maximum and minimum subject totals
A 58 in Mathematics reads very differently when the class average is 41 than when it is 72.
Step 8: Cumulative (Third-Term) Results
At the end of the session, many schools show a cumulative score per subject. The most common method:
Cumulative = (1st term total + 2nd term total + 3rd term total) ÷ 3
Example:
| Term | Mathematics total |
|---|---|
| First term | 64 |
| Second term | 70 |
| Third term | 73 |
| Cumulative | (64 + 70 + 73) ÷ 3 = 69 |
Agree beforehand what happens when a student joined mid-session or missed a term's exam. The usual options are averaging only the terms the student sat, or treating the missing term as absent rather than zero — but the rule should be written down and applied to every student.
The cumulative average usually drives the promotion decision: promoted, promoted on trial, or advised to repeat, against a pass mark the school sets for the session.
Doing It in Excel — and Where It Goes Wrong
Excel can do all of this. A typical broadsheet uses formulas like:
- Total:
=SUM(C2:E2) - Grade: nested
IFstatements such as=IF(F2>=70,"A",IF(F2>=60,"B",IF(F2>=50,"C",IF(F2>=45,"D",IF(F2>=40,"E","F"))))) - Position:
=RANK.EQ(G2,$G$2:$G$41,0)— which handles ties correctly
The formulas aren't the problem. The problems are everything around them:
- A dozen copies. Each teacher has their own sheet, and the broadsheet is rebuilt by hand from all of them.
- Broken ranges. Insert one late-admitted student and every
RANKrange is now off by a row. - Silent overwrites. Someone pastes values over a formula and nobody notices until a parent does.
- No approval trail. There's no record of who changed a score after the principal signed off.
This is why schools move result processing into software once they have more than a handful of classes. In SchoolKit, the school sets its CA/exam structure and grading scale once; each teacher enters scores for their own subjects; totals, grades, averages and positions — ties included — are calculated automatically; and report cards are approved before parents can see them.
For what to look for when choosing a system, see Best School Result Management Software in Nigeria. And once the numbers are done, our list of 150+ report card comments for teachers will help with the remarks.
Quick Reference
| Calculation | Formula |
|---|---|
| Scaled score | (score ÷ marks available) × weight |
| Subject total | CA + exam |
| Student average | sum of subject totals ÷ subjects offered |
| Class average (subject) | sum of totals ÷ students who took it |
| Position | rank by average, ties share a position, next is skipped |
| Cumulative | (1st + 2nd + 3rd term totals) ÷ 3 |
Frequently Asked Questions
What is the grading system in Nigerian secondary schools?
There is no single scale every school must use for internal results, but a common one is A (70–100), B (60–69), C (50–59), D (45–49), E (40–44) and F (0–39). For WASSCE, WAEC uses nine grades from A1 (Excellent) to F9 (Fail), and C6 or better is a credit.
How do you calculate CA and exam scores?
Add the student's continuous assessment scores and exam score, each already scaled to its share of the total. With a 40/60 split, a student who scores 32 out of 40 in CA and 48 out of 60 in the exam has a total of 80 out of 100. If a test was marked out of a different number, scale it first: (score ÷ marks available) × weight.
How do you calculate a student's position in class?
Calculate each student's average (total of all subject scores divided by the number of subjects offered), sort from highest to lowest and number them. Students with equal averages share a position, and the next position is skipped — for example 1st, 2nd, 2nd, 4th.
How do you calculate a cumulative result for the session?
The most common method averages the three term totals for each subject: (first term + second term + third term) ÷ 3. Schools should decide in advance how to treat a student who missed a term, and apply that rule consistently.
What is a credit pass in WAEC?
In WASSCE, grades A1, B2, B3, C4, C5 and C6 are credit passes (C6 is 50–54%). D7 and E8 are passes, and F9 is a fail. Most universities and many employers require credits in English Language and Mathematics.
