XBUSLOCUC_2.1.2
Field description | Field abbreviation | Field version | Field length | Field type |
---|---|---|---|---|
Location of Self-employment (county/unitary authority level) | XBUSLOCUC | 2.1.2 | 4 | Char |
Valid entries
Dependent fields
- XWRKLOCUC
Depend upon fields
- ZBUSPCODE
- ZBUSAREA
- BUSEMPCOUNTRY
- BUSEMPPLOC
Additional information
This algorithm uses look-up tables provided from data initially supplied by the Office for National Statistics (ONS). Postcodes (full, outward and area) are mapped to UK counties, regions, unitary authorities and local government districts for UK domiciled students where possible. Where the partial postcode matches to a unique county/unitary authority, these codes should be retained, otherwise set to appropriate country code.
Country codes are returned for other UK and non-UK domiciled students.
Contains OS data, © Crown copyright and database right 2020
Contains Royal Mail data, © Royal Mail copyright and database right 2020
Source: Office for National Statistics licensed under the Open Government Licence v.3.0
Geographical mappings for Northern Ireland are based upon Crown Copyright and are reproduced with the permission of Land & Property Services under delegated authority from the Keeper of Public Records, © Crown copyright and database right 2020. NIMA MOU577.4
Technical Specification
The algorithm uses the HESA Data Management table D_postcode which is created from the ONS Postcode Directory (ONSPD) and restricted to the November YYYY update (postcode mapping is valid at this date), where YYYY represents the year following the academic year of collection. For graduate outcomes 2017/18, the November 2019 ONSPD data is used. The table includes the following fields: Full Postcode (PostCode, VARCHAR(8)), Outward Postcode (OutwardPostcode, VARCHAR(4)), Area Postcode (AreaCode, VARCHAR(2)), County/Region/Unitary Authority/Local Government District code (DomicileCode, VARCHAR(4)) and Government Office Region code (RegionCode, VARCHAR(2)).
The algorithm uses the HESA Data Management table D_country which is created from an overseas lookup and restricted to the November YYYY update (country mapping is valid at this date), where YYYY represents the year following the academic year of collection. For graduate outcomes 2017/18, the November 2019 ONSPD data is used. The table includes the following fields: Country Code (CountryCode, VARCHAR(2)) and Region Code (GeographicGroupCode, NVARCHAR(4)).
Carry out the following steps, taking a top down approach stopping when criteria is satisfied:
1. If ZBUSPCODE is not 99999999 and the value is found in D_PostCode.PostCode, then return D_PostCode.DomicileCode.
2. If ZBUSAREA is not NOTK and the value is found in D_PostCode.DomicileCode and D_PostCode.DomicileCode is not XF, XG, XH or XI return D_PostCode.DomicileCode.
3. If ZBUSPCODE is not 99999999 and the outward part of the postcode up to the first space (if there is one - maximum of 4 characters) is a value in D_PostCode.OutwardPostcode and maps to a single value D_PostCode.DomicileCode (excluding domicile codes XF, XG, XH and XI), then return D_PostCode.DomicileCode.
4. If ZBUSPCODE is not 99999999 and the postcode area (maximum of 2 characters) is a value in in D_PostCode.PostcodeArea and maps to a single value D_PostCode.DomicileCode (excluding domicile codes XF, XG, XH and XI) then return D_PostCode.DomicileCode.
5. If ZBUSAREA equals one of the following values XF, XG, XH, XI then return ZBUSAREA.
6. If ZBUSAREA equals one of the following values XL, IM then return ZBUSAREA.
7. If ZBUSAREA equals one of the following values A, B, D, E, F, G, H, J, K then return XF.
8. If ZBUSPCODE is not 99999999 and the outward part of the postcode up to the first space (if there is one - maximum of 4 characters) is a value in D_PostCode.OutwardPostcode and maps to a single value in D_PostCode.RegionCode equal to A, B, D, E, F, G, H, J or K then return XF.
9. If ZBUSPCODE is not 99999999 and the outward part of the postcode up to the first space (if there is one - maximum of 4 characters) is a value in D_PostCode.OutwardPostcode and maps to a single value in D_PostCode.RegionCode equal to Z then return XL.
10. If ZBUSPCODE is not 99999999 and the outward part of the postcode up to the first space (if there is one - maximum of 4 characters) is a value in D_PostCode.OutwardPostcode and maps to a single value in D_PostCode.RegionCode not in A, B, D, E, F, G, H, J, K or Z then return D_PostCode.RegionCode.
11. If ZBUSPCODE is not 99999999 and the postcode area (maximum of 2 characters) is a value in D_PostCode.PostcodeArea and maps to a single value in D_PostCode.RegionCode equal to A, B, D, E, F, G, H, J or K then return XF.
12. If ZBUSPCODE is not 99999999 and the postcode area (maximum of 2 characters) is a value in D_PostCode.PostcodeArea and maps to a single value in D_PostCode.RegionCode equal to Z then return XL.
13. If ZBUSPCODE is not 99999999 and the postcode area (maximum of 2 characters) is a value in D_PostCode.PostcodeArea and maps to a single value in D_PostCode.RegionCode not in A, B, D, E, F, G, H, J, K or Z then return D_PostCode.RegionCode.
14. If BUSEMPCOUNTRY is not 'OTHER' and in D_Country.CountryCode, then return D_Country.CountryCode.
15. If BUSEMPCOUNTRY is not 'OTHER' and in D_Country.GeographicGroupCode, then return OS.
16. If BUSEMPPLOC is not NULL or empty string then match BUSEMPPLOC value to corresponding country code.
17. Else, set to NOTK.
ZBUSPCODE (CHAR 8) | ZBUSAREA (CHAR 4) | BUSEMPCOUNTRY (CHAR 2) | BUSEMPPLOC (CHAR 2) | XBUSLOCUC |
---|---|---|---|---|
If ZBUSPCODE is a value in D_PostCode.PostCode | D_PostCode.DomicileCode | |||
If ZBUSAREA is a value found in D_PostCode.DomicileCode and D_PostCode.DomicileCode is not XF, XG, XH or XI | D_PostCode.DomicileCode | |||
If the outward part of ZBUSPCODE is a value in D_PostCode.OutwardPostcode and maps to a single value in D_PostCode.DomicileCode (excluding domicile codes XF, XG, XH and XI) | D_PostCode.DomicileCode | |||
If the postcode area of ZBUSPCODE is in D_PostCode.PostcodeArea and maps to a single value in D_PostCode.DomicileCode (excluding domicile codes XF, XG, XH and XI) | D_PostCode.DomicileCode | |||
If ZBUSAREA equals one of the following values XF, XG, XH, XI | ZBUSAREA | |||
If ZBUSAREA equals one of the following values XL, IM | ZBUSAREA | |||
If ZBUSAREA equals one of the following values A, B, D, E, F, G, H, J, K | XF | |||
If the outward part of ZBUSPCODE is a value in D_PostCode.OutwardPostcode and maps to a single value in D_PostCode.RegionCode A, B, D, E, F, G, H, J, K | XF | |||
If the outward part of ZBUSPCODE is a value in D_PostCode.OutwardPostcode and maps to a single value in D_PostCode.RegionCode Z | XL | |||
If the outward part of ZBUSPCODE is a value in D_PostCode.OutwardPostcode and maps to a single value in D_PostCode.RegionCode not in A, B, D, E, F, G, H, J, K or Z | D_PostCode.RegionCode | |||
If the postcode area of ZBUSPCODE is in D_PostCode.PostcodeArea and maps to a single value in D_PostCode.RegionCode A, B, D, E, F, G, H, J, K | XF | |||
If the postcode area of ZBUSPCODE is in D_PostCode.PostcodeArea and maps to a single value in D_PostCode.RegionCode Z | XL | |||
If the postcode area of ZBUSPCODE is in D_PostCode.PostcodeArea and maps to a single value in D_PostCode.RegionCode not in A, B, D, E, F, G, H, J, K or Z | D_Country.RegionCode | |||
If BUSEMPCOUNTRY found in D_Country.CountryCode | D_Country.CountryCode | |||
If BUSEMPCOUNTRY found in D_Country.GeographicGroupCode | OS | |||
01 | XF | |||
02 | XH | |||
03 | XI | |||
04 | XG | |||
05 | OS | |||
06 | XL | |||
NULL or empty string | NOTK |
Once the above process has been carried out, a second level of refinement is carried out where ZBUSPCODE is not a full valid postcode and any of the following hold:
- ZBUSAREA = NOTK
- ZBUSAREA is less than 4 characters
- ZBUSPCODE is a partial postcode
A sequence of more complex steps, as detailed below are performed:
If a valid outward postcode has been supplied, map to the county / unitary authority code which contains the largest number of full postcodes with the same outward part.
For graduates who have supplied full postcode information and area information in the current and previous Graduate Outcome collections, create a look-up file between area name and county / unitary authority. Exclude mappings for which the same free text has been mapped to several different county / unitary authorities or for which a single graduate has been mapped. For the remaining, where the same free text has been mapped to multiple county / unitary authorities, retain the mapping with the highest number of graduates.
This mapping file is used to map data for graduates for which area information has been provided without valid postcode information, but hasn’t been mapped to a county / unitary authority. Where there is a full match on the area data, the county / unitary authority information from the mapping file is used. Where the area information supplied by the graduate contains the area information from the mapping file and a single county / unitary authority can be identified, this information is used.
Where area names appear in the data multiple times and haven’t been mapped or where there are common spelling mistakes, where possible these are mapped to the appropriate county / unitary authority, the knowledge from which will be used for future mappings.
Finally, manual consistency checks are carried out across the dataset and county / unitary authority information updated where appropriate. Note that where a valid postcode has been returned in addition to area information and they appear to contradict, the postcode information takes priority.
The mapped county / unitary information is used to set or update the associated government office region and country derivations.
Revision history
Contact Liaison by email or on +44 (0)1242 388 531.