Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.d/397.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Keep one number per OBR EFO line and year (chronicle#397): the March 2026 receipts, expenditure, economy and aggregates packages drop the 427 facts whose line and year the October 2026 packages also publish, under any line id, and keep the 74 October lacks: each line's 2024-25 outturn (calendar 2024 for the economy), and the 2025-26 forecasts of the lines October starts in 2026-27 (the seven duties sheet 3.10 breaks betting and gaming duties into, and the aggregates' current receipts, total managed expenditure and net borrowing). Sheet 3.10's 2025-26 total goes too, as October prints it as table 4.1's 'Betting and gaming taxes'. Every March line keeps its line id and concept, the October packages' facts are unchanged, and the bundle's 363 semantic duplicate keys between the vintages are gone.
1 change: 1 addition & 0 deletions changelog.d/hmrc-benefits-in-kind-july-2026.added.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Add HMRC's Benefits in kind statistics for July 2026 for PolicyEngine/uk-autumn-budget-dashboard-2026#316: company car and car fuel benefit recipients, taxable value, average taxable value, and Income Tax and Class 1A NIC liabilities from 2011-12 to 2024-25 (Table 1); company car benefit recipients by CO2 emission band and by fuel type, and the average CO2 emissions of company cars, over the same years (Tables 2A, 2C and 2E); and 2024-25 recipients, taxable value and average taxable value by range of total income and by region (Tables 3A, 3B and 4). HMRC's '<0.5', '<2.5' and '[note 3]' cells emit no fact, never a zero, and 2024-25 is provisional.
2 changes: 1 addition & 1 deletion changelog.d/obr-efo-october-2026.added.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Add the OBR's October 2026 Economic and fiscal outlook (chronicle#393) beside the March 2026 vintage: the whole receipts workbook except tables 4.9 and 4.19 (Table 4.5's savings income and the gambling duties included), the March expenditure, economy and aggregates lines with the deposit rate and household financial assets, and the policy workbook's costing of each Budget measure. The March lines keep their line ids and concepts under obr.efo_2026_10, so a consumer changes vintage by package.
Add the OBR's October 2026 Economic and fiscal outlook (chronicle#393) beside the March 2026 vintage, which since chronicle#397 keeps only the years October does not print: the whole receipts workbook except tables 4.9 and 4.19 (Table 4.5's savings income and the gambling duties included), the March expenditure, economy and aggregates lines with the deposit rate and household financial assets, and the policy workbook's costing of each Budget measure. The March lines keep their line ids and concepts under obr.efo_2026_10, so a consumer changes vintage by package.
1 change: 1 addition & 0 deletions chronicle/bundle.py
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,7 @@
"gambling-commission-gsgb-annual-report-2025",
"gambling-commission-industry-statistics-fy2025-26",
"hmrc-alcohol-bulletin-july-2026",
"hmrc-benefits-in-kind-july-2026",
"hmrc-betting-gaming-statistics-july-2026",
"hmrc-cash-isa-limit-reduction-2026",
"hmrc-cgt-age-2026",
Expand Down
2 changes: 2 additions & 0 deletions chronicle/source_package.py
Original file line number Diff line number Diff line change
Expand Up @@ -603,6 +603,8 @@
"hmrc-isa-statistics-2026": Path("hmrc/isa_statistics_2026"),
"hmrc-lisa-statistics-2026": Path("hmrc/lisa_statistics_2026"),
# end PolicyEngine/microcosm#1415
# PolicyEngine/uk-autumn-budget-dashboard-2026#316
"hmrc-benefits-in-kind-july-2026": Path("hmrc/benefits_in_kind_july_2026"),
"hmrc-spi-income-by-area-2023-24": Path("hmrc/spi_income_by_area_2023_24"),
"hmrc-salary-sacrifice-relief-2024-25": Path(
"hmrc/salary_sacrifice_relief_2024_25"
Expand Down
Binary file not shown.
28 changes: 28 additions & 0 deletions db/data/hmrc/benefits_in_kind_july_2026/manifest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
source_id: hmrc
package_id: hmrc-benefits-in-kind-july-2026
dataset: hmrc_hmrc-benefits-in-kind-july-2026
source_page: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026
table: 'Benefits in kind statistics: July 2026, Tables 1 to 4: company car benefit
and company car fuel benefit'
license: Open Government Licence v3.0
license_url: https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/
attribution: 'Source: HM Revenue and Customs, Benefits in kind statistics: July 2026.
Contains public sector information licensed under the Open Government Licence v3.0.'
license_evidence: 'The GOV.UK publication page (https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026)
states that all content is available under the Open Government Licence v3.0, except
where otherwise stated. The workbook states no other terms: its Contents and Notes
sheets carry no licence or copyright line.'
license_verified_at: '2026-10-30'
files:
2026:
filename: 2026_Tables_1_to_4.ods
source_url: https://assets.publishing.service.gov.uk/media/6a50881e9e9c95844ae64c70/2026_Tables_1_to_4.ods
sha256: a0ee56173ad12b784c3b986652f904c1229e165f5b27454b44ac9144cd98c678
size_bytes: 42963
fetched_at: '2026-10-30T13:36:48+00:00'
storage:
r2:
provider: r2
bucket: ledger-raw
key: raw/uk/hmrc/hmrc-benefits-in-kind-july-2026/2026/a0ee56173ad12b784c3b986652f904c1229e165f5b27454b44ac9144cd98c678/2026_Tables_1_to_4.ods
uri: r2://ledger-raw/raw/uk/hmrc/hmrc-benefits-in-kind-july-2026/2026/a0ee56173ad12b784c3b986652f904c1229e165f5b27454b44ac9144cd98c678/2026_Tables_1_to_4.ods
5 changes: 5 additions & 0 deletions docs/data-sources/uk-excise-facts.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,11 @@ Each fact's `source_record_id` is `{record_set_id}.{row value}.{measure_id}`.
The archived `efo_receipts.xlsx` (sha256 `f65b6cb7…`); no new download. Record sets are
`obr.efo_2026_03.receipts.<line>.fy<opening year>`, one concept per line (`obr.<line>`),
in the package's existing shape. Unlike the earlier lines, these carry `period_coverage`.
Since [chronicle#397](https://github.com/PolicyEngine/chronicle/issues/397) the package
keeps only the years the October 2026 EFO does not print: 2024-25 for these lines, and
2025-26 for sheet 3.10's seven duties. `obr-efo-receipts-october-2026` carries the later
years under the same line ids, and sheet 3.10's 2025-26 total as table 4.1's 'Betting
and gaming taxes'.

- **Sheet 3.8** (cash basis, as its title and note state), rows 27 to 30, 36 and 48:
tobacco, spirits, wine, and beer and cider duties, betting and gaming duties and vaping
Expand Down
5 changes: 4 additions & 1 deletion docs/data-sources/uk-feed-326-339-356-357-358.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,10 @@ sector", by property type and rate. policyengine-uk#2322 (a pull request) projec
corporate statistic by holding HMRC's 2024-25 other-buyer share within each property type
and applying it to 3.7's residential and non-residential lines. So Chronicle now carries
sheet 3.7's SDLT lines in `obr-efo-receipts-march-2026`, 2024-25 to 2030-31: residential,
its main rates, HRAD and non-UK resident surcharge, and non-residential. Total SDLT (3.7 row
its main rates, HRAD and non-UK resident surcharge, and non-residential. Since
chronicle#397 the March package keeps their 2024-25 outturn, and the October 2026 EFO
package (`obr-efo-receipts-october-2026`, table 4.7) carries 2025-26 on under the same
line ids. Total SDLT (3.7 row
6) is not repeated: it is sheet 3.8's `obr.sdlt`, which equals residential plus
non-residential. Carrying the share forward is Microcosm's declared rule.

Expand Down
39 changes: 30 additions & 9 deletions docs/data-sources/uk-obr-efo-october-2026.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@

[PolicyEngine/chronicle#393](https://github.com/PolicyEngine/chronicle/issues/393) asks for
the October 2026 EFO, which the OBR published with the Budget on 28 October 2026, as a new
vintage beside the March 2026 one. policyengine-uk is moving its economic assumptions to it
vintage beside the March 2026 one. Since
[chronicle#397](https://github.com/PolicyEngine/chronicle/issues/397), the years both
vintages publish are October's only (see below). policyengine-uk is moving its economic assumptions to it
(PolicyEngine/policyengine-uk#2717); Microcosm's OBR targets read the March vintage today and
re-pin when the engine moves (PolicyEngine/microcosm#1095). Every value is a published OBR
figure; no microdata is involved.
Expand All @@ -29,12 +31,27 @@ The manifests carry each file's canonical R2 key; `chronicle publish-raw` upload

## Conventions

- **The vintage.** Record-set ids start `obr.efo_2026_10.`. The March 2026 packages stay in
the bundle under `obr.efo_2026_03.`, so a consumer picks a vintage by package.
- **The vintage.** Record-set ids start `obr.efo_2026_10.`. Where both vintages publish a
number for the same line and year, Chronicle keeps October's
([chronicle#397](https://github.com/PolicyEngine/chronicle/issues/397)). The March 2026
packages, under `obr.efo_2026_03.`, keep only the 74 line-years October lacks:
- every line's 2024-25 outturn (calendar 2024 for the economy lines);
- the 2025-26 forecasts of the lines October starts in 2026-27: the seven duties sheet
3.10 breaks betting and gaming duties into (October's table 4.10), and the
aggregates' public sector current receipts, total managed expenditure and net
borrowing.

A line and year counts as October's under any line id. Sheet 3.10's own 2025-26 total
goes too: October prints it as table 4.1's 'Betting and gaming taxes', with the same
concept (`obr.betting_and_gaming_duties`) and accrued basis.
- **March lines.** Every line of the four March packages keeps its line id, display label
and concept. Its October table is found by title, since the chapters moved by one:
receipts tables 3.x are now 4.x and expenditure tables 4.x are now 5.x. Its row is found
by label. Each record set carries its October table and row.
by label. Each record set carries its October table and row. Two lines left the March
packages: sheet 3.10's betting and gaming total, and the high-value council tax
surcharge, which has no 2024-25 value. The build keeps their March record sets
(`LINES_LEFT_IN_OCTOBER_ONLY`), so their October lines keep the March line id and
concept.
- **Outturn and forecast.** Each year column's assertion follows the band above it.
'Outturn' (and 'Estimate', 'Estimated Outurn') gives `observation`, and 'Forecast' gives
`source_projection`; a table with no band is all forecast. 2025-26 is outturn in October
Expand Down Expand Up @@ -146,8 +163,12 @@ twelfths of 2024-25 and nine of 2025-26) can't be built from the October package
2024-25 part has to come from the March package's 2024-25 outturn
(`obr.efo_2026_03.<kind>.<line id>.fy2024`, an `observation` there) or from ONS.

Both vintages forecast the March lines for 2026-27 to 2030-31 (receipts and expenditure)
and 2026 to 2029 (economy and aggregates), so the bundle reports their 363 shared semantic
keys as duplicates; a target binds one vintage. Aligning fiscal years with the calendar-2025
window, and choosing between the two Northern Ireland domestic rates placements, are the
consumer's decisions.
**One number per line and year** (chronicle#397). The March packages no longer carry the
years October publishes, so the bundle has no shared semantic keys between the vintages
(363 before) and a consumer never has two numbers to choose between: 2025-26 comes from
October, as outturn, except for the lines October starts in 2026-27, whose 2025-26
forecast stays in March. A feed re-pinned past chronicle#397 loses March's 2025-26 to
2030-31 rows, so re-pin to it with or after the engine lock that moves to this vintage
(PolicyEngine/policyengine-uk#2717, PolicyEngine/microcosm#1095). Aligning fiscal years
with the calendar-2025 window, and choosing between the two Northern Ireland domestic rates
placements, are the consumer's decisions.
Loading
Loading