Raw mark to UMS converter

Just a little utility to calculate UMS from a raw mark and grade boundaries.

Note on capping: For raw marks above the A boundary, the conversion may be inaccurate due to UMS capping. This is when a raw mark below the maximum available corresponds to full UMS points. Due to the inaccuracy that may occur without it, there is a “use capping” mode. See below for more information.

Input Data


Raw/UMS conversion table:

Use UMS capping? (Requires max, A and B boundaries)


Error: [Error description missing]

UMS = 0 = 0.0%

Cap = 71

Rules for the conversion table

You should be able to input the conversion table how you like and get the right result but if not, refer to the following:

  • The conversion table can contain all the grade boundaries or just those around your mark but note this will make the UMS percentage incorrect (unless one boundary is 100%).
  • Values can be separated by any number of whitespace characters or commas.
  • Row names are optional (second row assumed to be UMS unless otherwise specified).
  • Order of boundaries is not important (pairs of values don’t even need to be aligned).


The UMS capping option calculates the UMS cap based on $$\text{cap} = 2 \cdot (\text{A boundary} – \text{B boundary} + \text{A boundary}$$).
While this may be inaccurate for some exam seasons, it is likely closer than not using capping. Officially, this cap is specific to the exam and season but may be available online, usually from FoIA requests (in which case can be substituted for the maximum available mark).
I have checked this method against OCR data and it is explicitly stated in an AQA source. I have also verified the converter works using the Edexcel UMS conversion spreadsheet and I haven’t come across an inaccuracy yet (that’s not to say that there couldn’t be one, however).

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.