Method
How it works
One formula rates every school. It is written out in full below, so anyone can check a ranking against the results.
The rating
Every school starts at 1500. After each match, both ratings move by the same amount in opposite directions. How far they move depends on three things: how surprising the result was, the winning margin, and how established each school's rating is.
- Expected result. Before kick-off the home side's chance is
1 / (1 + 10^(-(Rhome - Raway + 90) / 400)). The 90 points are home advantage. At festivals and neutral grounds it is 0. - Margin. The change is multiplied by
ln(margin + 1) × 2.2 / (0.001 × gap + 2.2), where gap is the winner's rating minus the loser's. Big wins count for more, with diminishing returns. A favourite running up the score earns less than an underdog winning big. - Size of the step. The step is 40 rating points times the margin factor times (result minus expected result). A win is 1, a draw 0.5, a loss 0. For each school's first 5 matches the step is 1.5 times larger, so new teams find their level quickly.
- Between seasons every rating moves one third back to 1500: squads change every year, but strong programmes stay strong.
- Ranking. A school is ranked once it has played 5 or more first XV matches in the season. Visiting sides from outside South Africa are rated but not ranked.
How well it predicts
winners called correctly before kick-off, over 2 260 matches in 2025 and 2026
on the 256 matches of July and August 2026, once ratings have settled
step size and home advantage, chosen as the pair that predicted best
Each prediction is made with only the results before that match. Matches where either school had fewer than 3 earlier results are left out of these figures, and draws are not counted as hits or misses.
Where the scores come from
- SchoolBoyRugby Blog
Season results by school for five regions, and festival results.
- SA School Sports
Weekly results across the country, the widest coverage of smaller schools.
- SuperSport Schools
Weekly results round-ups by region.
Scores are facts; we take only the score, date and venue and link the page each one came from. When the same match appears in more than one source we compare them: of 1 701 cross-checked matches, 219 differed on the exact score and 21 on the winner.
When sources disagree, the score most sources agree on wins. On a tie we take SchoolBoyRugby Blog, then SuperSport Schools, then SA School Sports, the order of how often each one agreed with the others. A match only one source reports counts in full unless that source is SA School Sports, whose scores disagreed with the others most often: those count at 0.6 weight until confirmed.
Second XV, invitational and age-group matches are left out. A score we think is wrong can be reported on the about page.