Consensus on grades=* tagging

I’ve been updating schools in Wales with language provision recently, and to cut a long story short, I would like to suggest we come to a consensus on tagging grades=*.

Taginfo GB has various values for grades=*, and I believe some of these may be mistakenly tagged as pupil ages (we already have min_age=*and max_age=*) rather than actual year groups. isced:level=* is of course standardised, but this doesn’t really make any distinction between Infant/Junior schools and Primary schools for example.

The Wiki article for grades=* (linked above) currently has a table for US schools, a guide for Portuguese schools, and a 2017 proposal for a worldwide scheme, yet there is (as far as I can tell) no guide for tagging schools in the UK. As education is a devolved matter and different systems are used there is not going to be a suitable one-size-fits-all approach to cover all of Wales, England, Scotland and NI. Therefore, I think grades=* should differentiate where possible to keep it accurate to the nation it’s being used in (most notably for Scotland and NI).

Thanks to @LordGarySugar’s help, I have come up with some ideas to start things off:

England and Wales

The same system is used in England and in Wales. The reason why I haven’t offered a grades=0 value is that not every school has a Nursery (compulsory education begins at Reception, see also Scotland and Northern Ireland), so using 0 to mean “either Nursery or Reception” wouldn’t be clear.

A typical Primary school with Nursery provision, for example would be tagged as grades=N-Y6

grades=* England Wales
N Nursery Nursery
R Reception Reception
Y1 Year 1 Year 1
Y2 Year 2 Year 2
Y3 Year 3 Year 3
Y4 Year 4 Year 4
Y5 Year 5 Year 5
Y6 Year 6 Year 6
Y7 Year 7 Year 7
Y8 Year 8 Year 8
Y9 Year 9 Year 9
Y10 Year 10 Year 10
Y11 Year 11 Year 11
Y12 Year 12/AS Year 12/AS
Y13 Year 13/A2 Year 13/A2

Scotland

Scotland is quite distinct with the names it uses for its year groups, and as these don’t line up with the ages used in England and in Wales, I think it would be confusing to tag Primary 2 as grades=1 for example, even though they are for the same age group.

As far as I can tell, Scotland doesn’t have Reception, so N is used here to be consistent with Nursery tagging above. As the numbers are 1-7 for both primary and secondary, I think preceding with P or S is necessary, which also makes it clear that these values are for Scotland only.

P1-P7 already has a couple of uses, and so does S1-S6.

grades=* Scotland
N Nursery
P1 Primary 1 (P1)
P2 P2
P3 P3
P4 P4
P5 P5
P6 P6
P7 P7
S1 Secondary 1 (S1)
S2 S2
S3 S3
S4 S4
S5 S5
S6 S6

Northern Ireland
Northern Ireland has yet another system going on. They use the P naming for Primary schools, but use Year for secondary.

grades=* Northern Ireland
N Nursery
P1 Primary 1 (P1)
P2 P2
P3 P3
P4 P4
P5 P5
P6 P6
P7 P7
Y8 Year 8
Y9 Year 9
Y10 Year 10
Y11 Year 11
Y12 Year 12
Y13 Year 13
Y14 Year 14

Clear as mud, but please feel free to make any suggestions and hopefully we can come to some sort of agreement!

Edit 03/10: Added ‘Y’ to mean ‘Year’ where applicable (thanks Robert)

1 Like

If we’re preferring British English then shouldn’t we toss the grades key entirely in favour of something like school_years?

1 Like

I quite like that suggestion, actually! Something to be considered.

I think it would go quite a way to ensuring that tags for UK systems are used (using ‘grades’ does lend itself to people wanting to try and tag things in line with other systems)

It’s nice that this is being picked up “early”. There are “only” some 720 locations already tagged with this, so getting a good re-write of the wiki page to double down on it being a local system, and that trying to reflect a global system will be very difficult.

Despite my desire to see all things standardised with data like this, there is nothing worse than trying to solve 4 existing standards, by making a 5th one.

Is it worth proposing a grade region tag, or maybe using the existing ISO 3166-2 tag to try and get some extra detail about the location of the grade data? - Wikipedia - Wikipedia ISO 3166-2 GB - Wikipedia ISO 31662 US -

2 Likes

No, because a single concept should be represented by the same key globally. That’s a pretty fundamental concept of OSM. That different places measure said concept using different terms doesn’t mean we get to just make up a new key to describe the same thing. The time for enforcing British English nomenclature on this particular concept is a ship that has long since sailed.

To be sure, there’s a definite need to distinguish what system is being used so that data consumers don’t try to misinterpret UK school years as US grades, but it shouldn’t involve creating a new key for an existing concept. E.g. something like grades:GB-NIR=*. Or grades=GB-NIR:*. I dunno what the usual convention is for keys/values with colons.

2 Likes

I agree that we should not start using a key like school_years=, that’s what grades= is for and it would be confusing making a new tag just to arbitrarily separate out UK school years. The wiki page makes it clear that grades= will have different values in different regions, which allows for a simple key and tagging system that will be easy for new users and data consumers to understand.

I don’t think there is a need to distinguish what system is being used, as the systems are specifically regional. I find it unlikely that data consumers will interpret UK grades as US grades, not to mention all the other countries that also use grades= to represent a system different to the US one. Just take a look at the distribution map on Taginfo!

As for the original post’s suggestions, I endorse all of them (seeing as I helped come up with them)

2 Likes

So true actually. If it’s possible for data consumers to filter out countries anyway there’s no need to create a UK specific key - especially when we have devolved systems ourselves, we can’t create anything that’s all encompassing.

I work in higher education in England. When English school years are referred to they’re almost always prefixed by either “Year” or “Y”, rather than just using the raw numbers. I think it might be better to include the Y prefix in the grades=* tag, as this seems to fit actual usage, and it would help avoid and confusion with children’s ages. So we’d then see things like grades=Y8-Y13.

3 Likes

We do the same in Wales, actually. I think this makes sense and would fit right in with Scotland and NI. I’ve edited the initial post, thank you.

I’ve done some work on schools in the UK and I don’t think I see much use in the grades tag, personally.

For schools in England, they have a legal age range they can provide for (see the info on “Age Range” here for example Stalham Academy - GOV.UK ). They also have a legal ‘phase of education’ with a limited number of values.

Age range would translate to min_age and max_age which I have mapped on most schools (currently on about 73% of all UK schools, per OSM Schools Tag Keys Report ). The grades provided by the school would then just be a direct translation from the min_age and max_age

For the legal designation, it would be mapped in school which I have also done and documented a few years ago on the wiki Key:school - OpenStreetMap Wiki for the 4 acceptable UK values.

Obviously, you can map whatever you like, but I find these two data points both easier to interpret and more directly useful.

While we’re all here talking about schools, I thought I’d mention the other part of this conversation that we had while investigating this issue - namely the difference between the official definitions of isced:level and the actual usage when tagged on UK schools. As explained on Key:isced:level - OpenStreetMap Wiki and this document, year 7-9 studies are isced:level 2 and y10-11 (GCSE) studies are isced:level 3, together with y12-13 (A-levels). However, the tagging used on UK schools considers GCSEs part of isced:level 2. We can see this in the fact that, under the official definition, every secondary school should be tagged isced:level 2;3 for providing education from years 7-11, and that no schools would be tagged isced:level 2 (because no schools provide education for only y 7-9). However, there are 1581 schools in the UK tagged isced:level 2.

This was the rationale behind @ceirios wanting clarity on how to tag grades=, because according to the official isced levels a secondary school without a sixth form would be tagged the exact same as one with a sixth form, making the isced:level tag useless for differentiating between the two.

A similar discrepancy arises with Reception, which is officially classed as part of isced:level 0, meaning all primary schools should be tagged isced:level=0;1, but in practice this tag is only used for primary schools with a nursery.

I understand the rationale between using the system ‘incorrectly’, as it allows us to differentiate whether a school has a nursery or has a sixth form, but maybe it was wrong to do this and we should rely on some other, more UK-friendly tag to indicate these differences.

2 Likes

Ah, well I also have a big responsibility for the incorrect tagging of isced:level

I see that the advice on the wiki was only added in September this year replacing the previous advice, which the current usage reflects. I concede that the official explanations of ISCED (including this) matches your explanation.

I think that it would be best to fix the isced:level tagging on schools in the UK. I have been meaning to suggest a semi-automatic import of data from the Get Information About Schools service but first I’ll need to adjust my transformation logic to match the correct understanding of ISCED level in the UK.

I still think that min_age and max_age give the information that would be held in grades and so adding that is not of much use.

3 Likes

Some other regions have similarly taken liberties with ISCED to make locally relevant distinctions. Literally every occurrence of isced:level=* in Puerto Rico is based on an import’s guess as to how to translate some local terms, which the government subsequently reorganized, because UNESCO never published a correspondence table for that region. Due to this and similar issues all over the world, I think it’s safe to say that isced:level=* has failed in its original goal of harmonizing school classifications globally. Data consumers and queries can only reliably salvage these tags as local keywords that are integers for historical reasons. The more explicit school=* and grades=* keys are opportunities to reduce the potential for confusion.

2 Likes