All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Extended calibration to an 8-sector multi-industry model: Energy, Manufacturing, Construction, Trade & Transport, Information & Finance, Real Estate, Business Services, and Public & Other.
- Added
oguk/industry_params.pywithget_industry_params()returning sector-specific capital shares, TFP, and production parameters calibrated from ONS data. - Computed sector-level TFP as Solow residuals using ONS capital stocks by industry (CAPSTK) and workforce jobs by SIC (JOBS02), normalised so GVA-weighted mean equals 1.0.
- Added
run_tpi_and_export.pyto extract and export per-industry TPI results (Y_m,K_m,L_m,p_m) totpi_results.xlsx. - Added
tpi_charts_plotly.pywith sector-level transition path charts anchored to ONS historical outturn (GVA, capital stocks, workforce jobs from 2000) and projected forward using OBR nominal GDP growth.
- Calibrated fiscal parameters to OBR November 2025 Economic and Fiscal Outlook: steady-state debt ratio 95% of GDP, fiscal adjustment beginning in period 4 (matching 2029-30 fiscal rules).
- Recalibrated tax parameters so model revenue/GDP matches OBR forecasts (~40% of GDP). Added wealth tax parameters (council tax, stamp duty, CGT proxy), raised effective indirect tax rate, and aligned capital depreciation allowances with economic depreciation.
- Set non-pension welfare transfers (alpha_T) to 6% of GDP, separate from state pension which is modelled via OG-Core's pension system.
- Replaced five legacy CI workflows (conda, Python 3.9, black, 3-OS matrix) with a single uv-based workflow on Python 3.13 using ruff for linting and formatting.
- Modernised
oguk/sources.pydata-fetching to return calibrated tax rates consistent with OBR revenue shares.
- Updated all OpenFisca references to PolicyEngine. This represents a big change in the underlying microsimulation dependency structure
- Updated
get_micro_data.pyandtest_get_micro_data.pywithPolicyEnginereferences instead ofOpenFisca. - Updated
demographics.pyto use the UN data portal. Also updated corresponding structures incalibrate.py - Added four
.csvfiles tooguk/data/demographic/. This files allow fordemographics.pyto have the option to not download the data from the UN data portal. - Updated
environment.ymlandsetup.py. - Updated
run_oguk.pywith more consistent specification, and updated references fromopenfiscatopolicyengine. - Small updates to
.gitignore,README.md,demographics.rst,get_micro_data.rst, andtax_functions.md. - Deleted
pyproject.tomlwhich was just a reference to the black package. - Updates the
CHANGELOG.mdand updates the version number insetup.py. - Updates the GitHub Actions
deploy_docs.yml,docs_check.yml, andbuild_and_test.yml.
- UK corporate tax rate schedule added.
- Initial guesses at the steady state interest rate,
initial_guess_r_SS, and transfer amount,initial_guess_TR_SSwere changed so that the example script,./examples/run_oguk.pysolves with the latest OG-Core.
- Firm parameters updated to be vectors and 2D arrays to be compatible with multiple industry model of
ogcore 0.9.0. OG-UK now requiredogcore >= 0.9.0. environment.ymlfile set to installogcorefrom PyPI
- Budget window for microsimulation changed to 2022-27 (from 2019-22).
- Better handling and logging to the user of the status of microdata.
- OpenFisca-UK dataset handling.
- Consolidate GitHub Actions.