How this calculator was checked

Written for people who want to audit the claim rather than take it on trust: tutors, schools, and anyone who has been told before that a calculator is “accurate” without being told against what.

The short version

We ran all 5,103 children who sat the 2026 CSSE test through this calculator, using the marks CSSE itself publishes, and compared every result against CSSE’s own published standardised scores. The largest disagreement anywhere in the distribution — at the minimum, the maximum, or any quantile between — is 0.54 of a point. Across the middle 90% it is 0.25.

The check lives in the repository as scripts/verify-csse.ts and is 21 of 21. It was last run against the live published files on 21 August 2026.

Why CSSE can be calculated exactly and nothing else can

Standardising a raw mark requires the cohort mean and standard deviation for that paper, in that year. Those are the numbers exam boards treat as confidential. CSSE is the exception: its annual Standardisation Report states the formula, the per-paper constants and the age adjustment outright.

So for a past year we are not modelling CSSE’s calculation. We are running it. That is also why this page can exist at all — CSSE publishes enough for the working to be shown.

The formula

Each paper is standardised on its own:

standardised = ((mark − cohort mean) ÷ standard deviation) × 15 + 100

A per-day age adjustment is added to each paper, based on how many days younger the child is than the oldest in the year group. The two standardised, age-adjusted papers are added together, and the total is multiplied by 1.5.

That multiplier is the single most common error in 11+ calculators. Copy the formula out of CSSE’s PDF and “×1.5” can come through as “15”. Drop it and every child appears to fail — including a child with full marks on both papers. We hold tests that fail the build if our own output ever loses it.

A useful sanity check, and one CSSE states itself: a child born on 1 September scoring exactly the cohort average on both papers lands on 300.

How we verified it

CSSE publishes two files per year under Freedom of Information: every candidate’s raw marks, and every candidate’s standardised total. That makes an end-to-end check possible. We compute the whole cohort from the raw file and compare our distribution against the published one.

CheckResult
Cohort constantsour transcription vs the same statistics recomputed from the candidatesagree to 0.006
Distributionworst disagreement at any quantile, including both extremes0.54
Distribution, 5th to 95th percentilewhere almost every real child sits0.25
Candidates checkedeveryone who sat, not a sample5,103

The thirteen children who were not there

Worth setting out, because it is the reason the numbers above are as close as they are, and because it is the kind of thing that quietly breaks a calculator nobody checks.

When we first compared our constants with CSSE’s, four figures were out by as much as 0.19. Small, but not small enough to be rounding, and we would not publish until we understood why.

CSSE’s published raw score file for 2026 entry contains 5,116 rows. 13 of them scored zero on both papers — children who did not sit the test. CSSE publishes them in the raw file and, quite correctly, leaves them out of the standardisation. Against the 5,103 who did sit, every constant agreed to within 0.006, and the worst disagreement across the whole distribution fell from more than eleven points to 0.54.

Any statistic computed from a CSSE raw file has to exclude those rows before it can be compared with anything CSSE publishes. We keep the check that found this, and rerun it whenever the figures change.

What we still cannot know

Stating this plainly matters more than the rest of the page. A tool that sounds certain about everything is telling you something about its authors rather than about the test.

Sources

← Back to the calculator