Download HMRC Income Tax liabilities by income range
Source:R/hmrc_income_tax_stats.R
hmrc_income_tax_stats.RdDownloads and tidies HMRC Table 2.5, which reports the number of Income Tax payers and their liabilities grouped by total income range, for each available tax year. Numbers of taxpayers are in thousands; amounts are in millions of pounds unless otherwise noted. Published annually in May/June.
Value
An hmrc_tbl with columns tax_year, income_range,
income_lower_gbp, taxpayers_thousands, total_income_gbp_m,
tax_liability_gbp_m, average_rate_pct (in per cent),
average_tax_gbp, and estimate ("outturn" or "projection").
Details
The earliest tax year is outturn from the Survey of Personal Incomes;
later years are HMRC projections from that survey. The estimate
column marks which is which. Values suppressed for small sample sizes
are returned as NA.
Examples
# \donttest{
op <- options(hmrc.cache_dir = file.path(tempdir(), "hmrc"))
try({
it <- hmrc_income_tax_stats()
it[it$income_range == "All Ranges", ]
})
#> ℹ Resolving download URL from GOV.UK Content API
#> ✔ Resolving download URL from GOV.UK Content API [120ms]
#>
#> ℹ Downloading data file
#> ✔ Downloading data file [543ms]
#>
#> ℹ Parsing data
#> ✔ Parsing data [53ms]
#>
#> # Income Tax liabilities by income range (Table 2.5)
#> # Source: https://www.gov.uk/government/statistics/income-tax-liabilities-by-income-range
#> # Fetched 2026-09-13 19:24:19 UTC | Vintage: latest | Cells: liabilities | Freq: annual | 4 rows x 9 cols
#>
#> tax_year income_range income_lower_gbp taxpayers_thousands
#> 12 2023-24 All Ranges NA 36700
#> 24 2024-25 All Ranges NA 38600
#> 36 2025-26 All Ranges NA 39800
#> 48 2026-27 All Ranges NA 40800
#> total_income_gbp_m tax_liability_gbp_m average_rate_pct average_tax_gbp
#> 12 1530000 274000 17.9 7470
#> 24 1660000 304000 18.3 7870
#> 36 1760000 329000 18.7 8260
#> 48 1830000 347000 19.0 8510
#> estimate
#> 12 outturn
#> 24 projection
#> 36 projection
#> 48 projection
options(op)
# }