A worked example — two semesters
Semester 1 has three courses with grade points 8, 9, and 7, worth 4, 3, and 3 credits respectively: SGPA = (8×4 + 9×3 + 7×3) ÷ (4+3+3) = 80 ÷ 10 = 8.0. Semester 2 has courses with grade points 9, 8, and 9, worth 4, 4, and 2 credits: SGPA = (9×4 + 8×4 + 9×2) ÷ (4+4+2) = 86 ÷ 10 = 8.6.
CGPA after both semesters treats each semester's SGPA as a single weighted value: CGPA = (8.0×10 + 8.6×10) ÷ (10+10) = 166 ÷ 20 = 8.3 — the average of the two SGPAs, weighted by each semester's credit load (which happens to be equal here, so it's a simple average in this particular case).
Why credit weighting matters, not just averaging grade points
A common mistake is averaging grade points (or SGPAs) without accounting for credit hours — that only gives the correct answer when every course (or semester) carries the exact same credit load, which usually isn't true. A 4-credit course pulls the average more than a 2-credit course, and a heavier semester pulls CGPA more than a lighter one. Always weight by credits, not by simple count of courses or semesters.
Why CGPA changes more slowly than SGPA
Because CGPA accumulates across every semester so far, a single strong or weak semester has a smaller effect on CGPA than it does on that semester's own SGPA — the more semesters already completed, the more "diluted" any one semester's impact on the cumulative figure becomes. This is why CGPA tends to move gradually while SGPA can swing more sharply from term to term.