I'm an English teacher and I use lookup tables on Excel for this. It's kind of complicated if you don't know how it works.
All students are given a raw mark in the first instance. I don't have iGCSE boundaries, but I have AQA GCSE English Lang in front of me (albeit from last year, though the unit 3 ones still stand - you should talk to the head of English for a breakdown of this year's unit 1).
Unit 1 (exam, 60%) is worth 80 raw marks. Unit 3 (coursework, 40%) is worth 80 raw marks too. Unit 2 is worth 0 so we'll ignore it (long story - speaking and listening component).
The raw marks are then converted to UMS.
On Unit 3 there are 120 UMS available. On Unit 1 there are 180 UMS available.
The conversion scale is not linear, so it's not a case of saying 'one mark is equal to two UMS" or whatever; rather, on Unit 3 (as an example) 1 raw mark out of 80 is equivalent to 2 UMS, while 7/80 is equivalent to 17 UMS and 12/80 is equivalent to 27 UMS. 79/80 = 100% UMS. It blows the students' minds to find out they can get 100% on an exam without getting all the marks!
Unit 3 UMS boundaries stay the same every year, but Unit 1 changes based on the outcomes of the exam. It's a way for the exam board to adjust the grade boundaries dependent on the difficulty of the exam that year without the need to remark and alter the raw marks given to each student.
AQA releases documents containing raw mark to UMS conversion tables (in fact I think there's a function for it on the website) and another document with the UMS grade boundaries. It takes a bit of digging unfortunately and even I've had to fill the gaps a bit at times.