πŸŒ† Unique property reference numbers πŸ”’

πŸ’— a very British love affair πŸ’—

Addresses: a Data Quality Triple-threat

πŸ‘©β€πŸ’» ✍️ πŸ€‘ ⚑

For β€œfalsehoods programmers believe about addresses”, see Michael Tandy (2013); Paul Plowman (2018)

Addresses: a Data Quality Opportunity?

  • If Digital ID doesn’t play out it would be a shame for public services, but fret not…
    • We can still just use name and address like always, but we do need to work hard to to raise the validity and consistency qualities of addresses stored in public service records.

πŸ’— British locationsβ€½
πŸ’— British Standard 7666!

The kitemark is not used to certify the standard

Use British Standard 7666 to ensure that property, street, and land records are documented consistently (BSI Group 2021)

πŸ’Œ Part 1/3 The beauty of UPRNs

UPRNs are <12 digit, trillion-sized sequential IDs assigned in blocks by Geoplace to councils who apply them. Their length makes them hard for humans to recall. Mnemonics may fix this, but plurals and homophones are a problem (joeldn 2025; BBC news 2021).

---
config:
    packet:
        showBits: false
        bitsPerRow: 40
        rowHeight: 70
---
packet-beta
0-39: "Geovation, Fourth Floor North, 65 Goswell Road, London, EC1V 7EN"
40-79: "10094608166"
80-89: "010"
90-99: "094"
100-109: "608"
110-119: "166"
120-129: "Pineapple"
130-139: "Latte"
140-149: "Corporal"
150-159: "Anchovy"
160-199: "1000 word dictionary"

πŸ’Œ Going postal

UPRNs are published in AddressBase Premium, one of the nicer datasets you could hope to work with.

AddressBase Premium holds the address records from Royal Mail’s Postcode Address File, all address records from the Local Authority Land and Property Gazetteer, and objects without postal addresses (Ordnance Survey 2024).

πŸ’Œ AddressBase attributes

πŸ’Œ ~42 million UPRNs

πŸ’Œ UPRNs give people an identity

Chris Hildrey (2020), Geomob Podcast (2020)

πŸ’Œ UPRNs save lives

Skylar at Geomob (2023), Skylar at Fosdem (2025)

πŸ’Œ UPRNs save lives

  • Shopkeepers sometimes create accommodation over a shop with a shuttered entrance that only unlocks from the outside!
  • Colleagues told me about a case where a tenant, now living in one such place, applied for a parking permit… at this point the parking team noted that the living quarters had not been registered as an address, inspected the property, and raised the alarm.
  • When serving residents, ensuring their address is genuine could save their life.

πŸ’Œ UPRNs save lives

During lockdowns earlier this decade, the OS Open UPRN dataset, which contains only UPRNs + geospatial coordinates (not the commercial postal element), was shared with supermarkets for food parcel deliveries (Geoplace LLP 2020b).

OS Open UPRN will enable you to share and link data related to UPRNs, which you can spatially analyse and visualise using the accurate location (Ordnance Survey 2025).

πŸ’Œ UPRN matching supports democracy

People who pay for democracy but haven’t joined yet.

πŸ›οΈ πŸ“ πŸ—³οΈ
SELECT * FROM 
  Taxpayers
LEFT JOIN 
  Voters
ON 
  Taxpayers.UPRN=Voters.UPRN
WHERE 
  Voters.UPRN IS NULL 

πŸ’Œ UPRN matching unlocks pupil premium

Lewisham’s Data Scientists unlocked service funding by linking school and welfare records (Policy in Practice 2025; Schoolsweek 2023)

πŸ’Œ UPRN matching unlocks pension credits

  • To access welfare, pension status and pension credits (Policy in Practice 2023) are linked via UPRN
    • Eligible households are supported to enrol by anti-poverty teams
πŸ‘΅ πŸ“ πŸͺ™

πŸ’Œ UPRN matching enables research

Three datasets linked via UPRN

  1. School attendance
  2. GP utilisation
  3. National Child Measurement Programme (UK Government 2013...)
🏫 🩺 β²οΈπŸ“ πŸ“

πŸ‘Ή Part 2/3 The beasts of BS7666 πŸ‘Ί

UPRN (also USRN) was mandated in 2020 as a piece of critical UK infrastructure (see Geoplace LLP 2020a)

Yet [systems <~> integration] seems at an impasse…

πŸ‰ Licensing Labyrinths (Nigel Shadbolt 2013; James O’Malley 2022-2025)

🐲 Software Silos (Mark Thompson & Jerry Fishenden 2013)

🧌 Procurement Pitfalls (Geoplace LLP 2025)

πŸ›Ÿ Part 3/3 Data matching to the rescue!

Systems integration remains valuable, but the practice of data matching has emerged as a data-driven form of DIY integration.

πŸŽ–οΈ https://docs.os.uk/os-apis/accessing-os-apis/os-places-api (single addresses only)

πŸ₯‰ https://github.com/ONSdigital/aims-diy

πŸ₯ˆ https://www.robinlinacre.com/address_matching/

πŸ₯‡ https://github.com/endeavourhealth-discovery/ASSIGN

πŸ›Ÿ ASSIGN: a uprn matching http api

AddreSS MatchInG to Unique Property Reference Numbers is made by Endeavour Health (David Stables 2013...)

ASSIGN is a highly accurate open-source address-matching algorithm with a high match rate and minimal biases when evaluated against a large sample of general practice-recorded patient addresses. ASSIGN has potential to be used in other address-based datasets (see Harper et al. 2019, 2021, 2024).

It also has the ability to de-identify datasets with a masking salt from OpenPseudonymiser (2011)

πŸ›Ÿ ASSIGN: Ensuring the currency of this highly dynamic dataset

πŸ“© Each night, ASSIGN calls the OS API to check for a change-only update (COU) to AddressBase Premium

  πŸŒ™ When there is a COU to process (frequently!), updates run overnight

    πŸ§‡ Fresh data is served ~8 hours later

πŸ›Ÿ ASSIGN matching single addresses

---
config:
  theme: 'dark'
  messageFontSize: 20
---
sequenceDiagram
  %% actor You
  You ->> API : curl ... https://.../getinfo?adrec=Geovation,+Fourth+Floor+North,+65+Goswell+Road,+London,+EC1V+7EN
  API ->> You : {Address_format:good,Postcode_quality:good,Matched:true,<br/>BestMatch:{UPRN:πŸ›–10093110833πŸ›–,Qualifier:Property,LogicalStatus:1,<br/>Classification:PP,ClassTerm:Property Shell,Algorithm:130-bestfit,<br/>ABPAddress:{Number:65,Street:Goswell Road,Town:Islington,Postcode:EC1V 7EN,Organisaton:1},<br/>Match_pattern:{Postcode:equivalent,Street:equivalent,Number:equivalent,Building:candidate field dropped,Flat:equivalent}}}

πŸ›Ÿ ASSIGN matching multiple addresses

---
config:
  theme: 'dark'
---
sequenceDiagram
    %% actor You
    opt De-Identification Salt
      You -->> API : curl ... -F "file=test.encryptedSalt" https://.../fileupload2
      API -->> You : {"upload": { "status": "SALTOK"}}  
    end
    You ->> API : curl ... -F "file=addresses.txt" https://.../fileupload2
    API ->> You : {"upload": { "status": "OK"}}  
    You ->> API : curl ... "https://.../download3?filename=test-addresses.txt" --output "test-addresses.tsv"
    API ->> You : πŸ’Ύ test-addresses.tsv

(Batches can be upto 100K records in size, matching is performed at ~38K records per minute)

πŸ›Ÿ Announcing the assign-uprn package

useful for
scientific notebooks
data pipelines
pre-requirements
a license to match (e.g. public sector geospatial)
a permit from endeavour (url, user, password)
then it’s just three simple functions
address_search
upload
download

πŸ›Ÿ upload

test-addresses.txt:

1 β­Ύ 10 Downing St, Westminster, London, SW1A2AA 
2 β­Ύ Bridge Street, London, SW1A 2LW             
3 β­Ύ 221b Baker St, Marylebone, London, NW1 6XE  
comparable = {'upload': {'status': 'OK'}}
assert upload(
  infilepath="../data/external/test-addresses.txt"
  ).json() == comparable
comparable = {"upload": { "status": "SALTOK"}}
assert upload(
  infilepath="../data/external/test.EncryptedSalt"
  ).json() == comparable

πŸ›Ÿ download

infilepath = 'test-addresses.txt' # prior upload
outfilepath = '../data/processed/assign-uprn.tsv'
assert download(infilepath, outfilepath).status_code == 200
id uprn address_fmt algorithm classification match_building match_flat match_number match_postcode match_street abp_number abp_postcode abp_street abp_town qualifier adr_candiddate abp_building latitude longitude point x y ralf classification_term abp_flat logical_status
1 100023336956 10-match1 RD04 equivalent equivalent equivalent equivalent equivalent 10 SW1A 2AA Downing Street City Of Westminster Property 10 Downing St,Westminster,London,SW1A2AA 51.5035410 -.1276700 51.5035410 530047.00 179951.00 C30921C8404087803C3687301351FF41CCB4A5E8F3691070723293C8BD654CBB Terraced 1
2 200002501505 550-match5a PP candidate field dropped equivalent equivalent equivalent equivalent SW1A 2LW Bridge Street City Of Westminster Property Bridge Street,London,SW1A 2LW Portcullis House 51.5013476 -.1243451 51.5013476 530284.00 179713.00 4D19E2EB66A2C12BD56B93D96CFBBE5B74525AEFC4C68329BE87B55C43EA4C36 Property Shell 1
3 100023071949 3200-match61A170 CR08 moved from Number equivalent moved to Building equivalent equivalent NW1 6XE Baker Street London Property 221b Baker St,Marylebone,London,NW1 6XE 221B 51.5237510 -.1585550 51.5237510 527847.00 182144.00 7727B90C7C3A744AF6FD8D5A4FEB6767B1EACBBC721B85EED6AE86EDD2B0BA9C Shop / Showroom 1

πŸ›Ÿ Let’s match, clean, and de-identify

https://joeldn.srht.site/assign-uprn

THE END

BBC news. 2021. β€œApp Used by Emergency Services Under Scrutiny β€” Bbc.co.uk.” https://www.bbc.co.uk/news/technology-56901363.
BSI Group. 2021. β€œBS 7666 - Spatial Datasets for Geographical Referencing β€” Landingpage.bsigroup.com.” https://doi.org/10.3403/BS7666.
Chris Hildrey. 2020. β€œProxyAddress β€” Proxyaddress.org.” https://www.proxyaddress.org/.
David Stables. 2013... β€œEndeavour Health β€” Endeavourhealth.org.” https://endeavourhealth.org.
Geomob Podcast. 2020. β€œ51. Chris Hildrey: ProxyAddress β€” thegeomob.com.” https://thegeomob.com/podcast/episode-51.
Geoplace LLP. 2020a. β€œBecoming Open and Royalty Free β€” Geoplace.co.uk.” https://www.geoplace.co.uk/power-of-place/becoming-open-and-royalty-free.
β€”β€”β€”. 2020b. β€œUPRNs – Supporting the Response to COVID-19 β€” Geoplace.co.uk.” https://www.geoplace.co.uk/blog/2020/uprns-supporting-the-response-to-covid-19.
β€”β€”β€”. 2025. β€œHow to Generate Procurement Criteria β€” Geoplace.co.uk.” https://www.geoplace.co.uk/local-authority-resources/how-to/generate-procurement-criteria.
Harper, Gill, Nicola Firman, Marta Wilk, Milena Marszalek, Paul Simon, David Stables, Richard Fry, Kelvin Smith, and Carol Dezateux. 2024. β€œDetermining Households from Patient Addresses and Unique Property Reference Numbers in General Practitioner Electronic Health Records.” International Journal of Population Data Science 9 (1): 2379.
Harper, Gill, David Stables, Kambiz Boomla, John Robson, Richard Fry, Zaheer Ahmed, and Carol Dezateux. 2019. β€œAllocating Unique Property Reference Numbers (UPRNs) to General Practitioner-Recorded Patient Addresses Using a Deterministic Address-Matching Algorithm: Evaluation of Representativeness and Bias in an Ethnically-Diverse Inner City Population.” International Journal of Population Data Science 4 (3).
Harper, Gill, David Stables, Paul Simon, Zaheer Ahmed, Kelvin Smith, John Robson, and Carol Dezateux. 2021. β€œEvaluation of the ASSIGN Open-Source Deterministic Address-Matching Algorithm for Allocating Unique Property Reference Numbers to General Practitioner-Recorded Patient Addresses.” International Journal of Population Data Science 6 (1): 1674.
James O’Malley. 2022-2025. β€œOdds and Ends of History | James O’Malley | Substack β€” Takes.jamesomalley.co.uk.” https://takes.jamesomalley.co.uk/t/paf.
joeldn. 2025. β€œMnemonic-Place-Encoder β€” joeldn.srht.site.” https://joeldn.srht.site/site/post/mnemonic-place-encoder.html.
Mark Thompson & Jerry Fishenden. 2013. β€œThe Great Deverticalisation – Part 1: The Street | Computer Weekly β€” Computerweekly.com.” https://www.computerweekly.com/opinion/The-great-deverticalisation-part-1-the-street.
Michael Tandy. 2013. β€œFalsehoods Programmers Believe about Addresses β€” Mjt.me.uk.” https://www.mjt.me.uk/posts/falsehoods-programmers-believe-about-addresses/.
Nigel Shadbolt. 2013. β€œA Cornerstone for Open Data: The Postcode Address File β€” Theodi.org.” https://theodi.org/news-and-events/blog/a-cornerstone-for-open-data-the-postcode-address-file/.
OpenPseudonymiser. 2011. β€œOpenPseudononymiser β€” Openpseudonymiser.org.” https://www.openpseudonymiser.org.
Ordnance Survey. 2024. β€œWhich Address Product Should You Use? | More Than Maps β€” Docs.os.uk.” https://docs.os.uk/more-than-maps/os-mastermap-generation-data-demonstrators/addressing-and-location-demonstrators/which-address-product-should-you-use#addressbase-premium.
β€”β€”β€”. 2025. β€œOS Open UPRN | Data Products | OS β€” Ordnancesurvey.co.uk.” https://www.ordnancesurvey.co.uk/products/os-open-uprn.
Paul Plowman. 2018. β€œUK Address Oddities! &#X2013; The Unusually Named Blog β€” Paulplowman.com.” https://paulplowman.com/stuff/uk-address-oddities/.
Policy in Practice. 2023. β€œLow Income Family Tracker (LIFT) | Policy in Practice β€” Policyinpractice.co.uk.” https://policyinpractice.co.uk/low-income-family-tracker.
β€”β€”β€”. 2025. β€œThree London Boroughs Tackle Child Hunger by Auto Enrolment of 1,500 Students in Free School Meals | Policy in Practice β€” Policyinpractice.co.uk.” https://policyinpractice.co.uk/case-study/fsm/.
Schoolsweek. 2023. β€œCouncil’s Β£800 Exercise Results in Β£1.2m School Cash Boost β€” Schoolsweek.co.uk.” https://schoolsweek.co.uk/councils-800-exercise-results-in-1-2m-school-funding-boost/.
Skylar at Fosdem. 2025. β€œHow to Save a Life.” https://archive.fosdem.org/2025/schedule/event/fosdem-2025-4914-how-to-save-a-life/.
Skylar at Geomob. 2023. β€œPast Geomob Speakers β€” Thegeomob.com.” https://thegeomob.com/past-speakers.
UK Government. 2013... β€œNational Child Measurement Programme β€” Gov.uk.” https://www.gov.uk/government/collections/national-child-measurement-programme.