UK Earnings by Region & Occupation
UK employee gross earnings and paid hours by region and occupation (2-digit SOC), 2016 to 2023, as one clean .parquet file with every ONS code carrying a readable label. Built from the Annual Survey of Hours and Earnings (ASHE Table 3). Free, under the Open Government Licence.
4,447,872 rows · 13 UK regions/countries · 36 occupation groups · mean, median & 10th–90th percentiles · hourly / weekly / annual pay & hours · by sex and full-/part-time · 2016–2023.
Preview — median gross annual pay by region, 2023
Median gross annual pay, all employees (all occupations, both sexes, full- and part-time), 2023. The full file has every occupation group, every percentile, hourly/weekly/annual pay and hours, split by sex and working pattern, back to 2016.
| Region / country | Median gross annual pay |
|---|---|
| London | £38,943 |
| South East | £31,100 |
| Scotland | £29,675 |
| United Kingdom | £29,669 |
| East | £28,883 |
| North West | £28,506 |
| West Midlands | £28,192 |
| South West | £28,059 |
| Wales | £27,571 |
| Yorkshire and The Humber | £27,528 |
| Northern Ireland | £27,102 |
| East Midlands | £27,062 |
| North East | £26,576 |
Showing 13 UK regions/countries with a published median for 2023. Source figures are ONS estimates; small cells are suppressed by the ONS and appear as null in the file.
What's in the file
One row per observation. Every dimension ships as BOTH a stable ONS code (filter on it) and a readable label (show it):
value— the observation (float;nullwhere the ONS suppresses a small cell)cv— coefficient of variation, the ONS quality measure for the estimatedata_marking— ONS suppression / quality flag where presentyear— survey year, typed int (2016–2023)administrative_geography_code/_label— e.g.E12000007/ Londonsoc_code/soc_label— 2-digit Standard Occupational Classification groupaverages_and_percentiles_code/_label— mean, median, 10th…90th percentilehours_and_earnings_code/_label— e.g. annual gross pay, hourly pay excl. overtime, paid hourssex_code/_label·working_pattern_code/_label— all / male / female · all / full-time / part-time
Why we built this
ASHE is the ONS's authoritative survey of UK pay, but the bulk download is a 727 MB CSV in an internal “v4” layout — observation value, quality columns, then a code+label column for every dimension — that you have to understand before you can load it, and that is too large to open casually. We did that parse once, deterministically, typed the values, and wrote a 26.0 MB columnar Parquet (plus a CSV twin). The numbers are the ONS's, unchanged; we only made them small and ready to query. We refresh on the ONS's annual cadence.
Source & licence
Source: Office for National Statistics, Annual Survey of Hours and Earnings, ASHE Table 3 (region by occupation, 2-digit SOC), via the ONS dataset API. Contains public sector information licensed under the Open Government Licence v3.0. Attribution: “Source: ONS, Annual Survey of Hours and Earnings, licensed under the Open Government Licence v3.0. Normalized by iron26.” Last refreshed from source: 2026-06-14.