Skip to content
msomi School Management
Curriculum

Running CBC and KCSE side by side without running two systems

Transitional cohorts are a decade-long reality for Kenyan schools. Here is how to model two curricula in one school so results are never compared across incompatible scales.

7 min read The Msomi team

For most of the last decade, a large number of Kenyan schools have been teaching two curricula at the same time. Not as an exception, but as the ordinary condition of a transition working its way up the school one year at a time.

Software has been slow to accept this. A great many school systems treat the curriculum as a global setting — one grading scale, one ladder of levels, one subject list — and schools running a transitional cohort end up with workarounds: a second installation, a parallel spreadsheet, or a single grading scale stretched to cover two things it was not designed for.

The modelling mistake

The mistake is treating curriculum as configuration on the school. It belongs on a framework — an object the school can have several of.

Once a framework is a real thing, everything academic hangs off it:

  • Levels belong to a framework. Grade 6 and Form 2 coexist without colliding, each in its own correctly ordered ladder.
  • Subjects are offered at particular levels within a framework. Integrated Science appearing in one and not the other is data, not a special case.
  • Grading systems attach to a framework and to specific levels. This is the important one.

Why grading attachment matters most

A CBC performance level and a KCSE mean grade are not the same kind of number. They are not on the same scale, they do not mean the same thing, and averaging them produces a figure that is confidently wrong.

Any system that holds one grading scale per school will eventually produce a report that does exactly this — usually a whole-school mean that quietly mixes the two, presented to a board.

When a grading system is attached to a framework and to the levels it applies to, that comparison becomes structurally impossible. The system cannot average across incompatible scales because it knows they are incompatible.

What this looks like in practice

A school running Grades 1 to 9 under CBC and Forms 3 to 4 under KCSE sets up:

CBCKCSE
LevelsGrade 1 – Grade 9Form 3 – Form 4
Subject availabilityPer gradePer form
Grading systemCBC performance levelsKCSE mean grade, A–E
ReportingFramework-appropriate key printed on each report

One school. One learner register. One staff list. One timetable. One set of fees. Two academic frameworks, each internally coherent.

A report card prints the grading key that actually applies to that learner. A subject analysis compares streams within a framework. A whole-school dashboard reports enrolment and attendance across both — because those are comparable — while keeping academic performance separated by framework, because that is not.

The transition ends eventually

The point of modelling it this way is that the transition is not a special mode the school is in. It is simply the school having two frameworks for a while.

When the last KCSE cohort leaves, the school stops using that framework. Nothing is migrated, nothing is rebuilt, and the historic records of every learner who sat KCSE remain readable and correctly graded — which matters when one of them requests a transcript in 2034.

Next step

See Msomi running on your own school data

A demo takes about forty minutes. Bring a class list and we will set up your frameworks, levels and grading while you watch — so you are looking at your school rather than ours.

Or try it first — the Trial tier gives you a full term, free, with every module unlocked.