Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

VAT grossing to receipts

vat and baseline_vat compute the statutory liability on each household’s recorded consumption (the standard rate on full_rate_vat_consumption plus the reduced rate on reduced_rate_vat_consumption) and divide it by two factors, so that total VAT matches receipts:

The incidence assumption is that every pound of receipts, including VAT that government, charities and exempt businesses pay on their inputs, is passed on to households in proportion to their own VAT-liable spending.

These two factors replace gov.simulation.microdata_vat_coverage, a single undated 0.38 added in January 2023 against an older LCFS-based consumption imputation, with no derivation recorded. Its product with today’s datasets put 2024-25 VAT 24% above OBR receipts on Microcosm UK 2024-25 and 71% above on Enhanced FRS 2024-25 (policyengine-uk-data 1.56.16).

gov.simulation.microdata_vat_coverage is kept as a deprecated parameter so that existing reforms to it still work. Its value is now the product of the two factors (0.469). If a reform sets it to any other value, vat and baseline_vat use that value in place of the two factors (policyengine_uk/utils/vat.py); otherwise they use the two factors. New reforms should change the two factors instead.

Which datasets the factor applies to

The survey coverage of 0.67 is calibrated to one dataset: the certified Microcosm UK 2024-25 national release. It does not carry over to other datasets, because their consumption imputations capture a different share of household VAT. On Enhanced FRS 2024-25 it puts VAT 35% to 44% above receipts, depending on the release and year (see the tables below). Re-derive the coverage, with the calculation below, whenever the dataset it should match changes.

Derivation (October 2026)

Inputs

InputValueSource
Microcosm UK 2024-25 national releasemicrocosm_uk_2024_25.h5, Hugging Face policyengine/populace-uk-private, tag microcosm-uk-2024-25-national-20261002T230158Z-5c6b3f68 (revision f9d1922c), SHA-256 aa31bdf67c977927ea2b325567d1cf7a79d94381239bc79918a0a0fc9c9588afPrivate repository
Enhanced FRS 2024-25enhanced_frs_2024_25.h5, Hugging Face policyengine/policyengine-uk-data-private, policyengine-uk-data 1.56.16 (revision a9e52499, SHA-256 e433e532b17bd8ce76030156285816e33d44e93edabd2204adbef71d19a68712) and 1.58.0 (revision 47bbb58d, SHA-256 5ba399ea5ab9a6c7d4e9aaf6c623080beb34d9ad5f330f6244dbad72b8d960b6)Private repository
VAT receipts£170.994bn (2024-25 outturn), £180.169bn (2025-26), £187.704bn (2026-27)OBR, Economic and fiscal outlook March 2026, detailed forecast tables, receipts, table 3.8, cash-basis VAT
Household share of VAT liabilities0.7HMRC VAT gap estimates (around 70% of the VAT total theoretical liability); household_share_of_receipts
Ready reckoner£8.8bn for one point on the standard rate, 2026-27HMRC, Direct effects of illustrative tax changes (June 2025)
Statutory rates20% standard, 5% reducedgov.hmrc.vat

Model year 2024 is the 2024-25 fiscal year. All dataset totals are weighted sums from Microsimulation, computed with policyengine-uk at this branch and policyengine-core 3.33.2.

Formula

pre-scaling VAT = 0.20 x sum(full_rate_vat_consumption)
                + 0.05 x sum(reduced_rate_vat_consumption)
product         = pre-scaling VAT / OBR VAT receipts      (same year)
survey coverage = product / household share (0.7)

vat divides each household’s statutory VAT by the product, so total vat equals receipts when the product matches the dataset.

Results

DatasetYearStandard-rated baseReduced-rated basePre-scaling VATReceiptsProductSurvey coverage
Microcosm UK 2024-25 (f9d1922c)2024-25£396.15bn£25.02bn£80.48bn£171.0bn0.4710.672
Microcosm UK 2024-25 (f9d1922c)2025-26£412.57bn£26.06bn£83.82bn£180.2bn0.4650.665
Microcosm UK 2024-25 (f9d1922c)2026-27£423.66bn£26.76bn£86.07bn£187.7bn0.4590.655
Enhanced FRS 2024-25, uk-data 1.56.162024-25£546.96bn£32.21bn£111.00bn£171.0bn0.6490.927
Enhanced FRS 2024-25, uk-data 1.56.162025-26£569.63bn£33.55bn£115.60bn£180.2bn0.6420.917
Enhanced FRS 2024-25, uk-data 1.56.162026-27£584.95bn£34.45bn£118.71bn£187.7bn0.6320.904
Enhanced FRS 2024-25, uk-data 1.58.02024-25£570.29bn£33.17bn£115.72bn£171.0bn0.6770.967
Enhanced FRS 2024-25, uk-data 1.58.02025-26£593.92bn£34.54bn£120.51bn£180.2bn0.6690.956
Enhanced FRS 2024-25, uk-data 1.58.02026-27£609.89bn£35.47bn£123.75bn£187.7bn0.6590.942

The parameter takes the Microcosm 2024-25 value, 0.67 (product 0.469), the latest outturn year.

With that product, total vat against receipts is:

Dataset2024-252025-262026-27
Microcosm UK 2024-25 (f9d1922c)£171.6bn (+0.4%)£178.7bn (-0.8%)£183.5bn (-2.2%)
Enhanced FRS 2024-25, uk-data 1.56.16£236.7bn (+38.4%)£246.5bn (+36.8%)£253.1bn (+34.8%)
Enhanced FRS 2024-25, uk-data 1.58.0£246.7bn (+44.3%)£257.0bn (+42.6%)£263.9bn (+40.6%)

Bound

Total VAT depends only on the product, so the household share being a rounded “around 70%” changes how the product is split between the two factors, not the totals. On Microcosm the product is bounded by:

So on Microcosm the product lies between 0.459 and 0.481, and the coverage between 0.655 and 0.688 at a household share of 0.7. The value used, 0.469 (0.67), sits inside that range, and the totals it gives are within 2.2% of receipts from 2024-25 to 2026-27. The implied product moves by less than 3% over those years, so the factors are not dated by year.

Reproducing

The two datasets are in private Hugging Face repositories. Anyone with PolicyEngine access can rerun the calculation; anyone else can check the arithmetic from the published aggregates in the results table.

from huggingface_hub import hf_hub_download
from policyengine_uk import Microsimulation

path = hf_hub_download(
    "policyengine/populace-uk-private",
    "microcosm_uk_2024_25.h5",
    repo_type="dataset",
    revision="f9d1922cddab6b54a0dd37794a9bac74e3780c88",
)
sim = Microsimulation(dataset=path)
# OBR March 2026 EFO, table 3.8, cash-basis VAT receipts
receipts = {2024: 170.994e9, 2025: 180.169e9, 2026: 187.704e9}
for year, obr in receipts.items():
    p = sim.tax_benefit_system.parameters(f"{year}-01-01").gov.hmrc.vat
    full = sim.calculate("full_rate_vat_consumption", year).sum()
    reduced = sim.calculate("reduced_rate_vat_consumption", year).sum()
    raw = full * p.standard_rate + reduced * p.reduced_rate
    print(year, raw / 1e9, raw / obr, raw / obr / 0.7)

For Enhanced FRS, download enhanced_frs_2024_25.h5 from the model repository policyengine/policyengine-uk-data-private at the release tag (for example revision="1.58.0").

Interaction with an explicit energy VAT base

A domestic fuel and power VAT base built from electricity_consumption and gas_consumption (PolicyEngine/policyengine-uk#2166) changes what the survey coverage applies to. If those energy inputs are already calibrated to an aggregate, they should not be divided by the survey coverage again, and the reconciled energy part of reduced_rate_vat_consumption should come out of the base used to derive it.