{
  "version": "4.0.0",
  "checked": "2026-10-17",
  "sources": {
    "hmrc": {
      "organisation": "HMRC",
      "name": "Survey of Personal Incomes, Table 3.1a",
      "period": "2023/24",
      "release": "2026-04-29",
      "url": "https://www.gov.uk/government/statistics/percentile-points-from-1-to-99-for-total-income-before-and-after-tax",
      "verification_url": "https://www.gov.uk/government/statistics/personal-incomes-statistics-for-the-tax-year-2023-to-2024/personal-incomes-statistics-2023-to-2024-commentary",
      "checked": "2026-09-16",
      "coverage": "UK individuals with an Income Tax liability",
      "measure": "Annual total income before tax",
      "notes": "Published anchors only. The 80th and 95th percentile values come from the stored HMRC table transcription; the other anchors were checked against HMRC commentary. No invented guide points or tail extrapolation."
    },
    "ashe_age": {
      "organisation": "ONS",
      "name": "ASHE, Table 6 (annual gross pay), 2025 provisional",
      "period": "2025 provisional",
      "release": "2025-10-23",
      "url": "https://www.ons.gov.uk/employmentandlabourmarket/peopleinwork/earningsandworkinghours/datasets/agegroupashetable6",
      "checked": "2026-10-17",
      "coverage": "UK full-time employee jobs, same job for more than one year",
      "measure": "Annual gross pay",
      "notes": "Published 2025 provisional annual gross pay percentiles, Full-Time sheet, both sexes. No part-time, city or combined age-by-region estimates.",
      "workbook": "PROV - Age Group Table 6.7a   Annual pay - Gross 2025.xlsx",
      "sheet": "Full-Time",
      "download": "https://www.ons.gov.uk/file?uri=/employmentandlabourmarket/peopleinwork/earningsandworkinghours/datasets/agegroupashetable6/2025provisional/ashetable62025provisional.zip",
      "archive_sha256": "23ce201e87e3b780e76fd464ae4fd7cd8e6ca7ba8b679ba10ce77427e8841de9"
    },
    "ashe_region": {
      "organisation": "ONS",
      "name": "ASHE, Table 7 (annual gross pay), 2025 provisional",
      "period": "2025 provisional",
      "release": "2025-10-23",
      "url": "https://www.ons.gov.uk/employmentandlabourmarket/peopleinwork/earningsandworkinghours/datasets/placeofworkbylocalauthorityashetable7",
      "checked": "2026-10-17",
      "coverage": "UK full-time employee jobs, same job for more than one year; place of work",
      "measure": "Annual gross pay",
      "notes": "Published 2025 provisional annual gross pay percentiles, Full-Time sheet, both sexes. No part-time, city or combined age-by-region estimates.",
      "workbook": "PROV - Work Geography Table 7.7a   Annual pay - Gross 2025.xlsx",
      "sheet": "Full-Time",
      "download": "https://www.ons.gov.uk/file?uri=/employmentandlabourmarket/peopleinwork/earningsandworkinghours/datasets/placeofworkbylocalauthorityashetable7/2025provisional/ashetable72025provisional.zip",
      "archive_sha256": "2f453a00afe9fc3dbbe84ee219059ca99a257b9b49b1d4252d7eab6a4c637043"
    },
    "wealth": {
      "organisation": "ONS",
      "name": "Wealth and Assets Survey, Round 8",
      "period": "April 2020–March 2022",
      "release": "2025-01-24",
      "url": "https://www.ons.gov.uk/peoplepopulationandcommunity/personalandhouseholdfinances/incomeandwealth/bulletins/totalwealthingreatbritain/april2020tomarch2022",
      "checked": "2026-09-16",
      "coverage": "Great Britain households; Northern Ireland excluded",
      "measure": "Total net household wealth, including private pensions and physical wealth",
      "notes": "Survey accreditation suspended from Round 8 in June 2025. Pandemic collection and non-response increase uncertainty. Use national bands only; no estimated age percentiles or wealth tail model."
    },
    "us": {
      "organisation": "US Census Bureau",
      "name": "Income in the United States: 2025, P60-289, Figure 4",
      "period": "2025",
      "release": "2026-09-15",
      "url": "https://www.census.gov/library/publications/2026/demo/p60-289.html",
      "download": "https://www2.census.gov/library/publications/2026/demo/p60-289.pdf",
      "checked": "2026-09-16",
      "coverage": "US households",
      "measure": "Annual household money income; separate post-tax measure",
      "notes": "10th, 50th and 90th percentile thresholds visually verified in Figure 4, printed page 6. Band output only. No individual salary percentile, cost-of-living adjustment, or cross-country rank equivalence."
    }
  },
  "datasets": {
    "uk_income": {
      "label": "UK taxpayer income",
      "source": "hmrc",
      "currency": "GBP",
      "unit": "person",
      "period": "2023/24",
      "method": "log",
      "points": [
        {
          "p": 1,
          "value": 12800
        },
        {
          "p": 10,
          "value": 15700
        },
        {
          "p": 50,
          "value": 29700
        },
        {
          "p": 80,
          "value": 49900
        },
        {
          "p": 90,
          "value": 67400
        },
        {
          "p": 95,
          "value": 93600
        },
        {
          "p": 99,
          "value": 207000
        }
      ]
    },
    "gb_wealth": {
      "label": "Great Britain household wealth",
      "source": "wealth",
      "currency": "GBP",
      "unit": "household",
      "period": "2020–22",
      "method": "band",
      "points": [
        {
          "p": 10,
          "value": 16500
        },
        {
          "p": 50,
          "value": 293700
        },
        {
          "p": 90,
          "value": 1200500
        },
        {
          "p": 99,
          "value": 3121500
        }
      ]
    },
    "us_income": {
      "label": "US household income before tax",
      "source": "us",
      "currency": "USD",
      "unit": "household",
      "period": "2025",
      "method": "band",
      "points": [
        {
          "p": 10,
          "value": 20010
        },
        {
          "p": 50,
          "value": 87460
        },
        {
          "p": 90,
          "value": 261300
        }
      ]
    },
    "us_posttax": {
      "label": "US household income after taxes and credits",
      "source": "us",
      "currency": "USD",
      "unit": "household",
      "period": "2025",
      "method": "band",
      "points": [
        {
          "p": 10,
          "value": 20140
        },
        {
          "p": 50,
          "value": 76060
        },
        {
          "p": 90,
          "value": 201600
        }
      ]
    },
    "age_18-21": {
      "label": "Full-time pay: 18-21",
      "source": "ashe_age",
      "currency": "GBP",
      "unit": "job",
      "period": "2025 provisional",
      "method": "log",
      "points": [
        {
          "p": 10,
          "value": 14617
        },
        {
          "p": 20,
          "value": 17961
        },
        {
          "p": 25,
          "value": 19105
        },
        {
          "p": 30,
          "value": 20177
        },
        {
          "p": 40,
          "value": 21865
        },
        {
          "p": 50,
          "value": 23596
        },
        {
          "p": 60,
          "value": 24821
        },
        {
          "p": 70,
          "value": 26561
        },
        {
          "p": 75,
          "value": 27571
        },
        {
          "p": 80,
          "value": 28675
        },
        {
          "p": 90,
          "value": 32939
        }
      ]
    },
    "age_22-29": {
      "label": "Full-time pay: 22-29",
      "source": "ashe_age",
      "currency": "GBP",
      "unit": "job",
      "period": "2025 provisional",
      "method": "log",
      "points": [
        {
          "p": 10,
          "value": 22758
        },
        {
          "p": 20,
          "value": 25372
        },
        {
          "p": 25,
          "value": 26429
        },
        {
          "p": 30,
          "value": 27510
        },
        {
          "p": 40,
          "value": 29970
        },
        {
          "p": 50,
          "value": 32347
        },
        {
          "p": 60,
          "value": 35159
        },
        {
          "p": 70,
          "value": 38558
        },
        {
          "p": 75,
          "value": 40850
        },
        {
          "p": 80,
          "value": 43521
        },
        {
          "p": 90,
          "value": 52197
        }
      ]
    },
    "age_30-39": {
      "label": "Full-time pay: 30-39",
      "source": "ashe_age",
      "currency": "GBP",
      "unit": "job",
      "period": "2025 provisional",
      "method": "log",
      "points": [
        {
          "p": 10,
          "value": 25041
        },
        {
          "p": 20,
          "value": 29000
        },
        {
          "p": 25,
          "value": 30717
        },
        {
          "p": 30,
          "value": 32610
        },
        {
          "p": 40,
          "value": 36483
        },
        {
          "p": 50,
          "value": 40668
        },
        {
          "p": 60,
          "value": 45284
        },
        {
          "p": 70,
          "value": 50797
        },
        {
          "p": 75,
          "value": 54620
        },
        {
          "p": 80,
          "value": 59109
        },
        {
          "p": 90,
          "value": 75041
        }
      ]
    },
    "age_40-49": {
      "label": "Full-time pay: 40-49",
      "source": "ashe_age",
      "currency": "GBP",
      "unit": "job",
      "period": "2025 provisional",
      "method": "log",
      "points": [
        {
          "p": 10,
          "value": 25338
        },
        {
          "p": 20,
          "value": 29726
        },
        {
          "p": 25,
          "value": 31858
        },
        {
          "p": 30,
          "value": 34095
        },
        {
          "p": 40,
          "value": 38871
        },
        {
          "p": 50,
          "value": 44244
        },
        {
          "p": 60,
          "value": 49672
        },
        {
          "p": 70,
          "value": 56343
        },
        {
          "p": 75,
          "value": 60919
        },
        {
          "p": 80,
          "value": 66625
        },
        {
          "p": 90,
          "value": 88658
        }
      ]
    },
    "age_50-59": {
      "label": "Full-time pay: 50-59",
      "source": "ashe_age",
      "currency": "GBP",
      "unit": "job",
      "period": "2025 provisional",
      "method": "log",
      "points": [
        {
          "p": 10,
          "value": 24757
        },
        {
          "p": 20,
          "value": 28588
        },
        {
          "p": 25,
          "value": 30283
        },
        {
          "p": 30,
          "value": 32417
        },
        {
          "p": 40,
          "value": 36970
        },
        {
          "p": 50,
          "value": 41866
        },
        {
          "p": 60,
          "value": 47677
        },
        {
          "p": 70,
          "value": 53868
        },
        {
          "p": 75,
          "value": 58409
        },
        {
          "p": 80,
          "value": 64282
        },
        {
          "p": 90,
          "value": 85226
        }
      ]
    },
    "age_60+": {
      "label": "Full-time pay: 60+",
      "source": "ashe_age",
      "currency": "GBP",
      "unit": "job",
      "period": "2025 provisional",
      "method": "log",
      "points": [
        {
          "p": 10,
          "value": 23318
        },
        {
          "p": 20,
          "value": 26342
        },
        {
          "p": 25,
          "value": 27944
        },
        {
          "p": 30,
          "value": 29407
        },
        {
          "p": 40,
          "value": 32600
        },
        {
          "p": 50,
          "value": 36467
        },
        {
          "p": 60,
          "value": 40996
        },
        {
          "p": 70,
          "value": 46951
        },
        {
          "p": 75,
          "value": 50572
        },
        {
          "p": 80,
          "value": 55652
        },
        {
          "p": 90,
          "value": 74677
        }
      ]
    },
    "salary_uk": {
      "label": "UK full-time pay",
      "source": "ashe_age",
      "currency": "GBP",
      "unit": "job",
      "period": "2025 provisional",
      "method": "log",
      "points": [
        {
          "p": 10,
          "value": 23990
        },
        {
          "p": 20,
          "value": 27495
        },
        {
          "p": 25,
          "value": 29262
        },
        {
          "p": 30,
          "value": 30935
        },
        {
          "p": 40,
          "value": 34779
        },
        {
          "p": 50,
          "value": 39039
        },
        {
          "p": 60,
          "value": 44203
        },
        {
          "p": 70,
          "value": 50115
        },
        {
          "p": 75,
          "value": 54009
        },
        {
          "p": 80,
          "value": 59083
        },
        {
          "p": 90,
          "value": 76903
        }
      ]
    },
    "region_North East": {
      "label": "Full-time pay: North East",
      "source": "ashe_region",
      "currency": "GBP",
      "unit": "job",
      "period": "2025 provisional",
      "method": "log",
      "points": [
        {
          "p": 10,
          "value": 23284
        },
        {
          "p": 20,
          "value": 25891
        },
        {
          "p": 25,
          "value": 27082
        },
        {
          "p": 30,
          "value": 28496
        },
        {
          "p": 40,
          "value": 31041
        },
        {
          "p": 50,
          "value": 34403
        },
        {
          "p": 60,
          "value": 38329
        },
        {
          "p": 70,
          "value": 43517
        },
        {
          "p": 75,
          "value": 46220
        },
        {
          "p": 80,
          "value": 49905
        },
        {
          "p": 90,
          "value": 61420
        }
      ]
    },
    "region_North West": {
      "label": "Full-time pay: North West",
      "source": "ashe_region",
      "currency": "GBP",
      "unit": "job",
      "period": "2025 provisional",
      "method": "log",
      "points": [
        {
          "p": 10,
          "value": 23400
        },
        {
          "p": 20,
          "value": 26451
        },
        {
          "p": 25,
          "value": 27992
        },
        {
          "p": 30,
          "value": 29766
        },
        {
          "p": 40,
          "value": 33256
        },
        {
          "p": 50,
          "value": 37361
        },
        {
          "p": 60,
          "value": 42200
        },
        {
          "p": 70,
          "value": 47753
        },
        {
          "p": 75,
          "value": 51167
        },
        {
          "p": 80,
          "value": 55224
        },
        {
          "p": 90,
          "value": 70142
        }
      ]
    },
    "region_Yorkshire and the Humber": {
      "label": "Full-time pay: Yorkshire and the Humber",
      "source": "ashe_region",
      "currency": "GBP",
      "unit": "job",
      "period": "2025 provisional",
      "method": "log",
      "points": [
        {
          "p": 10,
          "value": 23397
        },
        {
          "p": 20,
          "value": 26259
        },
        {
          "p": 25,
          "value": 27690
        },
        {
          "p": 30,
          "value": 29146
        },
        {
          "p": 40,
          "value": 32252
        },
        {
          "p": 50,
          "value": 35682
        },
        {
          "p": 60,
          "value": 39644
        },
        {
          "p": 70,
          "value": 45282
        },
        {
          "p": 75,
          "value": 48430
        },
        {
          "p": 80,
          "value": 52336
        },
        {
          "p": 90,
          "value": 65286
        }
      ]
    },
    "region_East Midlands": {
      "label": "Full-time pay: East Midlands",
      "source": "ashe_region",
      "currency": "GBP",
      "unit": "job",
      "period": "2025 provisional",
      "method": "log",
      "points": [
        {
          "p": 10,
          "value": 23135
        },
        {
          "p": 20,
          "value": 26083
        },
        {
          "p": 25,
          "value": 27413
        },
        {
          "p": 30,
          "value": 28946
        },
        {
          "p": 40,
          "value": 32002
        },
        {
          "p": 50,
          "value": 35600
        },
        {
          "p": 60,
          "value": 39687
        },
        {
          "p": 70,
          "value": 45006
        },
        {
          "p": 75,
          "value": 48196
        },
        {
          "p": 80,
          "value": 51736
        },
        {
          "p": 90,
          "value": 63883
        }
      ]
    },
    "region_West Midlands": {
      "label": "Full-time pay: West Midlands",
      "source": "ashe_region",
      "currency": "GBP",
      "unit": "job",
      "period": "2025 provisional",
      "method": "log",
      "points": [
        {
          "p": 10,
          "value": 23279
        },
        {
          "p": 20,
          "value": 26470
        },
        {
          "p": 25,
          "value": 27951
        },
        {
          "p": 30,
          "value": 29665
        },
        {
          "p": 40,
          "value": 33160
        },
        {
          "p": 50,
          "value": 37064
        },
        {
          "p": 60,
          "value": 41824
        },
        {
          "p": 70,
          "value": 47523
        },
        {
          "p": 75,
          "value": 50611
        },
        {
          "p": 80,
          "value": 55000
        },
        {
          "p": 90,
          "value": 68285
        }
      ]
    },
    "region_East of England": {
      "label": "Full-time pay: East of England",
      "source": "ashe_region",
      "currency": "GBP",
      "unit": "job",
      "period": "2025 provisional",
      "method": "log",
      "points": [
        {
          "p": 10,
          "value": 23694
        },
        {
          "p": 20,
          "value": 27388
        },
        {
          "p": 25,
          "value": 29110
        },
        {
          "p": 30,
          "value": 30680
        },
        {
          "p": 40,
          "value": 34351
        },
        {
          "p": 50,
          "value": 38597
        },
        {
          "p": 60,
          "value": 43619
        },
        {
          "p": 70,
          "value": 49530
        },
        {
          "p": 75,
          "value": 52984
        },
        {
          "p": 80,
          "value": 57766
        },
        {
          "p": 90,
          "value": 74962
        }
      ]
    },
    "region_London": {
      "label": "Full-time pay: London",
      "source": "ashe_region",
      "currency": "GBP",
      "unit": "job",
      "period": "2025 provisional",
      "method": "log",
      "points": [
        {
          "p": 10,
          "value": 27418
        },
        {
          "p": 20,
          "value": 32800
        },
        {
          "p": 25,
          "value": 35424
        },
        {
          "p": 30,
          "value": 37909
        },
        {
          "p": 40,
          "value": 43269
        },
        {
          "p": 50,
          "value": 49692
        },
        {
          "p": 60,
          "value": 56698
        },
        {
          "p": 70,
          "value": 66886
        },
        {
          "p": 75,
          "value": 73667
        },
        {
          "p": 80,
          "value": 83087
        },
        {
          "p": 90,
          "value": 115775
        }
      ]
    },
    "region_South East": {
      "label": "Full-time pay: South East",
      "source": "ashe_region",
      "currency": "GBP",
      "unit": "job",
      "period": "2025 provisional",
      "method": "log",
      "points": [
        {
          "p": 10,
          "value": 24138
        },
        {
          "p": 20,
          "value": 27886
        },
        {
          "p": 25,
          "value": 29704
        },
        {
          "p": 30,
          "value": 31565
        },
        {
          "p": 40,
          "value": 35404
        },
        {
          "p": 50,
          "value": 39983
        },
        {
          "p": 60,
          "value": 44961
        },
        {
          "p": 70,
          "value": 51164
        },
        {
          "p": 75,
          "value": 55000
        },
        {
          "p": 80,
          "value": 60000
        },
        {
          "p": 90,
          "value": 77370
        }
      ]
    },
    "region_South West": {
      "label": "Full-time pay: South West",
      "source": "ashe_region",
      "currency": "GBP",
      "unit": "job",
      "period": "2025 provisional",
      "method": "log",
      "points": [
        {
          "p": 10,
          "value": 23936
        },
        {
          "p": 20,
          "value": 27000
        },
        {
          "p": 25,
          "value": 28631
        },
        {
          "p": 30,
          "value": 30019
        },
        {
          "p": 40,
          "value": 33492
        },
        {
          "p": 50,
          "value": 37195
        },
        {
          "p": 60,
          "value": 41552
        },
        {
          "p": 70,
          "value": 47009
        },
        {
          "p": 75,
          "value": 50000
        },
        {
          "p": 80,
          "value": 54540
        },
        {
          "p": 90,
          "value": 68482
        }
      ]
    },
    "region_Wales": {
      "label": "Full-time pay: Wales",
      "source": "ashe_region",
      "currency": "GBP",
      "unit": "job",
      "period": "2025 provisional",
      "method": "log",
      "points": [
        {
          "p": 10,
          "value": 23621
        },
        {
          "p": 20,
          "value": 26316
        },
        {
          "p": 25,
          "value": 27865
        },
        {
          "p": 30,
          "value": 29439
        },
        {
          "p": 40,
          "value": 32446
        },
        {
          "p": 50,
          "value": 35796
        },
        {
          "p": 60,
          "value": 39819
        },
        {
          "p": 70,
          "value": 44988
        },
        {
          "p": 75,
          "value": 47569
        },
        {
          "p": 80,
          "value": 50672
        },
        {
          "p": 90,
          "value": 60628
        }
      ]
    },
    "region_Scotland": {
      "label": "Full-time pay: Scotland",
      "source": "ashe_region",
      "currency": "GBP",
      "unit": "job",
      "period": "2025 provisional",
      "method": "log",
      "points": [
        {
          "p": 10,
          "value": 24591
        },
        {
          "p": 20,
          "value": 28138
        },
        {
          "p": 25,
          "value": 29635
        },
        {
          "p": 30,
          "value": 31305
        },
        {
          "p": 40,
          "value": 35218
        },
        {
          "p": 50,
          "value": 39719
        },
        {
          "p": 60,
          "value": 44548
        },
        {
          "p": 70,
          "value": 49898
        },
        {
          "p": 75,
          "value": 52500
        },
        {
          "p": 80,
          "value": 56752
        },
        {
          "p": 90,
          "value": 71307
        }
      ]
    },
    "region_Northern Ireland": {
      "label": "Full-time pay: Northern Ireland",
      "source": "ashe_region",
      "currency": "GBP",
      "unit": "job",
      "period": "2025 provisional",
      "method": "log",
      "points": [
        {
          "p": 10,
          "value": 23198
        },
        {
          "p": 20,
          "value": 26723
        },
        {
          "p": 25,
          "value": 28235
        },
        {
          "p": 30,
          "value": 29780
        },
        {
          "p": 40,
          "value": 33044
        },
        {
          "p": 50,
          "value": 37052
        },
        {
          "p": 60,
          "value": 41246
        },
        {
          "p": 70,
          "value": 47199
        },
        {
          "p": 75,
          "value": 50197
        },
        {
          "p": 80,
          "value": 54521
        },
        {
          "p": 90,
          "value": 67518
        }
      ]
    }
  },
  "age_keys": [
    "18-21",
    "22-29",
    "30-39",
    "40-49",
    "50-59",
    "60+"
  ],
  "region_keys": [
    "North East",
    "North West",
    "Yorkshire and the Humber",
    "East Midlands",
    "West Midlands",
    "East of England",
    "London",
    "South East",
    "South West",
    "Wales",
    "Scotland",
    "Northern Ireland"
  ],
  "latest_salary_headline": {
    "value": 39039,
    "period": "2025 provisional",
    "source": "https://www.ons.gov.uk/employmentandlabourmarket/peopleinwork/earningsandworkinghours/bulletins/annualsurveyofhoursandearnings/2025",
    "notes": "Same 2025 provisional annual gross pay series as the age, regional and UK salary comparisons."
  },
  "salary_verification": {
    "checked": "2026-10-17",
    "observations": 209,
    "register": "salary-source-cells.json",
    "notes": "Transcribed directly from the two ONS Full-Time worksheets. UK national rows agree across both workbooks. No suppressed cells used."
  }
}
