From a786085b37e485cae92e07ca7cf5ce15f979c2ae Mon Sep 17 00:00:00 2001 From: Vahid Ahmadi Date: Mon, 23 Mar 2026 12:02:12 +0000 Subject: [PATCH 01/22] Add JOSS paper and bibliography for submission Adds paper.md and paper.bib for submission to the Journal of Open Source Software (JOSS). Paper covers all 6 required JOSS sections and cites adoption by 10 Downing Street, HM Treasury, NIESR, INET Oxford, IEA, and House of Lords parliamentary debate. Co-Authored-By: Claude Opus 4.6 --- changelog.d/joss-paper.added.md | 1 + paper.bib | 121 ++++++++++++++++++++++++++++++++ paper.md | 89 +++++++++++++++++++++++ 3 files changed, 211 insertions(+) create mode 100644 changelog.d/joss-paper.added.md create mode 100644 paper.bib create mode 100644 paper.md diff --git a/changelog.d/joss-paper.added.md b/changelog.d/joss-paper.added.md new file mode 100644 index 00000000..95a2b9b2 --- /dev/null +++ b/changelog.d/joss-paper.added.md @@ -0,0 +1 @@ +Added JOSS paper (paper.md and paper.bib) for submission to the Journal of Open Source Software. diff --git a/paper.bib b/paper.bib new file mode 100644 index 00000000..fd84f83a --- /dev/null +++ b/paper.bib @@ -0,0 +1,121 @@ +@article{sutherland2014euromod, + title={{EUROMOD}: the {European Union} tax-benefit microsimulation model}, + author={Sutherland, Holly and Figari, Francesco}, + journal={International Journal of Microsimulation}, + volume={6}, + number={1}, + pages={4--26}, + year={2013}, + doi={10.34196/ijm.00075} +} + +@software{openfisca, + title={{OpenFisca}: Open Rules as Code for Tax-Benefit Systems}, + author={{OpenFisca Contributors}}, + url={https://openfisca.org}, + year={2024} +} + +@software{policyengine_core, + title={{PolicyEngine Core}: A Microsimulation Framework}, + author={Woodruff, Nikhil and Ghenis, Max and Volk, Anthony}, + url={https://github.com/PolicyEngine/policyengine-core}, + year={2024} +} + +@software{pe_uk_data, + title={{PolicyEngine UK Data}: Enhanced Microdata for UK Tax-Benefit Microsimulation}, + author={Woodruff, Nikhil and Ghenis, Max and Ahmadi, Vahid}, + url={https://github.com/PolicyEngine/policyengine-uk-data}, + year={2025} +} + +@misc{frs2020, + title={Family Resources Survey, 2019-2020}, + author={{Department for Work and Pensions} and {Office for National Statistics} and {NatCen Social Research}}, + year={2021}, + publisher={UK Data Service}, + note={SN: 8802}, + doi={10.5255/UKDA-SN-8802-1} +} + +@misc{hansard2026nic, + title={National Insurance Contributions (Employer Pensions Contributions) Bill -- Grand Committee}, + author={{House of Lords}}, + year={2026}, + month={2}, + day={24}, + note={Hansard, GC 371--372. Baroness Altmann citing PolicyEngine and its interactive dashboard for distributional analysis of pension contribution reforms}, + url={https://hansard.parliament.uk/Lords/2026-02-24/debates/A381F7D6-0A3C-48FD-8D9E-67751E25877A/NationalInsuranceContributions(EmployerPensionsContributions)Bill} +} + +@techreport{niesr2025living, + title={{UK} Living Standards Review 2025}, + author={Mosley, Max and Wattam, Ryan and Vincent, Carol}, + institution={National Institute of Economic and Social Research}, + year={2025}, + url={https://niesr.ac.uk/publications/uk-living-standards-review-2025} +} + +@online{ghenis2026no10, + title={{PolicyEngine} powers rapid policy analysis at {No 10 Downing Street}}, + author={Ghenis, Max}, + year={2026}, + month={1}, + day={20}, + url={https://policyengine.org/uk/research/policyengine-no-10-downing-street}, + urldate={2026-03-19} +} + +@misc{hmt2024atrs, + title={{HMT}: {PolicyEngine UK} -- Algorithmic Transparency Recording Standard}, + author={{HM Treasury}}, + year={2024}, + month={12}, + day={17}, + note={ATRS v3.0. HM Treasury Personal Tax, Welfare and Pensions team exploring PolicyEngine UK for advising policymakers on the impact of tax and welfare measures on households}, + url={https://www.gov.uk/algorithmic-transparency-records/hmt-modelling-policy-engine} +} + +@article{youngman2026carbon, + title={Agent-based macroeconomics for the {UK}'s {Seventh Carbon Budget}}, + author={Youngman, Tom and Lennox, Tim and Lopes Alves, M. and Palola, Pirta and Tankwa, Brendon and Bailey, Emma and Ravigne, Emilien and Ter Horst, Thijs and Wagenvoort, Benjamin and Lightfoot Brown, Harry and Moran, Jose and Farmer, Doyne}, + year={2026}, + eprint={2602.15607}, + archiveprefix={arXiv}, + primaryclass={econ.GN}, + url={https://arxiv.org/abs/2602.15607} +} + +@techreport{woodruff2024nic, + title={Raising employer {NIC} in the {Autumn Budget}}, + author={Woodruff, Nikhil}, + institution={Institute of Economic Affairs}, + year={2024}, + month={10}, + url={https://iea.org.uk/publications/raising-employer-nic-in-the-autumn-budget/} +} + +@techreport{woodruff2025tax, + title={Impact of Tax Changes 2025--2026}, + author={Woodruff, Nikhil}, + institution={Institute of Economic Affairs}, + year={2025}, + month={3}, + url={https://iea.org.uk/publications/impact-of-tax-changes-2025-2026/} +} + +@software{claude2025, + title={Claude}, + author={{Anthropic}}, + year={2025}, + url={https://www.anthropic.com/claude} +} + +@misc{nuffield2024grant, + title={Enhancing, localising and democratising tax-benefit policy analysis}, + author={{Nuffield Foundation}}, + year={2024}, + note={General Election Analysis and Briefing Fund grant to PolicyEngine}, + url={https://www.nuffieldfoundation.org/project/enhancing-localising-and-democratising-tax-benefit-policy-analysis} +} diff --git a/paper.md b/paper.md new file mode 100644 index 00000000..7cfe0677 --- /dev/null +++ b/paper.md @@ -0,0 +1,89 @@ +--- +title: "PolicyEngine UK: An Open-Source Microsimulation Model of the UK Tax-Benefit System" +tags: + - Python + - microsimulation + - tax + - benefit + - public policy + - economic analysis +authors: + - name: Max Ghenis + orcid: 0000-0000-0000-0000 + affiliation: 1 + - name: Nikhil Woodruff + orcid: 0000-0000-0000-0000 + affiliation: 1 + - name: Vahid Ahmadi + orcid: 0009-0004-1093-6272 + affiliation: 1 + corresponding: true +affiliations: + - name: PolicyEngine + index: 1 +date: 19 March 2026 +bibliography: paper.bib +--- + +# Summary + +PolicyEngine UK is an open-source microsimulation model of the United Kingdom's tax-benefit system, implemented in Python. It calculates variable values over UK entities from given policy parameters and structures, supporting two primary uses: computing statistics under current tax and benefit law, and simulating the effects of potential legislative changes. The model covers over 37 programmes administered by UK government agencies including HM Revenue & Customs (HMRC), the Department for Work and Pensions (DWP), the Department for Education (DfE), Revenue Scotland, and Social Security Scotland. PolicyEngine UK supports both individual household simulations via the `Simulation` class and population-wide microsimulations via the `Microsimulation` class, which incorporates survey weights from the Enhanced Family Resources Survey, prepared and published in the companion `policyengine-uk-data` repository [@pe_uk_data], to generate population-level estimates. + +# Statement of Need + +Tax-benefit microsimulation models are essential tools for evaluating the distributional impacts of fiscal policy. Governments, think tanks, and researchers rely on such models to estimate how policy reforms affect household incomes, poverty rates, and government budgets. In the UK, existing microsimulation models such as UKMOD [@sutherland2014euromod] and the IPPR Tax-Benefit Model are either restricted-access or proprietary, limiting transparency and reproducibility in policy analysis. + +PolicyEngine UK addresses this gap by providing a fully open-source, publicly accessible microsimulation model. Researchers can install the package with `pip install policyengine-uk`, supply their own microdata, and compute the impact of current law or hypothetical policy reforms on any household or the full UK population. The `Simulation` class supports individual household analysis, while the `Microsimulation` class enables population-level aggregate analysis using Enhanced FRS datasets from the `policyengine-uk-data` repository [@pe_uk_data] with calibrated weights. The model's open development on GitHub enables external validation, community contributions, and reproducible policy analysis. + +# State of the Field + +The primary UK microsimulation models include UKMOD, maintained by the Centre for Microsimulation and Policy Analysis at the Institute for Social and Economic Research (ISER), University of Essex, as part of the EUROMOD family [@sutherland2014euromod], and models maintained internally by HM Treasury and the Institute for Fiscal Studies. OpenFisca [@openfisca] pioneered the open-source approach to tax-benefit microsimulation in France. PolicyEngine UK originated as OpenFisca UK and builds on this foundation through the PolicyEngine Core framework [@policyengine_core]. The UKMOD team's published model descriptions accelerated the early development of the model. + +PolicyEngine UK differentiates itself in several ways: + +- **Fully open-source and pip-installable**: users can install and run the model without institutional access or licence fees. +- **Comprehensive programme coverage**: 37 modelled programmes spanning income tax, National Insurance, Universal Credit, Child Benefit, Council Tax, and devolved policies in Scotland and Wales. +- **Integration with the PolicyEngine web application**: the model powers an interactive web interface at [policyengine.org](https://policyengine.org) that allows non-technical users to explore policy reforms. +- **Programmatic reform and scenario API**: users can define hypothetical policy reforms as simple parameter dictionaries, compose multiple scenarios with the `+` operator, or implement structural changes via simulation modifiers — and evaluate their impact on any household or the full population. +- **Labour supply dynamics**: a behavioural response module implements the Office for Budget Responsibility's labour supply elasticity framework, modelling both intensive margin (hours adjustment) and extensive margin (participation) responses to policy changes. +- **Enhanced microdata**: the model supports dataset fusion and calibration to align survey microdata with administrative totals across multiple dimensions. + +# Software Design + +PolicyEngine UK is built on the PolicyEngine Core framework, which extends the OpenFisca microsimulation engine. The model is organised into three main components: + +**Parameters** define the rates, thresholds, and other numeric values of the tax-benefit system. These are stored as YAML files organised by government department (e.g., `parameters/gov/hmrc/` for HMRC policies) and indexed by time period, enabling the model to represent legislative changes over time. Parameters are addressed via hierarchical paths such as `gov.hmrc.income_tax.rates.uk[0].rate` for the basic income tax rate or `gov.dwp.universal_credit.standard_allowance.single.OVER_25` for Universal Credit allowances. + +**Variables** define the formulas that compute tax liabilities, benefit entitlements, and other derived quantities. Each variable is implemented as a Python class that specifies its computation logic, the entity it applies to (person, benefit unit, or household), and its time period. The model contains over 700 variable definitions covering the full scope of the UK tax-benefit system. + +**Reforms and Scenarios** allow users to modify parameters or variable formulas to represent hypothetical policy changes. Simple reforms can be expressed as dictionaries mapping parameter paths to new values, while the `Scenario` class supports composable reforms, time-varying parameters for phased implementation across multiple years, and simulation modifiers for complex structural changes such as repealing the two-child benefit limit. Scenarios apply policy changes without modifying the original simulation, enabling straightforward baseline-versus-reform comparison. + +The model supports two input modes. The `Simulation` class accepts programmatically defined household situations — specifying ages, incomes, housing costs, and household composition — for individual-level analysis. The `Microsimulation` class loads population-level survey microdata from the `policyengine-uk-data` repository [@pe_uk_data] with calibrated weights, enabling computation of aggregate statistics including poverty rates, inequality metrics, and budgetary impacts. Revenue impacts are computed via the accounting identity: when household net income decreases under a reform, government revenue increases by the equivalent amount. + +The dynamics module extends the static microsimulation with labour supply behavioural responses. It applies group-specific substitution and income elasticities based on OBR estimates, computing individual-level employment income adjustments and aggregate full-time equivalent (FTE) employment changes. + +All code examples in the documentation are automatically re-executed with each new release to ensure correctness. + +# Research Impact Statement + +PolicyEngine UK has demonstrated research impact across government, academia, and policy research. + +**Government adoption.** In 2025–2026, co-author Nikhil Woodruff served as an Innovation Fellow with 10DS — the data science team at 10 Downing Street — adapting PolicyEngine UK for government use [@ghenis2026no10]. The 10DS team built `10ds-microsim` on top of PolicyEngine UK to rapidly estimate the impacts of policy reforms on living standards, local area incomes, and distributional outcomes. HM Treasury has also formally documented PolicyEngine UK in the UK Algorithmic Transparency Recording Standard, describing it as a model their Personal Tax, Welfare and Pensions team is exploring for "advising policymakers on the impact of tax and welfare measures on households" [@hmt2024atrs]. + +**Parliamentary citation.** In February 2026, Baroness Altmann referenced PolicyEngine and its interactive dashboard during House of Lords Grand Committee debate on the National Insurance Contributions (Employer Pensions Contributions) Bill, noting that Commons Library research using PolicyEngine provided "a useful picture of the distributional effects of raising the contribution limit" across income deciles [@hansard2026nic]. + +**Academic research.** Youngman et al. [@youngman2026carbon] cite PolicyEngine UK's methodology in their agent-based macroeconomic model for the UK's Seventh Carbon Budget, developed at the Institute for New Economic Thinking at Oxford in partnership with the Department for Energy Security and Net Zero, noting that "the PolicyEngine microsimulation model addresses undersampling of rich households by using the Wealth and Assets Survey to impute additional wealth households into the Family Resources Survey." + +**Policy research.** The National Institute of Economic and Social Research (NIESR) used PolicyEngine in their UK Living Standards Review 2025, acknowledging "the expertise and generosity of Nikhil Woodruff and Vahid Ahmadi in helping us maximise the benefits of using PolicyEngine" [@niesr2025living]. The Institute of Economic Affairs has published reports using PolicyEngine's microsimulation model to analyse employer National Insurance contributions [@woodruff2024nic] and the distributional impact of 2025–2026 tax changes on UK households [@woodruff2025tax]. + +# Acknowledgements + +This work was supported by the Nuffield Foundation since September 2024 [@nuffield2024grant]. The Nuffield Foundation had no involvement in the design, development, or content of this software or paper. + +We acknowledge contributions from all PolicyEngine UK contributors, and thank the OpenFisca community for the foundational microsimulation framework [@openfisca]. We acknowledge the UKMOD team at the Institute for Social and Economic Research (ISER), University of Essex, for their contributions to model descriptions [@sutherland2014euromod]. We also acknowledge the UK Data Service and the Department for Work and Pensions for providing access to the Family Resources Survey. + +# AI Usage Disclosure + +Generative AI tools (Claude by Anthropic, 2024–2026 [@claude2025]) were used to assist with code refactoring, test scaffolding, and drafting of this paper. All AI-assisted outputs were reviewed, edited, and validated by human authors, who made all core design decisions regarding software architecture, policy modelling, and parameter implementation. The authors remain fully responsible for the accuracy, originality, and correctness of all submitted materials. + +# References From 7fb0128228c0e4897cde44fff8810cff7fc31c9f Mon Sep 17 00:00:00 2001 From: Vahid Ahmadi Date: Mon, 23 Mar 2026 12:07:06 +0000 Subject: [PATCH 02/22] Add Pavel Makarchuk as author in JOSS paper Co-Authored-By: Claude Opus 4.6 --- paper.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/paper.md b/paper.md index 7cfe0677..85587c0c 100644 --- a/paper.md +++ b/paper.md @@ -18,6 +18,9 @@ authors: orcid: 0009-0004-1093-6272 affiliation: 1 corresponding: true + - name: Pavel Makarchuk + orcid: 0000-0000-0000-0000 + affiliation: 1 affiliations: - name: PolicyEngine index: 1 From 7aedc2f5c5c9ce8ce45b0c37c32ef921b15f1ec0 Mon Sep 17 00:00:00 2001 From: Vahid Ahmadi Date: Mon, 23 Mar 2026 12:11:03 +0000 Subject: [PATCH 03/22] Adapt JOSS paper from UK-only to multi-country policyengine.py Rewrites paper.md to describe the policyengine package as a unified multi-country (UK + US) microsimulation framework rather than the UK-only policyengine-uk package. Updates title, summary, statement of need, state of the field, software design, and acknowledgements to reflect the country-agnostic architecture. Adds TAXSIM and US data references to paper.bib. Co-Authored-By: Claude Opus 4.6 --- paper.bib | 17 +++++++++++++++++ paper.md | 47 +++++++++++++++++++++++++---------------------- 2 files changed, 42 insertions(+), 22 deletions(-) diff --git a/paper.bib b/paper.bib index fd84f83a..7b4421be 100644 --- a/paper.bib +++ b/paper.bib @@ -30,6 +30,23 @@ @software{pe_uk_data year={2025} } +@software{pe_us_data, + title={{PolicyEngine US Data}: Enhanced Microdata for US Tax-Benefit Microsimulation}, + author={Ghenis, Max and Woodruff, Nikhil}, + url={https://github.com/PolicyEngine/policyengine-us-data}, + year={2025} +} + +@article{taxsim, + title={{TAXSIM}: A Tool for Calculating Federal and State Income Tax Liabilities}, + author={Feenberg, Daniel R. and Coutts, Elisabeth}, + journal={National Tax Journal}, + volume={46}, + number={3}, + pages={271--280}, + year={1993} +} + @misc{frs2020, title={Family Resources Survey, 2019-2020}, author={{Department for Work and Pensions} and {Office for National Statistics} and {NatCen Social Research}}, diff --git a/paper.md b/paper.md index 85587c0c..fdecc8ec 100644 --- a/paper.md +++ b/paper.md @@ -1,5 +1,5 @@ --- -title: "PolicyEngine UK: An Open-Source Microsimulation Model of the UK Tax-Benefit System" +title: "PolicyEngine: An Open-Source Multi-Country Tax-Benefit Microsimulation Framework" tags: - Python - microsimulation @@ -30,52 +30,55 @@ bibliography: paper.bib # Summary -PolicyEngine UK is an open-source microsimulation model of the United Kingdom's tax-benefit system, implemented in Python. It calculates variable values over UK entities from given policy parameters and structures, supporting two primary uses: computing statistics under current tax and benefit law, and simulating the effects of potential legislative changes. The model covers over 37 programmes administered by UK government agencies including HM Revenue & Customs (HMRC), the Department for Work and Pensions (DWP), the Department for Education (DfE), Revenue Scotland, and Social Security Scotland. PolicyEngine UK supports both individual household simulations via the `Simulation` class and population-wide microsimulations via the `Microsimulation` class, which incorporates survey weights from the Enhanced Family Resources Survey, prepared and published in the companion `policyengine-uk-data` repository [@pe_uk_data], to generate population-level estimates. +PolicyEngine is an open-source, multi-country microsimulation framework for tax-benefit policy analysis, implemented in Python. The `policyengine` package provides a unified interface for running policy simulations, analysing distributional impacts, and visualising results across multiple countries — currently the United Kingdom and the United States. It delegates country-specific tax-benefit calculations to dedicated country packages (`policyengine-uk` and `policyengine-us`) while providing shared abstractions for simulations, datasets, parametric reforms, and output analysis. The framework supports both individual household simulations via the `Simulation` class and population-wide microsimulations using representative survey microdata with calibrated weights — the Enhanced Family Resources Survey for the UK [@pe_uk_data] and the Current Population Survey for the US [@pe_us_data]. PolicyEngine powers an interactive web application at [policyengine.org](https://policyengine.org) that enables non-technical users to explore policy reforms in both countries. # Statement of Need -Tax-benefit microsimulation models are essential tools for evaluating the distributional impacts of fiscal policy. Governments, think tanks, and researchers rely on such models to estimate how policy reforms affect household incomes, poverty rates, and government budgets. In the UK, existing microsimulation models such as UKMOD [@sutherland2014euromod] and the IPPR Tax-Benefit Model are either restricted-access or proprietary, limiting transparency and reproducibility in policy analysis. +Tax-benefit microsimulation models are essential tools for evaluating the distributional impacts of fiscal policy. Governments, think tanks, and researchers rely on such models to estimate how policy reforms affect household incomes, poverty rates, and government budgets. Existing microsimulation models — such as UKMOD [@sutherland2014euromod] in the UK and TAXSIM [@taxsim] in the US — are either restricted-access, proprietary, or limited to a single country, constraining transparency, reproducibility, and cross-country comparison. -PolicyEngine UK addresses this gap by providing a fully open-source, publicly accessible microsimulation model. Researchers can install the package with `pip install policyengine-uk`, supply their own microdata, and compute the impact of current law or hypothetical policy reforms on any household or the full UK population. The `Simulation` class supports individual household analysis, while the `Microsimulation` class enables population-level aggregate analysis using Enhanced FRS datasets from the `policyengine-uk-data` repository [@pe_uk_data] with calibrated weights. The model's open development on GitHub enables external validation, community contributions, and reproducible policy analysis. +PolicyEngine addresses these gaps by providing a fully open-source, pip-installable microsimulation framework that spans multiple countries under a consistent API. Researchers can install the package with `pip install policyengine` (or selectively with `pip install policyengine[uk]` or `pip install policyengine[us]`), supply their own microdata or use built-in datasets, and compute the impact of current law or hypothetical policy reforms on any household or a full national population. The `Simulation` class supports individual household analysis, while population-level aggregate analysis uses representative survey datasets with calibrated weights. The framework's open development on GitHub enables external validation, community contributions, and reproducible policy analysis across countries. # State of the Field -The primary UK microsimulation models include UKMOD, maintained by the Centre for Microsimulation and Policy Analysis at the Institute for Social and Economic Research (ISER), University of Essex, as part of the EUROMOD family [@sutherland2014euromod], and models maintained internally by HM Treasury and the Institute for Fiscal Studies. OpenFisca [@openfisca] pioneered the open-source approach to tax-benefit microsimulation in France. PolicyEngine UK originated as OpenFisca UK and builds on this foundation through the PolicyEngine Core framework [@policyengine_core]. The UKMOD team's published model descriptions accelerated the early development of the model. +In the UK, the primary microsimulation models include UKMOD, maintained by the Centre for Microsimulation and Policy Analysis at the Institute for Social and Economic Research (ISER), University of Essex, as part of the EUROMOD family [@sutherland2014euromod], and models maintained internally by HM Treasury and the Institute for Fiscal Studies. In the US, TAXSIM [@taxsim] at the National Bureau of Economic Research provides tax calculations, while the Tax Policy Center and Congressional Budget Office maintain proprietary models. OpenFisca [@openfisca] pioneered the open-source approach to tax-benefit microsimulation in France. PolicyEngine originated from OpenFisca and builds on this foundation through the PolicyEngine Core framework [@policyengine_core]. -PolicyEngine UK differentiates itself in several ways: +PolicyEngine differentiates itself in several ways: +- **Multi-country, unified framework**: a single Python package supports the UK and US tax-benefit systems, enabling cross-country analysis with a consistent API. - **Fully open-source and pip-installable**: users can install and run the model without institutional access or licence fees. -- **Comprehensive programme coverage**: 37 modelled programmes spanning income tax, National Insurance, Universal Credit, Child Benefit, Council Tax, and devolved policies in Scotland and Wales. -- **Integration with the PolicyEngine web application**: the model powers an interactive web interface at [policyengine.org](https://policyengine.org) that allows non-technical users to explore policy reforms. -- **Programmatic reform and scenario API**: users can define hypothetical policy reforms as simple parameter dictionaries, compose multiple scenarios with the `+` operator, or implement structural changes via simulation modifiers — and evaluate their impact on any household or the full population. -- **Labour supply dynamics**: a behavioural response module implements the Office for Budget Responsibility's labour supply elasticity framework, modelling both intensive margin (hours adjustment) and extensive margin (participation) responses to policy changes. -- **Enhanced microdata**: the model supports dataset fusion and calibration to align survey microdata with administrative totals across multiple dimensions. +- **Comprehensive programme coverage**: the UK model covers over 37 programmes spanning income tax, National Insurance, Universal Credit, Child Benefit, Council Tax, and devolved policies in Scotland and Wales; the US model covers federal income tax, payroll taxes, SNAP, SSI, Medicaid, TANF, and state-level tax systems. +- **Integration with the PolicyEngine web application**: the models power an interactive web interface at [policyengine.org](https://policyengine.org) that allows non-technical users to explore policy reforms in both countries. +- **Programmatic reform API**: users can define hypothetical policy reforms as parameter dictionaries with date-bound values, compose multiple reforms, or implement structural changes — and evaluate their impact on any household or the full population. +- **Distributional analysis outputs**: built-in output classes compute decile impacts, intra-decile distributions, poverty rates, inequality metrics (Gini coefficients), budgetary impacts, and regional breakdowns (UK parliamentary constituencies, US congressional districts). +- **Labour supply dynamics**: behavioural response modules model both intensive margin (hours adjustment) and extensive margin (participation) responses to policy changes. # Software Design -PolicyEngine UK is built on the PolicyEngine Core framework, which extends the OpenFisca microsimulation engine. The model is organised into three main components: +PolicyEngine is built on the PolicyEngine Core framework, which extends the OpenFisca microsimulation engine. The `policyengine` package is organised as a country-agnostic layer with the following core components: -**Parameters** define the rates, thresholds, and other numeric values of the tax-benefit system. These are stored as YAML files organised by government department (e.g., `parameters/gov/hmrc/` for HMRC policies) and indexed by time period, enabling the model to represent legislative changes over time. Parameters are addressed via hierarchical paths such as `gov.hmrc.income_tax.rates.uk[0].rate` for the basic income tax rate or `gov.dwp.universal_credit.standard_allowance.single.OVER_25` for Universal Credit allowances. +**Simulation and Dataset** classes provide the primary interface. The `Simulation` class executes tax-benefit models on datasets, applying policy reforms and caching results. The `Dataset` class represents microdata containing entity-level data (persons, households, tax units) with survey weights and entity relationships. Country-specific datasets — the Enhanced Family Resources Survey for the UK and the Current Population Survey for the US — are loaded from companion data repositories [@pe_uk_data; @pe_us_data]. -**Variables** define the formulas that compute tax liabilities, benefit entitlements, and other derived quantities. Each variable is implemented as a Python class that specifies its computation logic, the entity it applies to (person, benefit unit, or household), and its time period. The model contains over 700 variable definitions covering the full scope of the UK tax-benefit system. +**Policy and Parameter** classes define the reform system. The `Policy` class bundles parametric reforms that modify tax-benefit system parameters. The `Parameter` class represents system settings (tax rates, benefit thresholds, income limits), while `ParameterValue` supports time-bound values, enabling phased policy implementations across multiple years. -**Reforms and Scenarios** allow users to modify parameters or variable formulas to represent hypothetical policy changes. Simple reforms can be expressed as dictionaries mapping parameter paths to new values, while the `Scenario` class supports composable reforms, time-varying parameters for phased implementation across multiple years, and simulation modifiers for complex structural changes such as repealing the two-child benefit limit. Scenarios apply policy changes without modifying the original simulation, enabling straightforward baseline-versus-reform comparison. +**Variable and TaxBenefitModelVersion** classes encapsulate country-specific logic. Each `Variable` is a computed quantity (income tax, benefit entitlement) with entity mappings. The `TaxBenefitModelVersion` class represents a versioned country model, storing variables, parameters, and execution logic. The framework uses `importlib` to conditionally import country packages, allowing graceful operation when only one country is installed. -The model supports two input modes. The `Simulation` class accepts programmatically defined household situations — specifying ages, incomes, housing costs, and household composition — for individual-level analysis. The `Microsimulation` class loads population-level survey microdata from the `policyengine-uk-data` repository [@pe_uk_data] with calibrated weights, enabling computation of aggregate statistics including poverty rates, inequality metrics, and budgetary impacts. Revenue impacts are computed via the accounting identity: when household net income decreases under a reform, government revenue increases by the equivalent amount. +**Output classes** provide standardised analysis. These include `Aggregate` for sum, mean, and count statistics; `DecileImpact` and `IntraDecileImpact` for distributional analysis by income decile; `Poverty` and `Inequality` for welfare metrics; `ChangeAggregate` for baseline-versus-reform comparisons; and region-specific classes such as `ConstituencyImpact` (UK) and `CongressionalDistrictImpact` (US). All output classes produce PolicyEngine-branded Plotly visualisations. -The dynamics module extends the static microsimulation with labour supply behavioural responses. It applies group-specific substitution and income elasticities based on OBR estimates, computing individual-level employment income adjustments and aggregate full-time equivalent (FTE) employment changes. +**Region and RegionRegistry** classes manage geographic scope, enabling sub-national analysis for regions within each country. + +The country-specific models (`policyengine-uk` and `policyengine-us`) define parameters as YAML files organised by government department and indexed by time period, and implement variables as Python classes specifying computation logic, entity scope, and time period. The UK model contains over 700 variable definitions and the US model covers federal and state-level tax and benefit programmes. All code examples in the documentation are automatically re-executed with each new release to ensure correctness. # Research Impact Statement -PolicyEngine UK has demonstrated research impact across government, academia, and policy research. +PolicyEngine has demonstrated research impact across government, academia, and policy research in both the UK and US. -**Government adoption.** In 2025–2026, co-author Nikhil Woodruff served as an Innovation Fellow with 10DS — the data science team at 10 Downing Street — adapting PolicyEngine UK for government use [@ghenis2026no10]. The 10DS team built `10ds-microsim` on top of PolicyEngine UK to rapidly estimate the impacts of policy reforms on living standards, local area incomes, and distributional outcomes. HM Treasury has also formally documented PolicyEngine UK in the UK Algorithmic Transparency Recording Standard, describing it as a model their Personal Tax, Welfare and Pensions team is exploring for "advising policymakers on the impact of tax and welfare measures on households" [@hmt2024atrs]. +**Government adoption.** In 2025–2026, co-author Nikhil Woodruff served as an Innovation Fellow with 10DS — the data science team at 10 Downing Street — adapting PolicyEngine for government use [@ghenis2026no10]. The 10DS team built `10ds-microsim` on top of PolicyEngine to rapidly estimate the impacts of policy reforms on living standards, local area incomes, and distributional outcomes. HM Treasury has also formally documented PolicyEngine in the UK Algorithmic Transparency Recording Standard, describing it as a model their Personal Tax, Welfare and Pensions team is exploring for "advising policymakers on the impact of tax and welfare measures on households" [@hmt2024atrs]. -**Parliamentary citation.** In February 2026, Baroness Altmann referenced PolicyEngine and its interactive dashboard during House of Lords Grand Committee debate on the National Insurance Contributions (Employer Pensions Contributions) Bill, noting that Commons Library research using PolicyEngine provided "a useful picture of the distributional effects of raising the contribution limit" across income deciles [@hansard2026nic]. +**Parliamentary and congressional citation.** In February 2026, Baroness Altmann referenced PolicyEngine and its interactive dashboard during House of Lords Grand Committee debate on the National Insurance Contributions (Employer Pensions Contributions) Bill, noting that Commons Library research using PolicyEngine provided "a useful picture of the distributional effects of raising the contribution limit" across income deciles [@hansard2026nic]. -**Academic research.** Youngman et al. [@youngman2026carbon] cite PolicyEngine UK's methodology in their agent-based macroeconomic model for the UK's Seventh Carbon Budget, developed at the Institute for New Economic Thinking at Oxford in partnership with the Department for Energy Security and Net Zero, noting that "the PolicyEngine microsimulation model addresses undersampling of rich households by using the Wealth and Assets Survey to impute additional wealth households into the Family Resources Survey." +**Academic research.** Youngman et al. [@youngman2026carbon] cite PolicyEngine's methodology in their agent-based macroeconomic model for the UK's Seventh Carbon Budget, developed at the Institute for New Economic Thinking at Oxford in partnership with the Department for Energy Security and Net Zero, noting that "the PolicyEngine microsimulation model addresses undersampling of rich households by using the Wealth and Assets Survey to impute additional wealth households into the Family Resources Survey." **Policy research.** The National Institute of Economic and Social Research (NIESR) used PolicyEngine in their UK Living Standards Review 2025, acknowledging "the expertise and generosity of Nikhil Woodruff and Vahid Ahmadi in helping us maximise the benefits of using PolicyEngine" [@niesr2025living]. The Institute of Economic Affairs has published reports using PolicyEngine's microsimulation model to analyse employer National Insurance contributions [@woodruff2024nic] and the distributional impact of 2025–2026 tax changes on UK households [@woodruff2025tax]. @@ -83,7 +86,7 @@ PolicyEngine UK has demonstrated research impact across government, academia, an This work was supported by the Nuffield Foundation since September 2024 [@nuffield2024grant]. The Nuffield Foundation had no involvement in the design, development, or content of this software or paper. -We acknowledge contributions from all PolicyEngine UK contributors, and thank the OpenFisca community for the foundational microsimulation framework [@openfisca]. We acknowledge the UKMOD team at the Institute for Social and Economic Research (ISER), University of Essex, for their contributions to model descriptions [@sutherland2014euromod]. We also acknowledge the UK Data Service and the Department for Work and Pensions for providing access to the Family Resources Survey. +We acknowledge contributions from all PolicyEngine contributors, and thank the OpenFisca community for the foundational microsimulation framework [@openfisca]. We acknowledge the UKMOD team at the Institute for Social and Economic Research (ISER), University of Essex, for their contributions to model descriptions [@sutherland2014euromod]. We also acknowledge the UK Data Service and the Department for Work and Pensions for providing access to the Family Resources Survey, and the US Census Bureau for the Current Population Survey. # AI Usage Disclosure From ac8a60281aa37efae25fc99f888557839302b018 Mon Sep 17 00:00:00 2001 From: Vahid Ahmadi Date: Mon, 23 Mar 2026 12:19:30 +0000 Subject: [PATCH 04/22] Add US research impact citations to JOSS paper Adds congressional citation (Young Adult Tax Credit Act, H.R.7547), NBER partnership (TAXSIM emulator MOU), Niskanen Center CTC report, NTA conference presentation, and Georgetown Beeck Center collaboration to the Research Impact section. Adds corresponding BibTeX entries. Co-Authored-By: Claude Opus 4.6 --- paper.bib | 44 ++++++++++++++++++++++++++++++++++++++++++++ paper.md | 8 +++++--- 2 files changed, 49 insertions(+), 3 deletions(-) diff --git a/paper.bib b/paper.bib index 7b4421be..7ef1d313 100644 --- a/paper.bib +++ b/paper.bib @@ -122,6 +122,50 @@ @techreport{woodruff2025tax url={https://iea.org.uk/publications/impact-of-tax-changes-2025-2026/} } +@misc{mcgarvey2024yatc, + title={Congressman {Morgan McGarvey} Introduces {Young Adult Tax Credit Act}}, + author={{Office of Representative Morgan McGarvey}}, + year={2024}, + month={3}, + day={5}, + note={Press release citing PolicyEngine analysis of H.R.7547}, + url={https://mcgarvey.house.gov/media/press-releases/congressman-morgan-mcgarvey-introduces-young-adult-tax-credit-act} +} + +@online{pe_nber_mou, + title={{PolicyEngine} and {NBER} Sign {MOU} for {TAXSIM} Emulator Development}, + author={Ghenis, Max}, + year={2024}, + url={https://www.policyengine.org/us/research/policyengine-nber-mou-taxsim} +} + +@misc{ghenis2024nta, + title={Enhanced {Current Population Survey}: Integrating {IRS} Public Use File Data Using Quantile Regression Forests}, + author={Ghenis, Max and DeBacker, Jason}, + year={2024}, + month={11}, + note={Presented at the 117th Annual Conference on Taxation, National Tax Association, Detroit, Michigan}, + url={https://www.policyengine.org/us/research/nta-2024} +} + +@techreport{mccabe2024ctc, + title={Building a Stronger Foundation for {American} Families: Options for {Child Tax Credit} Reform}, + author={McCabe, Joshua and Sargeant, Leah}, + institution={Niskanen Center}, + year={2024}, + month={3}, + url={https://www.niskanencenter.org/building-a-stronger-foundation-for-american-families-options-for-child-tax-credit-reform/} +} + +@misc{beeck2024rac, + title={Rules as Code Community of Practice -- {Policy2Code} Demo Day}, + author={{Beeck Center for Social Impact and Innovation}}, + year={2024}, + month={9}, + note={Georgetown University. PolicyEngine presented at BenCon 2024 Policy2Code Prototyping Challenge}, + url={https://beeckcenter.georgetown.edu/rac-demo-day/} +} + @software{claude2025, title={Claude}, author={{Anthropic}}, diff --git a/paper.md b/paper.md index fdecc8ec..c8effbd1 100644 --- a/paper.md +++ b/paper.md @@ -74,13 +74,15 @@ All code examples in the documentation are automatically re-executed with each n PolicyEngine has demonstrated research impact across government, academia, and policy research in both the UK and US. -**Government adoption.** In 2025–2026, co-author Nikhil Woodruff served as an Innovation Fellow with 10DS — the data science team at 10 Downing Street — adapting PolicyEngine for government use [@ghenis2026no10]. The 10DS team built `10ds-microsim` on top of PolicyEngine to rapidly estimate the impacts of policy reforms on living standards, local area incomes, and distributional outcomes. HM Treasury has also formally documented PolicyEngine in the UK Algorithmic Transparency Recording Standard, describing it as a model their Personal Tax, Welfare and Pensions team is exploring for "advising policymakers on the impact of tax and welfare measures on households" [@hmt2024atrs]. +**Government adoption.** In 2025–2026, co-author Nikhil Woodruff served as an Innovation Fellow with 10DS — the data science team at 10 Downing Street — adapting PolicyEngine for UK government use [@ghenis2026no10]. The 10DS team built `10ds-microsim` on top of PolicyEngine to rapidly estimate the impacts of policy reforms on living standards, local area incomes, and distributional outcomes. HM Treasury has also formally documented PolicyEngine in the UK Algorithmic Transparency Recording Standard, describing it as a model their Personal Tax, Welfare and Pensions team is exploring for "advising policymakers on the impact of tax and welfare measures on households" [@hmt2024atrs]. In the US, PolicyEngine collaborated with the Better Government Lab — a joint centre of the Georgetown McCourt School of Public Policy and the University of Michigan Ford School of Public Policy — on benefits eligibility research [@beeck2024rac]. -**Parliamentary and congressional citation.** In February 2026, Baroness Altmann referenced PolicyEngine and its interactive dashboard during House of Lords Grand Committee debate on the National Insurance Contributions (Employer Pensions Contributions) Bill, noting that Commons Library research using PolicyEngine provided "a useful picture of the distributional effects of raising the contribution limit" across income deciles [@hansard2026nic]. +**Parliamentary and congressional citation.** In February 2026, Baroness Altmann referenced PolicyEngine and its interactive dashboard during House of Lords Grand Committee debate on the National Insurance Contributions (Employer Pensions Contributions) Bill, noting that Commons Library research using PolicyEngine provided "a useful picture of the distributional effects of raising the contribution limit" across income deciles [@hansard2026nic]. In the US, Representatives Morgan McGarvey and Bonnie Watson Coleman cited PolicyEngine's analysis in introducing the Young Adult Tax Credit Act (H.R.7547), stating that "according to the model at PolicyEngine, 22% of all Americans would see an increase in their household income under this program, and it would lift over 4 million Americans out of poverty" [@mcgarvey2024yatc]. + +**Institutional partnership.** PolicyEngine and the National Bureau of Economic Research (NBER) signed a formal memorandum of understanding for PolicyEngine to develop an open-source TAXSIM emulator — a drop-in replacement for TAXSIM-35 powered by PolicyEngine's microsimulation engine, with support for Python, R, Stata, SAS, and Julia [@pe_nber_mou]. Co-author Max Ghenis and Jason DeBacker (University of South Carolina) presented the Enhanced Current Population Survey methodology at the 117th Annual Conference on Taxation of the National Tax Association [@ghenis2024nta]. **Academic research.** Youngman et al. [@youngman2026carbon] cite PolicyEngine's methodology in their agent-based macroeconomic model for the UK's Seventh Carbon Budget, developed at the Institute for New Economic Thinking at Oxford in partnership with the Department for Energy Security and Net Zero, noting that "the PolicyEngine microsimulation model addresses undersampling of rich households by using the Wealth and Assets Survey to impute additional wealth households into the Family Resources Survey." -**Policy research.** The National Institute of Economic and Social Research (NIESR) used PolicyEngine in their UK Living Standards Review 2025, acknowledging "the expertise and generosity of Nikhil Woodruff and Vahid Ahmadi in helping us maximise the benefits of using PolicyEngine" [@niesr2025living]. The Institute of Economic Affairs has published reports using PolicyEngine's microsimulation model to analyse employer National Insurance contributions [@woodruff2024nic] and the distributional impact of 2025–2026 tax changes on UK households [@woodruff2025tax]. +**Policy research.** The National Institute of Economic and Social Research (NIESR) used PolicyEngine in their UK Living Standards Review 2025, acknowledging "the expertise and generosity of Nikhil Woodruff and Vahid Ahmadi in helping us maximise the benefits of using PolicyEngine" [@niesr2025living]. The Institute of Economic Affairs has published reports using PolicyEngine's microsimulation model to analyse employer National Insurance contributions [@woodruff2024nic] and the distributional impact of 2025–2026 tax changes on UK households [@woodruff2025tax]. In the US, the Niskanen Center used PolicyEngine to estimate the cost and distributional impacts of Child Tax Credit reform options, becoming the first external organisation to leverage PolicyEngine's enhanced US microdata [@mccabe2024ctc]. # Acknowledgements From 0e61eda1b58aac60f00dde888d39e3e9bc6952bb Mon Sep 17 00:00:00 2001 From: Vahid Ahmadi Date: Mon, 23 Mar 2026 12:27:40 +0000 Subject: [PATCH 05/22] Fix citations, convert to American spelling, and fix grammar MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Convert all British spellings to American English (organised → organized, programme → program, labour → labor, behavioural → behavioral, modelling → modeling, licence → license, etc.) - Fix Beeck Center citation: was pointing to a 2022 event but labeled as 2024. Replace with correct Better Government Lab collaboration reference (pe_bgl) - Soften Youngman et al. claim: confirmed paper cites PolicyEngine UK data but removed unverifiable direct quote - Remove unused beeck2024rac bib entry Co-Authored-By: Claude Opus 4.6 --- paper.bib | 10 ++++------ paper.md | 22 +++++++++++----------- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/paper.bib b/paper.bib index 7ef1d313..5b586fd4 100644 --- a/paper.bib +++ b/paper.bib @@ -157,13 +157,11 @@ @techreport{mccabe2024ctc url={https://www.niskanencenter.org/building-a-stronger-foundation-for-american-families-options-for-child-tax-credit-reform/} } -@misc{beeck2024rac, - title={Rules as Code Community of Practice -- {Policy2Code} Demo Day}, - author={{Beeck Center for Social Impact and Innovation}}, +@online{pe_bgl, + title={{PolicyEngine} and {Better Government Lab} Collaboration}, + author={Ghenis, Max}, year={2024}, - month={9}, - note={Georgetown University. PolicyEngine presented at BenCon 2024 Policy2Code Prototyping Challenge}, - url={https://beeckcenter.georgetown.edu/rac-demo-day/} + url={https://www.policyengine.org/us/research/policyengine-better-government-lab-collaboration} } @software{claude2025, diff --git a/paper.md b/paper.md index c8effbd1..67b40033 100644 --- a/paper.md +++ b/paper.md @@ -30,7 +30,7 @@ bibliography: paper.bib # Summary -PolicyEngine is an open-source, multi-country microsimulation framework for tax-benefit policy analysis, implemented in Python. The `policyengine` package provides a unified interface for running policy simulations, analysing distributional impacts, and visualising results across multiple countries — currently the United Kingdom and the United States. It delegates country-specific tax-benefit calculations to dedicated country packages (`policyengine-uk` and `policyengine-us`) while providing shared abstractions for simulations, datasets, parametric reforms, and output analysis. The framework supports both individual household simulations via the `Simulation` class and population-wide microsimulations using representative survey microdata with calibrated weights — the Enhanced Family Resources Survey for the UK [@pe_uk_data] and the Current Population Survey for the US [@pe_us_data]. PolicyEngine powers an interactive web application at [policyengine.org](https://policyengine.org) that enables non-technical users to explore policy reforms in both countries. +PolicyEngine is an open-source, multi-country microsimulation framework for tax-benefit policy analysis, implemented in Python. The `policyengine` package provides a unified interface for running policy simulations, analyzing distributional impacts, and visualizing results across multiple countries — currently the United Kingdom and the United States. It delegates country-specific tax-benefit calculations to dedicated country packages (`policyengine-uk` and `policyengine-us`) while providing shared abstractions for simulations, datasets, parametric reforms, and output analysis. The framework supports both individual household simulations via the `Simulation` class and population-wide microsimulations using representative survey microdata with calibrated weights — the Enhanced Family Resources Survey for the UK [@pe_uk_data] and the Current Population Survey for the US [@pe_us_data]. PolicyEngine powers an interactive web application at [policyengine.org](https://policyengine.org) that enables non-technical users to explore policy reforms in both countries. # Statement of Need @@ -45,16 +45,16 @@ In the UK, the primary microsimulation models include UKMOD, maintained by the C PolicyEngine differentiates itself in several ways: - **Multi-country, unified framework**: a single Python package supports the UK and US tax-benefit systems, enabling cross-country analysis with a consistent API. -- **Fully open-source and pip-installable**: users can install and run the model without institutional access or licence fees. -- **Comprehensive programme coverage**: the UK model covers over 37 programmes spanning income tax, National Insurance, Universal Credit, Child Benefit, Council Tax, and devolved policies in Scotland and Wales; the US model covers federal income tax, payroll taxes, SNAP, SSI, Medicaid, TANF, and state-level tax systems. +- **Fully open-source and pip-installable**: users can install and run the model without institutional access or license fees. +- **Comprehensive program coverage**: the UK model covers over 37 programs spanning income tax, National Insurance, Universal Credit, Child Benefit, Council Tax, and devolved policies in Scotland and Wales; the US model covers federal income tax, payroll taxes, SNAP, SSI, Medicaid, TANF, and state-level tax systems. - **Integration with the PolicyEngine web application**: the models power an interactive web interface at [policyengine.org](https://policyengine.org) that allows non-technical users to explore policy reforms in both countries. - **Programmatic reform API**: users can define hypothetical policy reforms as parameter dictionaries with date-bound values, compose multiple reforms, or implement structural changes — and evaluate their impact on any household or the full population. - **Distributional analysis outputs**: built-in output classes compute decile impacts, intra-decile distributions, poverty rates, inequality metrics (Gini coefficients), budgetary impacts, and regional breakdowns (UK parliamentary constituencies, US congressional districts). -- **Labour supply dynamics**: behavioural response modules model both intensive margin (hours adjustment) and extensive margin (participation) responses to policy changes. +- **Labor supply dynamics**: behavioral response modules model both intensive margin (hours adjustment) and extensive margin (participation) responses to policy changes. # Software Design -PolicyEngine is built on the PolicyEngine Core framework, which extends the OpenFisca microsimulation engine. The `policyengine` package is organised as a country-agnostic layer with the following core components: +PolicyEngine is built on the PolicyEngine Core framework, which extends the OpenFisca microsimulation engine. The `policyengine` package is organized as a country-agnostic layer with the following core components: **Simulation and Dataset** classes provide the primary interface. The `Simulation` class executes tax-benefit models on datasets, applying policy reforms and caching results. The `Dataset` class represents microdata containing entity-level data (persons, households, tax units) with survey weights and entity relationships. Country-specific datasets — the Enhanced Family Resources Survey for the UK and the Current Population Survey for the US — are loaded from companion data repositories [@pe_uk_data; @pe_us_data]. @@ -62,11 +62,11 @@ PolicyEngine is built on the PolicyEngine Core framework, which extends the Open **Variable and TaxBenefitModelVersion** classes encapsulate country-specific logic. Each `Variable` is a computed quantity (income tax, benefit entitlement) with entity mappings. The `TaxBenefitModelVersion` class represents a versioned country model, storing variables, parameters, and execution logic. The framework uses `importlib` to conditionally import country packages, allowing graceful operation when only one country is installed. -**Output classes** provide standardised analysis. These include `Aggregate` for sum, mean, and count statistics; `DecileImpact` and `IntraDecileImpact` for distributional analysis by income decile; `Poverty` and `Inequality` for welfare metrics; `ChangeAggregate` for baseline-versus-reform comparisons; and region-specific classes such as `ConstituencyImpact` (UK) and `CongressionalDistrictImpact` (US). All output classes produce PolicyEngine-branded Plotly visualisations. +**Output classes** provide standardized analysis. These include `Aggregate` for sum, mean, and count statistics; `DecileImpact` and `IntraDecileImpact` for distributional analysis by income decile; `Poverty` and `Inequality` for welfare metrics; `ChangeAggregate` for baseline-versus-reform comparisons; and region-specific classes such as `ConstituencyImpact` (UK) and `CongressionalDistrictImpact` (US). All output classes produce PolicyEngine-branded Plotly visualizations. **Region and RegionRegistry** classes manage geographic scope, enabling sub-national analysis for regions within each country. -The country-specific models (`policyengine-uk` and `policyengine-us`) define parameters as YAML files organised by government department and indexed by time period, and implement variables as Python classes specifying computation logic, entity scope, and time period. The UK model contains over 700 variable definitions and the US model covers federal and state-level tax and benefit programmes. +The country-specific models (`policyengine-uk` and `policyengine-us`) define parameters as YAML files organized by government department and indexed by time period, and implement variables as Python classes specifying computation logic, entity scope, and time period. The UK model contains over 700 variable definitions and the US model covers federal and state-level tax and benefit programs. All code examples in the documentation are automatically re-executed with each new release to ensure correctness. @@ -74,15 +74,15 @@ All code examples in the documentation are automatically re-executed with each n PolicyEngine has demonstrated research impact across government, academia, and policy research in both the UK and US. -**Government adoption.** In 2025–2026, co-author Nikhil Woodruff served as an Innovation Fellow with 10DS — the data science team at 10 Downing Street — adapting PolicyEngine for UK government use [@ghenis2026no10]. The 10DS team built `10ds-microsim` on top of PolicyEngine to rapidly estimate the impacts of policy reforms on living standards, local area incomes, and distributional outcomes. HM Treasury has also formally documented PolicyEngine in the UK Algorithmic Transparency Recording Standard, describing it as a model their Personal Tax, Welfare and Pensions team is exploring for "advising policymakers on the impact of tax and welfare measures on households" [@hmt2024atrs]. In the US, PolicyEngine collaborated with the Better Government Lab — a joint centre of the Georgetown McCourt School of Public Policy and the University of Michigan Ford School of Public Policy — on benefits eligibility research [@beeck2024rac]. +**Government adoption.** In 2025–2026, co-author Nikhil Woodruff served as an Innovation Fellow with 10DS — the data science team at 10 Downing Street — adapting PolicyEngine for UK government use [@ghenis2026no10]. The 10DS team built `10ds-microsim` on top of PolicyEngine to rapidly estimate the impacts of policy reforms on living standards, local area incomes, and distributional outcomes. HM Treasury has also formally documented PolicyEngine in the UK Algorithmic Transparency Recording Standard, describing it as a model their Personal Tax, Welfare and Pensions team is exploring for "advising policymakers on the impact of tax and welfare measures on households" [@hmt2024atrs]. In the US, PolicyEngine collaborated with the Better Government Lab — a joint center of the Georgetown McCourt School of Public Policy and the University of Michigan Ford School of Public Policy — on benefits eligibility research [@pe_bgl]. **Parliamentary and congressional citation.** In February 2026, Baroness Altmann referenced PolicyEngine and its interactive dashboard during House of Lords Grand Committee debate on the National Insurance Contributions (Employer Pensions Contributions) Bill, noting that Commons Library research using PolicyEngine provided "a useful picture of the distributional effects of raising the contribution limit" across income deciles [@hansard2026nic]. In the US, Representatives Morgan McGarvey and Bonnie Watson Coleman cited PolicyEngine's analysis in introducing the Young Adult Tax Credit Act (H.R.7547), stating that "according to the model at PolicyEngine, 22% of all Americans would see an increase in their household income under this program, and it would lift over 4 million Americans out of poverty" [@mcgarvey2024yatc]. **Institutional partnership.** PolicyEngine and the National Bureau of Economic Research (NBER) signed a formal memorandum of understanding for PolicyEngine to develop an open-source TAXSIM emulator — a drop-in replacement for TAXSIM-35 powered by PolicyEngine's microsimulation engine, with support for Python, R, Stata, SAS, and Julia [@pe_nber_mou]. Co-author Max Ghenis and Jason DeBacker (University of South Carolina) presented the Enhanced Current Population Survey methodology at the 117th Annual Conference on Taxation of the National Tax Association [@ghenis2024nta]. -**Academic research.** Youngman et al. [@youngman2026carbon] cite PolicyEngine's methodology in their agent-based macroeconomic model for the UK's Seventh Carbon Budget, developed at the Institute for New Economic Thinking at Oxford in partnership with the Department for Energy Security and Net Zero, noting that "the PolicyEngine microsimulation model addresses undersampling of rich households by using the Wealth and Assets Survey to impute additional wealth households into the Family Resources Survey." +**Academic research.** Youngman et al. [@youngman2026carbon] cite PolicyEngine UK's microdata methodology in their agent-based macroeconomic model for the UK's Seventh Carbon Budget, developed at the Institute for New Economic Thinking at Oxford in partnership with the Department for Energy Security and Net Zero. -**Policy research.** The National Institute of Economic and Social Research (NIESR) used PolicyEngine in their UK Living Standards Review 2025, acknowledging "the expertise and generosity of Nikhil Woodruff and Vahid Ahmadi in helping us maximise the benefits of using PolicyEngine" [@niesr2025living]. The Institute of Economic Affairs has published reports using PolicyEngine's microsimulation model to analyse employer National Insurance contributions [@woodruff2024nic] and the distributional impact of 2025–2026 tax changes on UK households [@woodruff2025tax]. In the US, the Niskanen Center used PolicyEngine to estimate the cost and distributional impacts of Child Tax Credit reform options, becoming the first external organisation to leverage PolicyEngine's enhanced US microdata [@mccabe2024ctc]. +**Policy research.** The National Institute of Economic and Social Research (NIESR) used PolicyEngine in their UK Living Standards Review 2025, acknowledging "the expertise and generosity of Nikhil Woodruff and Vahid Ahmadi in helping us maximise the benefits of using PolicyEngine" [@niesr2025living]. The Institute of Economic Affairs has published reports using PolicyEngine's microsimulation model to analyze employer National Insurance contributions [@woodruff2024nic] and the distributional impact of 2025–2026 tax changes on UK households [@woodruff2025tax]. In the US, the Niskanen Center used PolicyEngine to estimate the cost and distributional impacts of Child Tax Credit reform options, becoming the first external organization to leverage PolicyEngine's enhanced US microdata [@mccabe2024ctc]. # Acknowledgements @@ -92,6 +92,6 @@ We acknowledge contributions from all PolicyEngine contributors, and thank the O # AI Usage Disclosure -Generative AI tools (Claude by Anthropic, 2024–2026 [@claude2025]) were used to assist with code refactoring, test scaffolding, and drafting of this paper. All AI-assisted outputs were reviewed, edited, and validated by human authors, who made all core design decisions regarding software architecture, policy modelling, and parameter implementation. The authors remain fully responsible for the accuracy, originality, and correctness of all submitted materials. +Generative AI tools (Claude by Anthropic, 2024–2026 [@claude2025]) were used to assist with code refactoring, test scaffolding, and drafting of this paper. All AI-assisted outputs were reviewed, edited, and validated by human authors, who made all core design decisions regarding software architecture, policy modeling, and parameter implementation. The authors remain fully responsible for the accuracy, originality, and correctness of all submitted materials. # References From f893bd3fced2085221a91d9ab85c0464faa0b161 Mon Sep 17 00:00:00 2001 From: Vahid Ahmadi Date: Mon, 23 Mar 2026 12:36:04 +0000 Subject: [PATCH 06/22] Reorder authors: Pavel Makarchuk before Vahid Ahmadi Co-Authored-By: Claude Opus 4.6 --- paper.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/paper.md b/paper.md index 67b40033..2b9039e3 100644 --- a/paper.md +++ b/paper.md @@ -14,13 +14,13 @@ authors: - name: Nikhil Woodruff orcid: 0000-0000-0000-0000 affiliation: 1 + - name: Pavel Makarchuk + orcid: 0000-0000-0000-0000 + affiliation: 1 - name: Vahid Ahmadi orcid: 0009-0004-1093-6272 affiliation: 1 corresponding: true - - name: Pavel Makarchuk - orcid: 0000-0000-0000-0000 - affiliation: 1 affiliations: - name: PolicyEngine index: 1 From 95e114c2e3cef0abd94bc3eb17e8c74e5f7af7c3 Mon Sep 17 00:00:00 2001 From: Vahid Ahmadi Date: Mon, 23 Mar 2026 12:37:40 +0000 Subject: [PATCH 07/22] Edit Summary and Statement of Need per review feedback - Change country order to "the US and the UK" - Remove "via the Simulation class" from Summary - Remove inline dataset names (Enhanced FRS, CPS) from Summary - Make Statement of Need more specific about access barriers for existing models (UKMOD requires institutional application, TAXSIM covers only taxes not benefits, HMT/IFS/CBO/TPC are fully proprietary) Co-Authored-By: Claude Opus 4.6 --- paper.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/paper.md b/paper.md index 2b9039e3..8c4ddd12 100644 --- a/paper.md +++ b/paper.md @@ -30,11 +30,11 @@ bibliography: paper.bib # Summary -PolicyEngine is an open-source, multi-country microsimulation framework for tax-benefit policy analysis, implemented in Python. The `policyengine` package provides a unified interface for running policy simulations, analyzing distributional impacts, and visualizing results across multiple countries — currently the United Kingdom and the United States. It delegates country-specific tax-benefit calculations to dedicated country packages (`policyengine-uk` and `policyengine-us`) while providing shared abstractions for simulations, datasets, parametric reforms, and output analysis. The framework supports both individual household simulations via the `Simulation` class and population-wide microsimulations using representative survey microdata with calibrated weights — the Enhanced Family Resources Survey for the UK [@pe_uk_data] and the Current Population Survey for the US [@pe_us_data]. PolicyEngine powers an interactive web application at [policyengine.org](https://policyengine.org) that enables non-technical users to explore policy reforms in both countries. +PolicyEngine is an open-source, multi-country microsimulation framework for tax-benefit policy analysis, implemented in Python. The `policyengine` package provides a unified interface for running policy simulations, analyzing distributional impacts, and visualizing results across the US and the UK. It delegates country-specific tax-benefit calculations to dedicated country packages (`policyengine-uk` and `policyengine-us`) while providing shared abstractions for simulations, datasets, parametric reforms, and output analysis. The framework supports both individual household simulations and population-wide microsimulations using representative survey microdata with calibrated weights. PolicyEngine powers an interactive web application at [policyengine.org](https://policyengine.org) that enables non-technical users to explore policy reforms in both countries. # Statement of Need -Tax-benefit microsimulation models are essential tools for evaluating the distributional impacts of fiscal policy. Governments, think tanks, and researchers rely on such models to estimate how policy reforms affect household incomes, poverty rates, and government budgets. Existing microsimulation models — such as UKMOD [@sutherland2014euromod] in the UK and TAXSIM [@taxsim] in the US — are either restricted-access, proprietary, or limited to a single country, constraining transparency, reproducibility, and cross-country comparison. +Tax-benefit microsimulation models are essential tools for evaluating the distributional impacts of fiscal policy. Governments, think tanks, and researchers rely on such models to estimate how policy reforms affect household incomes, poverty rates, and government budgets. Existing microsimulation models face significant access barriers. UKMOD [@sutherland2014euromod], maintained by the University of Essex, requires a formal application and institutional affiliation to access. TAXSIM [@taxsim] at NBER computes only tax liabilities and omits the benefit side of the ledger entirely. The models maintained by HM Treasury, the Institute for Fiscal Studies, the Congressional Budget Office, and the Tax Policy Center are fully proprietary and unavailable to external researchers. None of these tools provide a unified framework for cross-country comparison. PolicyEngine addresses these gaps by providing a fully open-source, pip-installable microsimulation framework that spans multiple countries under a consistent API. Researchers can install the package with `pip install policyengine` (or selectively with `pip install policyengine[uk]` or `pip install policyengine[us]`), supply their own microdata or use built-in datasets, and compute the impact of current law or hypothetical policy reforms on any household or a full national population. The `Simulation` class supports individual household analysis, while population-level aggregate analysis uses representative survey datasets with calibrated weights. The framework's open development on GitHub enables external validation, community contributions, and reproducible policy analysis across countries. From fb1eb93e12e0f0ec857254a402594fa17d3f78a2 Mon Sep 17 00:00:00 2001 From: Vahid Ahmadi Date: Mon, 23 Mar 2026 12:40:13 +0000 Subject: [PATCH 08/22] Update install docs, remove code styling, reorder US before UK - Update install instructions to match repo docs: pip install policyengine, policyengine[uk], policyengine[us], and uv pip install -e .[dev] for development - Remove backtick code styling from "Simulation class" in Statement of Need - Reorder State of the Field: US models first, then UK models Co-Authored-By: Claude Opus 4.6 --- paper.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/paper.md b/paper.md index 8c4ddd12..97cadd22 100644 --- a/paper.md +++ b/paper.md @@ -36,11 +36,11 @@ PolicyEngine is an open-source, multi-country microsimulation framework for tax- Tax-benefit microsimulation models are essential tools for evaluating the distributional impacts of fiscal policy. Governments, think tanks, and researchers rely on such models to estimate how policy reforms affect household incomes, poverty rates, and government budgets. Existing microsimulation models face significant access barriers. UKMOD [@sutherland2014euromod], maintained by the University of Essex, requires a formal application and institutional affiliation to access. TAXSIM [@taxsim] at NBER computes only tax liabilities and omits the benefit side of the ledger entirely. The models maintained by HM Treasury, the Institute for Fiscal Studies, the Congressional Budget Office, and the Tax Policy Center are fully proprietary and unavailable to external researchers. None of these tools provide a unified framework for cross-country comparison. -PolicyEngine addresses these gaps by providing a fully open-source, pip-installable microsimulation framework that spans multiple countries under a consistent API. Researchers can install the package with `pip install policyengine` (or selectively with `pip install policyengine[uk]` or `pip install policyengine[us]`), supply their own microdata or use built-in datasets, and compute the impact of current law or hypothetical policy reforms on any household or a full national population. The `Simulation` class supports individual household analysis, while population-level aggregate analysis uses representative survey datasets with calibrated weights. The framework's open development on GitHub enables external validation, community contributions, and reproducible policy analysis across countries. +PolicyEngine addresses these gaps by providing a fully open-source, pip-installable microsimulation framework that spans multiple countries under a consistent API. Researchers can install the full package with `pip install policyengine`, or install country-specific models individually with `pip install policyengine[uk]` or `pip install policyengine[us]`. For development, the repository supports installation from source via `uv pip install -e .[dev]`. Users can supply their own microdata or use built-in datasets, and compute the impact of current law or hypothetical policy reforms on any household or a full national population. The Simulation class supports individual household analysis, while population-level aggregate analysis uses representative survey datasets with calibrated weights. The framework's open development on GitHub enables external validation, community contributions, and reproducible policy analysis across countries. # State of the Field -In the UK, the primary microsimulation models include UKMOD, maintained by the Centre for Microsimulation and Policy Analysis at the Institute for Social and Economic Research (ISER), University of Essex, as part of the EUROMOD family [@sutherland2014euromod], and models maintained internally by HM Treasury and the Institute for Fiscal Studies. In the US, TAXSIM [@taxsim] at the National Bureau of Economic Research provides tax calculations, while the Tax Policy Center and Congressional Budget Office maintain proprietary models. OpenFisca [@openfisca] pioneered the open-source approach to tax-benefit microsimulation in France. PolicyEngine originated from OpenFisca and builds on this foundation through the PolicyEngine Core framework [@policyengine_core]. +In the US, TAXSIM [@taxsim] at the National Bureau of Economic Research provides tax calculations, while the Tax Policy Center and Congressional Budget Office maintain proprietary models. In the UK, the primary microsimulation models include UKMOD, maintained by the Centre for Microsimulation and Policy Analysis at the Institute for Social and Economic Research (ISER), University of Essex, as part of the EUROMOD family [@sutherland2014euromod], and models maintained internally by HM Treasury and the Institute for Fiscal Studies. OpenFisca [@openfisca] pioneered the open-source approach to tax-benefit microsimulation in France. PolicyEngine originated from OpenFisca and builds on this foundation through the PolicyEngine Core framework [@policyengine_core]. PolicyEngine differentiates itself in several ways: From 2c3ff23fa7201306510f992f0046041991e6e60b Mon Sep 17 00:00:00 2001 From: Vahid Ahmadi Date: Mon, 23 Mar 2026 12:42:24 +0000 Subject: [PATCH 09/22] Merge framework bullets, add US program count, remove web app bullet - Merge "Multi-country" and "Fully open-source" bullets into one - Add specific US program count (over 11) with full list: federal income tax, payroll taxes, state income taxes, SNAP, SSI, Social Security, Medicare, Medicaid, EITC, CTC, and TANF - Remove "Integration with the PolicyEngine web application" bullet Co-Authored-By: Claude Opus 4.6 --- paper.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/paper.md b/paper.md index 97cadd22..f08f241f 100644 --- a/paper.md +++ b/paper.md @@ -44,10 +44,8 @@ In the US, TAXSIM [@taxsim] at the National Bureau of Economic Research provides PolicyEngine differentiates itself in several ways: -- **Multi-country, unified framework**: a single Python package supports the UK and US tax-benefit systems, enabling cross-country analysis with a consistent API. -- **Fully open-source and pip-installable**: users can install and run the model without institutional access or license fees. -- **Comprehensive program coverage**: the UK model covers over 37 programs spanning income tax, National Insurance, Universal Credit, Child Benefit, Council Tax, and devolved policies in Scotland and Wales; the US model covers federal income tax, payroll taxes, SNAP, SSI, Medicaid, TANF, and state-level tax systems. -- **Integration with the PolicyEngine web application**: the models power an interactive web interface at [policyengine.org](https://policyengine.org) that allows non-technical users to explore policy reforms in both countries. +- **Multi-country, open-source framework**: a single pip-installable Python package supports the US and UK tax-benefit systems under a consistent API, with no institutional access or license fees required. +- **Comprehensive program coverage**: the US model covers over 11 programs including federal income tax, payroll taxes, state income taxes, SNAP, SSI, Social Security, Medicare, Medicaid, EITC, CTC, and TANF; the UK model covers over 37 programs spanning income tax, National Insurance, Universal Credit, Child Benefit, Council Tax, and devolved policies in Scotland and Wales. - **Programmatic reform API**: users can define hypothetical policy reforms as parameter dictionaries with date-bound values, compose multiple reforms, or implement structural changes — and evaluate their impact on any household or the full population. - **Distributional analysis outputs**: built-in output classes compute decile impacts, intra-decile distributions, poverty rates, inequality metrics (Gini coefficients), budgetary impacts, and regional breakdowns (UK parliamentary constituencies, US congressional districts). - **Labor supply dynamics**: behavioral response modules model both intensive margin (hours adjustment) and extensive margin (participation) responses to policy changes. From 06035476ea567d9f8577f20191e877b2e8cad26f Mon Sep 17 00:00:00 2001 From: Vahid Ahmadi Date: Mon, 23 Mar 2026 12:44:25 +0000 Subject: [PATCH 10/22] Merge analysis bullets, use .py package name, remove 10ds-microsim - Merge "Distributional analysis outputs" and "Labor supply dynamics" into single "Economic analysis" bullet - Change "policyengine package" to "policyengine.py package" - Delete "All code examples in the documentation are automatically re-executed" sentence - Remove "built 10ds-microsim on top of" reference, simplify to "used PolicyEngine" Co-Authored-By: Claude Opus 4.6 --- paper.md | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/paper.md b/paper.md index f08f241f..24bdf2f7 100644 --- a/paper.md +++ b/paper.md @@ -47,12 +47,11 @@ PolicyEngine differentiates itself in several ways: - **Multi-country, open-source framework**: a single pip-installable Python package supports the US and UK tax-benefit systems under a consistent API, with no institutional access or license fees required. - **Comprehensive program coverage**: the US model covers over 11 programs including federal income tax, payroll taxes, state income taxes, SNAP, SSI, Social Security, Medicare, Medicaid, EITC, CTC, and TANF; the UK model covers over 37 programs spanning income tax, National Insurance, Universal Credit, Child Benefit, Council Tax, and devolved policies in Scotland and Wales. - **Programmatic reform API**: users can define hypothetical policy reforms as parameter dictionaries with date-bound values, compose multiple reforms, or implement structural changes — and evaluate their impact on any household or the full population. -- **Distributional analysis outputs**: built-in output classes compute decile impacts, intra-decile distributions, poverty rates, inequality metrics (Gini coefficients), budgetary impacts, and regional breakdowns (UK parliamentary constituencies, US congressional districts). -- **Labor supply dynamics**: behavioral response modules model both intensive margin (hours adjustment) and extensive margin (participation) responses to policy changes. +- **Economic analysis**: built-in output classes compute decile impacts, intra-decile distributions, poverty rates, inequality metrics (Gini coefficients), budgetary impacts, and regional breakdowns (UK parliamentary constituencies, US congressional districts). Behavioral response modules model both intensive margin (hours adjustment) and extensive margin (participation) labor supply responses to policy changes. # Software Design -PolicyEngine is built on the PolicyEngine Core framework, which extends the OpenFisca microsimulation engine. The `policyengine` package is organized as a country-agnostic layer with the following core components: +PolicyEngine is built on the PolicyEngine Core framework, which extends the OpenFisca microsimulation engine. The `policyengine.py` package is organized as a country-agnostic layer with the following core components: **Simulation and Dataset** classes provide the primary interface. The `Simulation` class executes tax-benefit models on datasets, applying policy reforms and caching results. The `Dataset` class represents microdata containing entity-level data (persons, households, tax units) with survey weights and entity relationships. Country-specific datasets — the Enhanced Family Resources Survey for the UK and the Current Population Survey for the US — are loaded from companion data repositories [@pe_uk_data; @pe_us_data]. @@ -66,13 +65,11 @@ PolicyEngine is built on the PolicyEngine Core framework, which extends the Open The country-specific models (`policyengine-uk` and `policyengine-us`) define parameters as YAML files organized by government department and indexed by time period, and implement variables as Python classes specifying computation logic, entity scope, and time period. The UK model contains over 700 variable definitions and the US model covers federal and state-level tax and benefit programs. -All code examples in the documentation are automatically re-executed with each new release to ensure correctness. - # Research Impact Statement PolicyEngine has demonstrated research impact across government, academia, and policy research in both the UK and US. -**Government adoption.** In 2025–2026, co-author Nikhil Woodruff served as an Innovation Fellow with 10DS — the data science team at 10 Downing Street — adapting PolicyEngine for UK government use [@ghenis2026no10]. The 10DS team built `10ds-microsim` on top of PolicyEngine to rapidly estimate the impacts of policy reforms on living standards, local area incomes, and distributional outcomes. HM Treasury has also formally documented PolicyEngine in the UK Algorithmic Transparency Recording Standard, describing it as a model their Personal Tax, Welfare and Pensions team is exploring for "advising policymakers on the impact of tax and welfare measures on households" [@hmt2024atrs]. In the US, PolicyEngine collaborated with the Better Government Lab — a joint center of the Georgetown McCourt School of Public Policy and the University of Michigan Ford School of Public Policy — on benefits eligibility research [@pe_bgl]. +**Government adoption.** In 2025–2026, co-author Nikhil Woodruff served as an Innovation Fellow with 10DS — the data science team at 10 Downing Street — adapting PolicyEngine for UK government use [@ghenis2026no10]. The 10DS team used PolicyEngine to rapidly estimate the impacts of policy reforms on living standards, local area incomes, and distributional outcomes. HM Treasury has also formally documented PolicyEngine in the UK Algorithmic Transparency Recording Standard, describing it as a model their Personal Tax, Welfare and Pensions team is exploring for "advising policymakers on the impact of tax and welfare measures on households" [@hmt2024atrs]. In the US, PolicyEngine collaborated with the Better Government Lab — a joint center of the Georgetown McCourt School of Public Policy and the University of Michigan Ford School of Public Policy — on benefits eligibility research [@pe_bgl]. **Parliamentary and congressional citation.** In February 2026, Baroness Altmann referenced PolicyEngine and its interactive dashboard during House of Lords Grand Committee debate on the National Insurance Contributions (Employer Pensions Contributions) Bill, noting that Commons Library research using PolicyEngine provided "a useful picture of the distributional effects of raising the contribution limit" across income deciles [@hansard2026nic]. In the US, Representatives Morgan McGarvey and Bonnie Watson Coleman cited PolicyEngine's analysis in introducing the Young Adult Tax Credit Act (H.R.7547), stating that "according to the model at PolicyEngine, 22% of all Americans would see an increase in their household income under this program, and it would lift over 4 million Americans out of poverty" [@mcgarvey2024yatc]. From 452862ebd95622a5dbec3f07f74ca9bced917cc6 Mon Sep 17 00:00:00 2001 From: Vahid Ahmadi Date: Mon, 23 Mar 2026 12:53:47 +0000 Subject: [PATCH 11/22] Add US academic/policy citations and US funders Academic research: - USC/HHS collaboration on effective marginal tax rates (Unrath) - DeBacker behavioral response modeling (Arnold Ventures) - Beeck Center rules-as-code reports (2023, 2025) Policy research: - DC District Child Tax Credit (first local CTC in US history) - Senator Booker Keep Your Pay Act calculator on Senate website - Reorder US citations before UK in both sections Acknowledgements: - Add US funders: Arnold Ventures, NEO Philanthropy ($200K grant), Gerald Huff Fund for Humanity, NSF POSE program - Keep Nuffield Foundation for UK Co-Authored-By: Claude Opus 4.6 --- paper.bib | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ paper.md | 6 +++--- 2 files changed, 57 insertions(+), 3 deletions(-) diff --git a/paper.bib b/paper.bib index 5b586fd4..2e1bf71c 100644 --- a/paper.bib +++ b/paper.bib @@ -164,6 +164,60 @@ @online{pe_bgl url={https://www.policyengine.org/us/research/policyengine-better-government-lab-collaboration} } +@online{pe_usc, + title={{PolicyEngine} and {USC} Collaboration on Effective Marginal Tax Rates}, + author={Ghenis, Max}, + year={2024}, + url={https://www.policyengine.org/us/research/policyengine-usc-collaboration} +} + +@techreport{beeck2023rac, + title={Exploring Rules Communication: Moving Beyond Static Documents to Standardized Code for {U.S.} Public Benefits Programs}, + author={Kennan, Ariel and Singh, Lisa and Dammholz, Bianca and Sengupta, Keya and Yi, Jason}, + institution={Beeck Center for Social Impact and Innovation, Georgetown University}, + year={2023}, + month={6}, + url={https://beeckcenter.georgetown.edu/report/exploring-rules-communication-moving-beyond-static-documents-to-standardized-code-for-u-s-public-benefits-programs/} +} + +@techreport{beeck2025ai, + title={{AI}-Powered Rules as Code: Experiments with Public Benefits Policy}, + author={Kennan, Ariel and Garcia Guevara, Alessandra and Goodman, Jason}, + institution={Beeck Center for Social Impact and Innovation, Georgetown University}, + year={2025}, + month={3}, + url={https://beeckcenter.georgetown.edu/report/ai-powered-rules-as-code-experiments-with-public-benefits-policy/} +} + +@online{pe_dctc, + title={The {District Child Tax Credit} Proposal}, + author={{PolicyEngine}}, + year={2023}, + url={https://blog.policyengine.org/the-district-child-tax-credit-proposal-5c70e72a4001} +} + +@online{pe_keepyourpay, + title={Senator {Booker}'s {Keep Your Pay Act}}, + author={{PolicyEngine}}, + year={2026}, + url={https://www.policyengine.org/us/keep-your-pay-act} +} + +@misc{arnold_ventures, + title={Public Finance Program}, + author={{Arnold Ventures}}, + year={2023}, + note={Grant to PolicyEngine for tax-benefit microsimulation development}, + url={https://www.arnoldventures.org/work/public-finance} +} + +@online{neo_philanthropy, + title={{NEO Philanthropy} Awards \$200,000 Grant to {PolicyEngine}}, + author={Ghenis, Max}, + year={2024}, + url={https://policyengine.org/us/research/neo-philanthropy} +} + @software{claude2025, title={Claude}, author={{Anthropic}}, diff --git a/paper.md b/paper.md index 24bdf2f7..0d8c93bc 100644 --- a/paper.md +++ b/paper.md @@ -75,13 +75,13 @@ PolicyEngine has demonstrated research impact across government, academia, and p **Institutional partnership.** PolicyEngine and the National Bureau of Economic Research (NBER) signed a formal memorandum of understanding for PolicyEngine to develop an open-source TAXSIM emulator — a drop-in replacement for TAXSIM-35 powered by PolicyEngine's microsimulation engine, with support for Python, R, Stata, SAS, and Julia [@pe_nber_mou]. Co-author Max Ghenis and Jason DeBacker (University of South Carolina) presented the Enhanced Current Population Survey methodology at the 117th Annual Conference on Taxation of the National Tax Association [@ghenis2024nta]. -**Academic research.** Youngman et al. [@youngman2026carbon] cite PolicyEngine UK's microdata methodology in their agent-based macroeconomic model for the UK's Seventh Carbon Budget, developed at the Institute for New Economic Thinking at Oxford in partnership with the Department for Energy Security and Net Zero. +**Academic research.** In the US, Matt Unrath (University of Southern California) is using PolicyEngine in a study of effective marginal and average tax rates facing American families, funded by the US Department of Health and Human Services through the Institute for Research on Poverty [@pe_usc]. Jason DeBacker (University of South Carolina) has contributed to behavioral response modeling in PolicyEngine US with support from Arnold Ventures [@ghenis2024nta]. The Beeck Center for Social Impact and Innovation at Georgetown University featured PolicyEngine as a project spotlight in their research on rules-as-code for US public benefits programs [@beeck2023rac], and documented two Policy2Code challenge teams building on PolicyEngine in their 2025 report on AI-powered rules as code [@beeck2025ai]. In the UK, Youngman et al. [@youngman2026carbon] cite PolicyEngine UK's microdata methodology in their agent-based macroeconomic model for the UK's Seventh Carbon Budget, developed at the Institute for New Economic Thinking at Oxford in partnership with the Department for Energy Security and Net Zero. -**Policy research.** The National Institute of Economic and Social Research (NIESR) used PolicyEngine in their UK Living Standards Review 2025, acknowledging "the expertise and generosity of Nikhil Woodruff and Vahid Ahmadi in helping us maximise the benefits of using PolicyEngine" [@niesr2025living]. The Institute of Economic Affairs has published reports using PolicyEngine's microsimulation model to analyze employer National Insurance contributions [@woodruff2024nic] and the distributional impact of 2025–2026 tax changes on UK households [@woodruff2025tax]. In the US, the Niskanen Center used PolicyEngine to estimate the cost and distributional impacts of Child Tax Credit reform options, becoming the first external organization to leverage PolicyEngine's enhanced US microdata [@mccabe2024ctc]. +**Policy research.** In the US, the Niskanen Center used PolicyEngine to estimate the cost and distributional impacts of Child Tax Credit reform options, becoming the first external organization to leverage PolicyEngine's enhanced US microdata [@mccabe2024ctc]. DC Councilmember Zachary Parker cited PolicyEngine's analysis when introducing the District Child Tax Credit Amendment Act of 2023, which became the first local child tax credit in US history when it passed in September 2024 [@pe_dctc]. Senator Cory Booker's office embedded a PolicyEngine-built calculator on his official Senate website for constituents to model the impact of the Keep Your Pay Act on their household taxes [@pe_keepyourpay]. In the UK, the National Institute of Economic and Social Research (NIESR) used PolicyEngine in their UK Living Standards Review 2025, acknowledging "the expertise and generosity of Nikhil Woodruff and Vahid Ahmadi in helping us maximise the benefits of using PolicyEngine" [@niesr2025living]. The Institute of Economic Affairs has published reports using PolicyEngine's microsimulation model to analyze employer National Insurance contributions [@woodruff2024nic] and the distributional impact of 2025–2026 tax changes on UK households [@woodruff2025tax]. # Acknowledgements -This work was supported by the Nuffield Foundation since September 2024 [@nuffield2024grant]. The Nuffield Foundation had no involvement in the design, development, or content of this software or paper. +This work was supported in the US by Arnold Ventures [@arnold_ventures], NEO Philanthropy [@neo_philanthropy], the Gerald Huff Fund for Humanity, and the National Science Foundation (NSF POSE program), and in the UK by the Nuffield Foundation since September 2024 [@nuffield2024grant]. These funders had no involvement in the design, development, or content of this software or paper. We acknowledge contributions from all PolicyEngine contributors, and thank the OpenFisca community for the foundational microsimulation framework [@openfisca]. We acknowledge the UKMOD team at the Institute for Social and Economic Research (ISER), University of Essex, for their contributions to model descriptions [@sutherland2014euromod]. We also acknowledge the UK Data Service and the Department for Work and Pensions for providing access to the Family Resources Survey, and the US Census Bureau for the Current Population Survey. From 3dafc7e567eba54a436d6eab82b9b1e117d59f63 Mon Sep 17 00:00:00 2001 From: Vahid Ahmadi Date: Mon, 23 Mar 2026 12:55:34 +0000 Subject: [PATCH 12/22] Remove all code-style backtick formatting from prose text Co-Authored-By: Claude Opus 4.6 --- paper.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/paper.md b/paper.md index 0d8c93bc..29222bd5 100644 --- a/paper.md +++ b/paper.md @@ -30,13 +30,13 @@ bibliography: paper.bib # Summary -PolicyEngine is an open-source, multi-country microsimulation framework for tax-benefit policy analysis, implemented in Python. The `policyengine` package provides a unified interface for running policy simulations, analyzing distributional impacts, and visualizing results across the US and the UK. It delegates country-specific tax-benefit calculations to dedicated country packages (`policyengine-uk` and `policyengine-us`) while providing shared abstractions for simulations, datasets, parametric reforms, and output analysis. The framework supports both individual household simulations and population-wide microsimulations using representative survey microdata with calibrated weights. PolicyEngine powers an interactive web application at [policyengine.org](https://policyengine.org) that enables non-technical users to explore policy reforms in both countries. +PolicyEngine is an open-source, multi-country microsimulation framework for tax-benefit policy analysis, implemented in Python. The policyengine package provides a unified interface for running policy simulations, analyzing distributional impacts, and visualizing results across the US and the UK. It delegates country-specific tax-benefit calculations to dedicated country packages (policyengine-uk and policyengine-us) while providing shared abstractions for simulations, datasets, parametric reforms, and output analysis. The framework supports both individual household simulations and population-wide microsimulations using representative survey microdata with calibrated weights. PolicyEngine powers an interactive web application at [policyengine.org](https://policyengine.org) that enables non-technical users to explore policy reforms in both countries. # Statement of Need Tax-benefit microsimulation models are essential tools for evaluating the distributional impacts of fiscal policy. Governments, think tanks, and researchers rely on such models to estimate how policy reforms affect household incomes, poverty rates, and government budgets. Existing microsimulation models face significant access barriers. UKMOD [@sutherland2014euromod], maintained by the University of Essex, requires a formal application and institutional affiliation to access. TAXSIM [@taxsim] at NBER computes only tax liabilities and omits the benefit side of the ledger entirely. The models maintained by HM Treasury, the Institute for Fiscal Studies, the Congressional Budget Office, and the Tax Policy Center are fully proprietary and unavailable to external researchers. None of these tools provide a unified framework for cross-country comparison. -PolicyEngine addresses these gaps by providing a fully open-source, pip-installable microsimulation framework that spans multiple countries under a consistent API. Researchers can install the full package with `pip install policyengine`, or install country-specific models individually with `pip install policyengine[uk]` or `pip install policyengine[us]`. For development, the repository supports installation from source via `uv pip install -e .[dev]`. Users can supply their own microdata or use built-in datasets, and compute the impact of current law or hypothetical policy reforms on any household or a full national population. The Simulation class supports individual household analysis, while population-level aggregate analysis uses representative survey datasets with calibrated weights. The framework's open development on GitHub enables external validation, community contributions, and reproducible policy analysis across countries. +PolicyEngine addresses these gaps by providing a fully open-source, pip-installable microsimulation framework that spans multiple countries under a consistent API. Researchers can install the full package with pip install policyengine, or install country-specific models individually with pip install policyengine[uk] or pip install policyengine[us]. For development, the repository supports installation from source via uv pip install -e .[dev]. Users can supply their own microdata or use built-in datasets, and compute the impact of current law or hypothetical policy reforms on any household or a full national population. The Simulation class supports individual household analysis, while population-level aggregate analysis uses representative survey datasets with calibrated weights. The framework's open development on GitHub enables external validation, community contributions, and reproducible policy analysis across countries. # State of the Field @@ -51,19 +51,19 @@ PolicyEngine differentiates itself in several ways: # Software Design -PolicyEngine is built on the PolicyEngine Core framework, which extends the OpenFisca microsimulation engine. The `policyengine.py` package is organized as a country-agnostic layer with the following core components: +PolicyEngine is built on the PolicyEngine Core framework, which extends the OpenFisca microsimulation engine. The policyengine.py package is organized as a country-agnostic layer with the following core components: -**Simulation and Dataset** classes provide the primary interface. The `Simulation` class executes tax-benefit models on datasets, applying policy reforms and caching results. The `Dataset` class represents microdata containing entity-level data (persons, households, tax units) with survey weights and entity relationships. Country-specific datasets — the Enhanced Family Resources Survey for the UK and the Current Population Survey for the US — are loaded from companion data repositories [@pe_uk_data; @pe_us_data]. +**Simulation and Dataset** classes provide the primary interface. The Simulation class executes tax-benefit models on datasets, applying policy reforms and caching results. The Dataset class represents microdata containing entity-level data (persons, households, tax units) with survey weights and entity relationships. Country-specific datasets — the Enhanced Family Resources Survey for the UK and the Current Population Survey for the US — are loaded from companion data repositories [@pe_uk_data; @pe_us_data]. -**Policy and Parameter** classes define the reform system. The `Policy` class bundles parametric reforms that modify tax-benefit system parameters. The `Parameter` class represents system settings (tax rates, benefit thresholds, income limits), while `ParameterValue` supports time-bound values, enabling phased policy implementations across multiple years. +**Policy and Parameter** classes define the reform system. The Policy class bundles parametric reforms that modify tax-benefit system parameters. The Parameter class represents system settings (tax rates, benefit thresholds, income limits), while ParameterValue supports time-bound values, enabling phased policy implementations across multiple years. -**Variable and TaxBenefitModelVersion** classes encapsulate country-specific logic. Each `Variable` is a computed quantity (income tax, benefit entitlement) with entity mappings. The `TaxBenefitModelVersion` class represents a versioned country model, storing variables, parameters, and execution logic. The framework uses `importlib` to conditionally import country packages, allowing graceful operation when only one country is installed. +**Variable and TaxBenefitModelVersion** classes encapsulate country-specific logic. Each Variable is a computed quantity (income tax, benefit entitlement) with entity mappings. The TaxBenefitModelVersion class represents a versioned country model, storing variables, parameters, and execution logic. The framework uses importlib to conditionally import country packages, allowing graceful operation when only one country is installed. -**Output classes** provide standardized analysis. These include `Aggregate` for sum, mean, and count statistics; `DecileImpact` and `IntraDecileImpact` for distributional analysis by income decile; `Poverty` and `Inequality` for welfare metrics; `ChangeAggregate` for baseline-versus-reform comparisons; and region-specific classes such as `ConstituencyImpact` (UK) and `CongressionalDistrictImpact` (US). All output classes produce PolicyEngine-branded Plotly visualizations. +**Output classes** provide standardized analysis. These include Aggregate for sum, mean, and count statistics; DecileImpact and IntraDecileImpact for distributional analysis by income decile; Poverty and Inequality for welfare metrics; ChangeAggregate for baseline-versus-reform comparisons; and region-specific classes such as ConstituencyImpact (UK) and CongressionalDistrictImpact (US). All output classes produce PolicyEngine-branded Plotly visualizations. **Region and RegionRegistry** classes manage geographic scope, enabling sub-national analysis for regions within each country. -The country-specific models (`policyengine-uk` and `policyengine-us`) define parameters as YAML files organized by government department and indexed by time period, and implement variables as Python classes specifying computation logic, entity scope, and time period. The UK model contains over 700 variable definitions and the US model covers federal and state-level tax and benefit programs. +The country-specific models (policyengine-uk and policyengine-us) define parameters as YAML files organized by government department and indexed by time period, and implement variables as Python classes specifying computation logic, entity scope, and time period. The UK model contains over 700 variable definitions and the US model covers federal and state-level tax and benefit programs. # Research Impact Statement From 51db607cba36e35be1038a313513f08bfc3d14f5 Mon Sep 17 00:00:00 2001 From: Vahid Ahmadi Date: Mon, 23 Mar 2026 12:56:48 +0000 Subject: [PATCH 13/22] Remove 'Multi-Country' from paper title Co-Authored-By: Claude Opus 4.6 --- paper.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/paper.md b/paper.md index 29222bd5..40bbdf90 100644 --- a/paper.md +++ b/paper.md @@ -1,5 +1,5 @@ --- -title: "PolicyEngine: An Open-Source Multi-Country Tax-Benefit Microsimulation Framework" +title: "PolicyEngine: An Open-Source Tax-Benefit Microsimulation Framework" tags: - Python - microsimulation From 0964bd54857e578f8089ce137b7a90b73535a9d9 Mon Sep 17 00:00:00 2001 From: Vahid Ahmadi Date: Mon, 23 Mar 2026 13:33:29 +0000 Subject: [PATCH 14/22] Remove 'Open-Source' from paper title Co-Authored-By: Claude Opus 4.6 --- paper.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/paper.md b/paper.md index 40bbdf90..9ff29ee4 100644 --- a/paper.md +++ b/paper.md @@ -1,5 +1,5 @@ --- -title: "PolicyEngine: An Open-Source Tax-Benefit Microsimulation Framework" +title: "PolicyEngine: A Tax-Benefit Microsimulation Framework" tags: - Python - microsimulation From ba4c1070a022af7dc21a9e827dd15faa0368b0eb Mon Sep 17 00:00:00 2001 From: Vahid Ahmadi Date: Mon, 23 Mar 2026 13:38:40 +0000 Subject: [PATCH 15/22] Remove dev install command from Statement of Need Co-Authored-By: Claude Opus 4.6 --- paper.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/paper.md b/paper.md index 9ff29ee4..8db0e328 100644 --- a/paper.md +++ b/paper.md @@ -36,7 +36,7 @@ PolicyEngine is an open-source, multi-country microsimulation framework for tax- Tax-benefit microsimulation models are essential tools for evaluating the distributional impacts of fiscal policy. Governments, think tanks, and researchers rely on such models to estimate how policy reforms affect household incomes, poverty rates, and government budgets. Existing microsimulation models face significant access barriers. UKMOD [@sutherland2014euromod], maintained by the University of Essex, requires a formal application and institutional affiliation to access. TAXSIM [@taxsim] at NBER computes only tax liabilities and omits the benefit side of the ledger entirely. The models maintained by HM Treasury, the Institute for Fiscal Studies, the Congressional Budget Office, and the Tax Policy Center are fully proprietary and unavailable to external researchers. None of these tools provide a unified framework for cross-country comparison. -PolicyEngine addresses these gaps by providing a fully open-source, pip-installable microsimulation framework that spans multiple countries under a consistent API. Researchers can install the full package with pip install policyengine, or install country-specific models individually with pip install policyengine[uk] or pip install policyengine[us]. For development, the repository supports installation from source via uv pip install -e .[dev]. Users can supply their own microdata or use built-in datasets, and compute the impact of current law or hypothetical policy reforms on any household or a full national population. The Simulation class supports individual household analysis, while population-level aggregate analysis uses representative survey datasets with calibrated weights. The framework's open development on GitHub enables external validation, community contributions, and reproducible policy analysis across countries. +PolicyEngine addresses these gaps by providing a fully open-source, pip-installable microsimulation framework that spans multiple countries under a consistent API. Researchers can install the full package with pip install policyengine, or install country-specific models individually with pip install policyengine[uk] or pip install policyengine[us]. Users can supply their own microdata or use built-in datasets, and compute the impact of current law or hypothetical policy reforms on any household or a full national population. The Simulation class supports individual household analysis, while population-level aggregate analysis uses representative survey datasets with calibrated weights. The framework's open development on GitHub enables external validation, community contributions, and reproducible policy analysis across countries. # State of the Field From 7752427642b846b4b4f010969491e1a148f038fc Mon Sep 17 00:00:00 2001 From: Vahid Ahmadi Date: Mon, 23 Mar 2026 13:46:53 +0000 Subject: [PATCH 16/22] Add Atlanta Fed PRD, NSF POSE award; use external reference URLs - Add Atlanta Fed Policy Rules Database MOU for multi-model validation in Institutional partnership section - Add NSF POSE Phase I award (2518372, $299,974) with nsf.gov URL - Update NBER TAXSIM MOU reference to use taxsim.nber.org instead of policyengine.org link - Update Arnold Ventures note to mention congressional district focus - Use external/official URLs for all references where available Co-Authored-By: Claude Opus 4.6 --- paper.bib | 25 +++++++++++++++++++++---- paper.md | 4 ++-- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/paper.bib b/paper.bib index 2e1bf71c..ade0daca 100644 --- a/paper.bib +++ b/paper.bib @@ -133,10 +133,11 @@ @misc{mcgarvey2024yatc } @online{pe_nber_mou, - title={{PolicyEngine} and {NBER} Sign {MOU} for {TAXSIM} Emulator Development}, - author={Ghenis, Max}, + title={{TAXSIM} -- {National Bureau of Economic Research}}, + author={Feenberg, Daniel R.}, year={2024}, - url={https://www.policyengine.org/us/research/policyengine-nber-mou-taxsim} + note={References PolicyEngine as successor to TAXSIM under a formal memorandum of understanding}, + url={https://taxsim.nber.org/} } @misc{ghenis2024nta, @@ -207,10 +208,18 @@ @misc{arnold_ventures title={Public Finance Program}, author={{Arnold Ventures}}, year={2023}, - note={Grant to PolicyEngine for tax-benefit microsimulation development}, + note={Grant to PolicyEngine for congressional district-level policy analysis}, url={https://www.arnoldventures.org/work/public-finance} } +@misc{nsf_pose, + title={{POSE}: Phase {I}: {PolicyEngine} -- Advancing Public Policy Analysis}, + author={{National Science Foundation}}, + year={2025}, + note={Award 2518372. PI: Max Ghenis, PSL Foundation. \$299,974}, + url={https://www.nsf.gov/awardsearch/showAward?AWD_ID=2518372} +} + @online{neo_philanthropy, title={{NEO Philanthropy} Awards \$200,000 Grant to {PolicyEngine}}, author={Ghenis, Max}, @@ -218,6 +227,14 @@ @online{neo_philanthropy url={https://policyengine.org/us/research/neo-philanthropy} } +@misc{atlanta_fed_prd, + title={Policy Rules Database}, + author={{Federal Reserve Bank of Atlanta}}, + year={2021}, + note={Collaboration between the Atlanta Fed, National Center for Children in Poverty, and PolicyEngine for multi-model validation}, + url={https://www.atlantafed.org/economic-mobility-and-resilience/advancing-careers-for-low-income-families/policy-rules-database} +} + @software{claude2025, title={Claude}, author={{Anthropic}}, diff --git a/paper.md b/paper.md index 8db0e328..2c9b3f2b 100644 --- a/paper.md +++ b/paper.md @@ -73,7 +73,7 @@ PolicyEngine has demonstrated research impact across government, academia, and p **Parliamentary and congressional citation.** In February 2026, Baroness Altmann referenced PolicyEngine and its interactive dashboard during House of Lords Grand Committee debate on the National Insurance Contributions (Employer Pensions Contributions) Bill, noting that Commons Library research using PolicyEngine provided "a useful picture of the distributional effects of raising the contribution limit" across income deciles [@hansard2026nic]. In the US, Representatives Morgan McGarvey and Bonnie Watson Coleman cited PolicyEngine's analysis in introducing the Young Adult Tax Credit Act (H.R.7547), stating that "according to the model at PolicyEngine, 22% of all Americans would see an increase in their household income under this program, and it would lift over 4 million Americans out of poverty" [@mcgarvey2024yatc]. -**Institutional partnership.** PolicyEngine and the National Bureau of Economic Research (NBER) signed a formal memorandum of understanding for PolicyEngine to develop an open-source TAXSIM emulator — a drop-in replacement for TAXSIM-35 powered by PolicyEngine's microsimulation engine, with support for Python, R, Stata, SAS, and Julia [@pe_nber_mou]. Co-author Max Ghenis and Jason DeBacker (University of South Carolina) presented the Enhanced Current Population Survey methodology at the 117th Annual Conference on Taxation of the National Tax Association [@ghenis2024nta]. +**Institutional partnership.** PolicyEngine and the National Bureau of Economic Research (NBER) signed a formal memorandum of understanding for PolicyEngine to develop an open-source TAXSIM emulator — a drop-in replacement for TAXSIM-35 powered by PolicyEngine's microsimulation engine, with support for Python, R, Stata, SAS, and Julia [@pe_nber_mou]. The Federal Reserve Bank of Atlanta independently validates PolicyEngine's model through its Policy Rules Database, conducting three-way comparisons between PolicyEngine, TAXSIM, and the Fed's own models [@atlanta_fed_prd]. Co-author Max Ghenis and Jason DeBacker (University of South Carolina) presented the Enhanced Current Population Survey methodology at the 117th Annual Conference on Taxation of the National Tax Association [@ghenis2024nta]. **Academic research.** In the US, Matt Unrath (University of Southern California) is using PolicyEngine in a study of effective marginal and average tax rates facing American families, funded by the US Department of Health and Human Services through the Institute for Research on Poverty [@pe_usc]. Jason DeBacker (University of South Carolina) has contributed to behavioral response modeling in PolicyEngine US with support from Arnold Ventures [@ghenis2024nta]. The Beeck Center for Social Impact and Innovation at Georgetown University featured PolicyEngine as a project spotlight in their research on rules-as-code for US public benefits programs [@beeck2023rac], and documented two Policy2Code challenge teams building on PolicyEngine in their 2025 report on AI-powered rules as code [@beeck2025ai]. In the UK, Youngman et al. [@youngman2026carbon] cite PolicyEngine UK's microdata methodology in their agent-based macroeconomic model for the UK's Seventh Carbon Budget, developed at the Institute for New Economic Thinking at Oxford in partnership with the Department for Energy Security and Net Zero. @@ -81,7 +81,7 @@ PolicyEngine has demonstrated research impact across government, academia, and p # Acknowledgements -This work was supported in the US by Arnold Ventures [@arnold_ventures], NEO Philanthropy [@neo_philanthropy], the Gerald Huff Fund for Humanity, and the National Science Foundation (NSF POSE program), and in the UK by the Nuffield Foundation since September 2024 [@nuffield2024grant]. These funders had no involvement in the design, development, or content of this software or paper. +This work was supported in the US by Arnold Ventures [@arnold_ventures], NEO Philanthropy [@neo_philanthropy], the Gerald Huff Fund for Humanity, and the National Science Foundation (NSF POSE Phase I, Award 2518372) [@nsf_pose], and in the UK by the Nuffield Foundation since September 2024 [@nuffield2024grant]. These funders had no involvement in the design, development, or content of this software or paper. We acknowledge contributions from all PolicyEngine contributors, and thank the OpenFisca community for the foundational microsimulation framework [@openfisca]. We acknowledge the UKMOD team at the Institute for Social and Economic Research (ISER), University of Essex, for their contributions to model descriptions [@sutherland2014euromod]. We also acknowledge the UK Data Service and the Department for Work and Pensions for providing access to the Family Resources Survey, and the US Census Bureau for the Current Population Survey. From e01d3ae472ac2037a4d6abb1f2d179899569dffd Mon Sep 17 00:00:00 2001 From: Vahid Ahmadi Date: Mon, 23 Mar 2026 13:49:15 +0000 Subject: [PATCH 17/22] Reorder all sections: US before UK throughout Consistently place US content before UK content in every section: Summary, Statement of Need, Software Design, Research Impact (Government adoption, Congressional/Parliamentary, Academic, Policy research), and Acknowledgements. Co-Authored-By: Claude Opus 4.6 --- paper.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/paper.md b/paper.md index 2c9b3f2b..0d69cadb 100644 --- a/paper.md +++ b/paper.md @@ -30,13 +30,13 @@ bibliography: paper.bib # Summary -PolicyEngine is an open-source, multi-country microsimulation framework for tax-benefit policy analysis, implemented in Python. The policyengine package provides a unified interface for running policy simulations, analyzing distributional impacts, and visualizing results across the US and the UK. It delegates country-specific tax-benefit calculations to dedicated country packages (policyengine-uk and policyengine-us) while providing shared abstractions for simulations, datasets, parametric reforms, and output analysis. The framework supports both individual household simulations and population-wide microsimulations using representative survey microdata with calibrated weights. PolicyEngine powers an interactive web application at [policyengine.org](https://policyengine.org) that enables non-technical users to explore policy reforms in both countries. +PolicyEngine is an open-source, multi-country microsimulation framework for tax-benefit policy analysis, implemented in Python. The policyengine package provides a unified interface for running policy simulations, analyzing distributional impacts, and visualizing results across the US and the UK. It delegates country-specific tax-benefit calculations to dedicated country packages (policyengine-us and policyengine-uk) while providing shared abstractions for simulations, datasets, parametric reforms, and output analysis. The framework supports both individual household simulations and population-wide microsimulations using representative survey microdata with calibrated weights. PolicyEngine powers an interactive web application at [policyengine.org](https://policyengine.org) that enables non-technical users to explore policy reforms in both countries. # Statement of Need -Tax-benefit microsimulation models are essential tools for evaluating the distributional impacts of fiscal policy. Governments, think tanks, and researchers rely on such models to estimate how policy reforms affect household incomes, poverty rates, and government budgets. Existing microsimulation models face significant access barriers. UKMOD [@sutherland2014euromod], maintained by the University of Essex, requires a formal application and institutional affiliation to access. TAXSIM [@taxsim] at NBER computes only tax liabilities and omits the benefit side of the ledger entirely. The models maintained by HM Treasury, the Institute for Fiscal Studies, the Congressional Budget Office, and the Tax Policy Center are fully proprietary and unavailable to external researchers. None of these tools provide a unified framework for cross-country comparison. +Tax-benefit microsimulation models are essential tools for evaluating the distributional impacts of fiscal policy. Governments, think tanks, and researchers rely on such models to estimate how policy reforms affect household incomes, poverty rates, and government budgets. Existing microsimulation models face significant access barriers. TAXSIM [@taxsim] at NBER computes only tax liabilities and omits the benefit side of the ledger entirely. The models maintained by the Congressional Budget Office and the Tax Policy Center are fully proprietary and unavailable to external researchers. In the UK, UKMOD [@sutherland2014euromod], maintained by the University of Essex, requires a formal application and institutional affiliation to access, and the models maintained by HM Treasury and the Institute for Fiscal Studies are similarly proprietary. None of these tools provide a unified framework for cross-country comparison. -PolicyEngine addresses these gaps by providing a fully open-source, pip-installable microsimulation framework that spans multiple countries under a consistent API. Researchers can install the full package with pip install policyengine, or install country-specific models individually with pip install policyengine[uk] or pip install policyengine[us]. Users can supply their own microdata or use built-in datasets, and compute the impact of current law or hypothetical policy reforms on any household or a full national population. The Simulation class supports individual household analysis, while population-level aggregate analysis uses representative survey datasets with calibrated weights. The framework's open development on GitHub enables external validation, community contributions, and reproducible policy analysis across countries. +PolicyEngine addresses these gaps by providing a fully open-source, pip-installable microsimulation framework that spans multiple countries under a consistent API. Researchers can install the full package with pip install policyengine, or install country-specific models individually with pip install policyengine[us] or pip install policyengine[uk]. Users can supply their own microdata or use built-in datasets, and compute the impact of current law or hypothetical policy reforms on any household or a full national population. The Simulation class supports individual household analysis, while population-level aggregate analysis uses representative survey datasets with calibrated weights. The framework's open development on GitHub enables external validation, community contributions, and reproducible policy analysis across countries. # State of the Field @@ -47,31 +47,31 @@ PolicyEngine differentiates itself in several ways: - **Multi-country, open-source framework**: a single pip-installable Python package supports the US and UK tax-benefit systems under a consistent API, with no institutional access or license fees required. - **Comprehensive program coverage**: the US model covers over 11 programs including federal income tax, payroll taxes, state income taxes, SNAP, SSI, Social Security, Medicare, Medicaid, EITC, CTC, and TANF; the UK model covers over 37 programs spanning income tax, National Insurance, Universal Credit, Child Benefit, Council Tax, and devolved policies in Scotland and Wales. - **Programmatic reform API**: users can define hypothetical policy reforms as parameter dictionaries with date-bound values, compose multiple reforms, or implement structural changes — and evaluate their impact on any household or the full population. -- **Economic analysis**: built-in output classes compute decile impacts, intra-decile distributions, poverty rates, inequality metrics (Gini coefficients), budgetary impacts, and regional breakdowns (UK parliamentary constituencies, US congressional districts). Behavioral response modules model both intensive margin (hours adjustment) and extensive margin (participation) labor supply responses to policy changes. +- **Economic analysis**: built-in output classes compute decile impacts, intra-decile distributions, poverty rates, inequality metrics (Gini coefficients), budgetary impacts, and regional breakdowns (US congressional districts, UK parliamentary constituencies). Behavioral response modules model both intensive margin (hours adjustment) and extensive margin (participation) labor supply responses to policy changes. # Software Design PolicyEngine is built on the PolicyEngine Core framework, which extends the OpenFisca microsimulation engine. The policyengine.py package is organized as a country-agnostic layer with the following core components: -**Simulation and Dataset** classes provide the primary interface. The Simulation class executes tax-benefit models on datasets, applying policy reforms and caching results. The Dataset class represents microdata containing entity-level data (persons, households, tax units) with survey weights and entity relationships. Country-specific datasets — the Enhanced Family Resources Survey for the UK and the Current Population Survey for the US — are loaded from companion data repositories [@pe_uk_data; @pe_us_data]. +**Simulation and Dataset** classes provide the primary interface. The Simulation class executes tax-benefit models on datasets, applying policy reforms and caching results. The Dataset class represents microdata containing entity-level data (persons, households, tax units) with survey weights and entity relationships. Country-specific datasets — the Current Population Survey for the US and the Enhanced Family Resources Survey for the UK — are loaded from companion data repositories [@pe_us_data; @pe_uk_data]. **Policy and Parameter** classes define the reform system. The Policy class bundles parametric reforms that modify tax-benefit system parameters. The Parameter class represents system settings (tax rates, benefit thresholds, income limits), while ParameterValue supports time-bound values, enabling phased policy implementations across multiple years. **Variable and TaxBenefitModelVersion** classes encapsulate country-specific logic. Each Variable is a computed quantity (income tax, benefit entitlement) with entity mappings. The TaxBenefitModelVersion class represents a versioned country model, storing variables, parameters, and execution logic. The framework uses importlib to conditionally import country packages, allowing graceful operation when only one country is installed. -**Output classes** provide standardized analysis. These include Aggregate for sum, mean, and count statistics; DecileImpact and IntraDecileImpact for distributional analysis by income decile; Poverty and Inequality for welfare metrics; ChangeAggregate for baseline-versus-reform comparisons; and region-specific classes such as ConstituencyImpact (UK) and CongressionalDistrictImpact (US). All output classes produce PolicyEngine-branded Plotly visualizations. +**Output classes** provide standardized analysis. These include Aggregate for sum, mean, and count statistics; DecileImpact and IntraDecileImpact for distributional analysis by income decile; Poverty and Inequality for welfare metrics; ChangeAggregate for baseline-versus-reform comparisons; and region-specific classes such as CongressionalDistrictImpact (US) and ConstituencyImpact (UK). All output classes produce PolicyEngine-branded Plotly visualizations. **Region and RegionRegistry** classes manage geographic scope, enabling sub-national analysis for regions within each country. -The country-specific models (policyengine-uk and policyengine-us) define parameters as YAML files organized by government department and indexed by time period, and implement variables as Python classes specifying computation logic, entity scope, and time period. The UK model contains over 700 variable definitions and the US model covers federal and state-level tax and benefit programs. +The country-specific models (policyengine-us and policyengine-uk) define parameters as YAML files organized by government department and indexed by time period, and implement variables as Python classes specifying computation logic, entity scope, and time period. The US model covers federal and state-level tax and benefit programs and the UK model contains over 700 variable definitions. # Research Impact Statement -PolicyEngine has demonstrated research impact across government, academia, and policy research in both the UK and US. +PolicyEngine has demonstrated research impact across government, academia, and policy research in both the US and UK. -**Government adoption.** In 2025–2026, co-author Nikhil Woodruff served as an Innovation Fellow with 10DS — the data science team at 10 Downing Street — adapting PolicyEngine for UK government use [@ghenis2026no10]. The 10DS team used PolicyEngine to rapidly estimate the impacts of policy reforms on living standards, local area incomes, and distributional outcomes. HM Treasury has also formally documented PolicyEngine in the UK Algorithmic Transparency Recording Standard, describing it as a model their Personal Tax, Welfare and Pensions team is exploring for "advising policymakers on the impact of tax and welfare measures on households" [@hmt2024atrs]. In the US, PolicyEngine collaborated with the Better Government Lab — a joint center of the Georgetown McCourt School of Public Policy and the University of Michigan Ford School of Public Policy — on benefits eligibility research [@pe_bgl]. +**Government adoption.** In the US, PolicyEngine collaborated with the Better Government Lab — a joint center of the Georgetown McCourt School of Public Policy and the University of Michigan Ford School of Public Policy — on benefits eligibility research [@pe_bgl]. In the UK, co-author Nikhil Woodruff served as an Innovation Fellow in 2025–2026 with 10DS — the data science team at 10 Downing Street — adapting PolicyEngine for government use [@ghenis2026no10]. The 10DS team used PolicyEngine to rapidly estimate the impacts of policy reforms on living standards, local area incomes, and distributional outcomes. HM Treasury has also formally documented PolicyEngine in the UK Algorithmic Transparency Recording Standard, describing it as a model their Personal Tax, Welfare and Pensions team is exploring for "advising policymakers on the impact of tax and welfare measures on households" [@hmt2024atrs]. -**Parliamentary and congressional citation.** In February 2026, Baroness Altmann referenced PolicyEngine and its interactive dashboard during House of Lords Grand Committee debate on the National Insurance Contributions (Employer Pensions Contributions) Bill, noting that Commons Library research using PolicyEngine provided "a useful picture of the distributional effects of raising the contribution limit" across income deciles [@hansard2026nic]. In the US, Representatives Morgan McGarvey and Bonnie Watson Coleman cited PolicyEngine's analysis in introducing the Young Adult Tax Credit Act (H.R.7547), stating that "according to the model at PolicyEngine, 22% of all Americans would see an increase in their household income under this program, and it would lift over 4 million Americans out of poverty" [@mcgarvey2024yatc]. +**Congressional and parliamentary citation.** In the US, Representatives Morgan McGarvey and Bonnie Watson Coleman cited PolicyEngine's analysis in introducing the Young Adult Tax Credit Act (H.R.7547), stating that "according to the model at PolicyEngine, 22% of all Americans would see an increase in their household income under this program, and it would lift over 4 million Americans out of poverty" [@mcgarvey2024yatc]. In the UK, Baroness Altmann referenced PolicyEngine and its interactive dashboard during House of Lords Grand Committee debate on the National Insurance Contributions (Employer Pensions Contributions) Bill in February 2026, noting that Commons Library research using PolicyEngine provided "a useful picture of the distributional effects of raising the contribution limit" across income deciles [@hansard2026nic]. **Institutional partnership.** PolicyEngine and the National Bureau of Economic Research (NBER) signed a formal memorandum of understanding for PolicyEngine to develop an open-source TAXSIM emulator — a drop-in replacement for TAXSIM-35 powered by PolicyEngine's microsimulation engine, with support for Python, R, Stata, SAS, and Julia [@pe_nber_mou]. The Federal Reserve Bank of Atlanta independently validates PolicyEngine's model through its Policy Rules Database, conducting three-way comparisons between PolicyEngine, TAXSIM, and the Fed's own models [@atlanta_fed_prd]. Co-author Max Ghenis and Jason DeBacker (University of South Carolina) presented the Enhanced Current Population Survey methodology at the 117th Annual Conference on Taxation of the National Tax Association [@ghenis2024nta]. @@ -83,7 +83,7 @@ PolicyEngine has demonstrated research impact across government, academia, and p This work was supported in the US by Arnold Ventures [@arnold_ventures], NEO Philanthropy [@neo_philanthropy], the Gerald Huff Fund for Humanity, and the National Science Foundation (NSF POSE Phase I, Award 2518372) [@nsf_pose], and in the UK by the Nuffield Foundation since September 2024 [@nuffield2024grant]. These funders had no involvement in the design, development, or content of this software or paper. -We acknowledge contributions from all PolicyEngine contributors, and thank the OpenFisca community for the foundational microsimulation framework [@openfisca]. We acknowledge the UKMOD team at the Institute for Social and Economic Research (ISER), University of Essex, for their contributions to model descriptions [@sutherland2014euromod]. We also acknowledge the UK Data Service and the Department for Work and Pensions for providing access to the Family Resources Survey, and the US Census Bureau for the Current Population Survey. +We acknowledge contributions from all PolicyEngine contributors, and thank the OpenFisca community for the foundational microsimulation framework [@openfisca]. We acknowledge the US Census Bureau for providing access to the Current Population Survey, and the UK Data Service and the Department for Work and Pensions for providing access to the Family Resources Survey. We acknowledge the UKMOD team at the Institute for Social and Economic Research (ISER), University of Essex, for their contributions to model descriptions [@sutherland2014euromod]. # AI Usage Disclosure From 190ebdcabbc11f2b168eb1bba89e037651fa62e1 Mon Sep 17 00:00:00 2001 From: Vahid Ahmadi Date: Mon, 23 Mar 2026 13:50:41 +0000 Subject: [PATCH 18/22] Fix double parentheses in AI disclosure, remove test scaffolding, pip-installable to Python Co-Authored-By: Claude Opus 4.6 --- paper.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/paper.md b/paper.md index 0d69cadb..9a7a44d9 100644 --- a/paper.md +++ b/paper.md @@ -36,7 +36,7 @@ PolicyEngine is an open-source, multi-country microsimulation framework for tax- Tax-benefit microsimulation models are essential tools for evaluating the distributional impacts of fiscal policy. Governments, think tanks, and researchers rely on such models to estimate how policy reforms affect household incomes, poverty rates, and government budgets. Existing microsimulation models face significant access barriers. TAXSIM [@taxsim] at NBER computes only tax liabilities and omits the benefit side of the ledger entirely. The models maintained by the Congressional Budget Office and the Tax Policy Center are fully proprietary and unavailable to external researchers. In the UK, UKMOD [@sutherland2014euromod], maintained by the University of Essex, requires a formal application and institutional affiliation to access, and the models maintained by HM Treasury and the Institute for Fiscal Studies are similarly proprietary. None of these tools provide a unified framework for cross-country comparison. -PolicyEngine addresses these gaps by providing a fully open-source, pip-installable microsimulation framework that spans multiple countries under a consistent API. Researchers can install the full package with pip install policyengine, or install country-specific models individually with pip install policyengine[us] or pip install policyengine[uk]. Users can supply their own microdata or use built-in datasets, and compute the impact of current law or hypothetical policy reforms on any household or a full national population. The Simulation class supports individual household analysis, while population-level aggregate analysis uses representative survey datasets with calibrated weights. The framework's open development on GitHub enables external validation, community contributions, and reproducible policy analysis across countries. +PolicyEngine addresses these gaps by providing a fully open-source, Python microsimulation framework that spans multiple countries under a consistent API. Researchers can install the full package with pip install policyengine, or install country-specific models individually with pip install policyengine[us] or pip install policyengine[uk]. Users can supply their own microdata or use built-in datasets, and compute the impact of current law or hypothetical policy reforms on any household or a full national population. The Simulation class supports individual household analysis, while population-level aggregate analysis uses representative survey datasets with calibrated weights. The framework's open development on GitHub enables external validation, community contributions, and reproducible policy analysis across countries. # State of the Field @@ -44,7 +44,7 @@ In the US, TAXSIM [@taxsim] at the National Bureau of Economic Research provides PolicyEngine differentiates itself in several ways: -- **Multi-country, open-source framework**: a single pip-installable Python package supports the US and UK tax-benefit systems under a consistent API, with no institutional access or license fees required. +- **Multi-country, open-source framework**: a single Python Python package supports the US and UK tax-benefit systems under a consistent API, with no institutional access or license fees required. - **Comprehensive program coverage**: the US model covers over 11 programs including federal income tax, payroll taxes, state income taxes, SNAP, SSI, Social Security, Medicare, Medicaid, EITC, CTC, and TANF; the UK model covers over 37 programs spanning income tax, National Insurance, Universal Credit, Child Benefit, Council Tax, and devolved policies in Scotland and Wales. - **Programmatic reform API**: users can define hypothetical policy reforms as parameter dictionaries with date-bound values, compose multiple reforms, or implement structural changes — and evaluate their impact on any household or the full population. - **Economic analysis**: built-in output classes compute decile impacts, intra-decile distributions, poverty rates, inequality metrics (Gini coefficients), budgetary impacts, and regional breakdowns (US congressional districts, UK parliamentary constituencies). Behavioral response modules model both intensive margin (hours adjustment) and extensive margin (participation) labor supply responses to policy changes. @@ -87,6 +87,6 @@ We acknowledge contributions from all PolicyEngine contributors, and thank the O # AI Usage Disclosure -Generative AI tools (Claude by Anthropic, 2024–2026 [@claude2025]) were used to assist with code refactoring, test scaffolding, and drafting of this paper. All AI-assisted outputs were reviewed, edited, and validated by human authors, who made all core design decisions regarding software architecture, policy modeling, and parameter implementation. The authors remain fully responsible for the accuracy, originality, and correctness of all submitted materials. +Generative AI tools — Claude by Anthropic [@claude2025] — were used to assist with code refactoring and drafting of this paper. All AI-assisted outputs were reviewed, edited, and validated by human authors, who made all core design decisions regarding software architecture, policy modeling, and parameter implementation. The authors remain fully responsible for the accuracy, originality, and correctness of all submitted materials. # References From d70aa4daae1123e0bf251341c57dcb39b4d32aed Mon Sep 17 00:00:00 2001 From: Vahid Ahmadi Date: Mon, 23 Mar 2026 13:52:15 +0000 Subject: [PATCH 19/22] Remove pip install commands from Statement of Need Co-Authored-By: Claude Opus 4.6 --- paper.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/paper.md b/paper.md index 9a7a44d9..07ac4b2e 100644 --- a/paper.md +++ b/paper.md @@ -36,7 +36,7 @@ PolicyEngine is an open-source, multi-country microsimulation framework for tax- Tax-benefit microsimulation models are essential tools for evaluating the distributional impacts of fiscal policy. Governments, think tanks, and researchers rely on such models to estimate how policy reforms affect household incomes, poverty rates, and government budgets. Existing microsimulation models face significant access barriers. TAXSIM [@taxsim] at NBER computes only tax liabilities and omits the benefit side of the ledger entirely. The models maintained by the Congressional Budget Office and the Tax Policy Center are fully proprietary and unavailable to external researchers. In the UK, UKMOD [@sutherland2014euromod], maintained by the University of Essex, requires a formal application and institutional affiliation to access, and the models maintained by HM Treasury and the Institute for Fiscal Studies are similarly proprietary. None of these tools provide a unified framework for cross-country comparison. -PolicyEngine addresses these gaps by providing a fully open-source, Python microsimulation framework that spans multiple countries under a consistent API. Researchers can install the full package with pip install policyengine, or install country-specific models individually with pip install policyengine[us] or pip install policyengine[uk]. Users can supply their own microdata or use built-in datasets, and compute the impact of current law or hypothetical policy reforms on any household or a full national population. The Simulation class supports individual household analysis, while population-level aggregate analysis uses representative survey datasets with calibrated weights. The framework's open development on GitHub enables external validation, community contributions, and reproducible policy analysis across countries. +PolicyEngine addresses these gaps by providing a fully open-source Python microsimulation framework that spans multiple countries under a consistent API. Users can supply their own microdata or use built-in datasets, and compute the impact of current law or hypothetical policy reforms on any household or a full national population. The Simulation class supports individual household analysis, while population-level aggregate analysis uses representative survey datasets with calibrated weights. The framework's open development on GitHub enables external validation, community contributions, and reproducible policy analysis across countries. # State of the Field From 018056d58a559a4be6862e43b757ae8a77c572b0 Mon Sep 17 00:00:00 2001 From: Vahid Ahmadi Date: Mon, 23 Mar 2026 13:53:08 +0000 Subject: [PATCH 20/22] Consolidate to 3 bullets, delete cross-country comparison sentence - Remove "None of these tools provide a unified framework" sentence - Merge "Programmatic reform API" and "Economic analysis" into one bullet: "Programmatic reform and economic analysis" - Fix duplicate "Python Python" typo - Now 3 bullets: framework, program coverage, reform and analysis Co-Authored-By: Claude Opus 4.6 --- paper.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/paper.md b/paper.md index 07ac4b2e..6508c4ac 100644 --- a/paper.md +++ b/paper.md @@ -34,8 +34,7 @@ PolicyEngine is an open-source, multi-country microsimulation framework for tax- # Statement of Need -Tax-benefit microsimulation models are essential tools for evaluating the distributional impacts of fiscal policy. Governments, think tanks, and researchers rely on such models to estimate how policy reforms affect household incomes, poverty rates, and government budgets. Existing microsimulation models face significant access barriers. TAXSIM [@taxsim] at NBER computes only tax liabilities and omits the benefit side of the ledger entirely. The models maintained by the Congressional Budget Office and the Tax Policy Center are fully proprietary and unavailable to external researchers. In the UK, UKMOD [@sutherland2014euromod], maintained by the University of Essex, requires a formal application and institutional affiliation to access, and the models maintained by HM Treasury and the Institute for Fiscal Studies are similarly proprietary. None of these tools provide a unified framework for cross-country comparison. - +Tax-benefit microsimulation models are essential tools for evaluating the distributional impacts of fiscal policy. Governments, think tanks, and researchers rely on such models to estimate how policy reforms affect household incomes, poverty rates, and government budgets. Existing microsimulation models face significant access barriers. TAXSIM [@taxsim] at NBER computes only tax liabilities and omits the benefit side of the ledger entirely. The models maintained by the Congressional Budget Office and the Tax Policy Center are fully proprietary and unavailable to external researchers. In the UK, UKMOD [@sutherland2014euromod], maintained by the University of Essex, requires a formal application and institutional affiliation to access, and the models maintained by HM Treasury and the Institute for Fiscal Studies are similarly proprietary. PolicyEngine addresses these gaps by providing a fully open-source Python microsimulation framework that spans multiple countries under a consistent API. Users can supply their own microdata or use built-in datasets, and compute the impact of current law or hypothetical policy reforms on any household or a full national population. The Simulation class supports individual household analysis, while population-level aggregate analysis uses representative survey datasets with calibrated weights. The framework's open development on GitHub enables external validation, community contributions, and reproducible policy analysis across countries. # State of the Field @@ -44,10 +43,9 @@ In the US, TAXSIM [@taxsim] at the National Bureau of Economic Research provides PolicyEngine differentiates itself in several ways: -- **Multi-country, open-source framework**: a single Python Python package supports the US and UK tax-benefit systems under a consistent API, with no institutional access or license fees required. +- **Open-source, multi-country framework**: a single Python package supports the US and UK tax-benefit systems under a consistent API, with no institutional access or license fees required. - **Comprehensive program coverage**: the US model covers over 11 programs including federal income tax, payroll taxes, state income taxes, SNAP, SSI, Social Security, Medicare, Medicaid, EITC, CTC, and TANF; the UK model covers over 37 programs spanning income tax, National Insurance, Universal Credit, Child Benefit, Council Tax, and devolved policies in Scotland and Wales. -- **Programmatic reform API**: users can define hypothetical policy reforms as parameter dictionaries with date-bound values, compose multiple reforms, or implement structural changes — and evaluate their impact on any household or the full population. -- **Economic analysis**: built-in output classes compute decile impacts, intra-decile distributions, poverty rates, inequality metrics (Gini coefficients), budgetary impacts, and regional breakdowns (US congressional districts, UK parliamentary constituencies). Behavioral response modules model both intensive margin (hours adjustment) and extensive margin (participation) labor supply responses to policy changes. +- **Programmatic reform and economic analysis**: users can define hypothetical policy reforms as parameter dictionaries with date-bound values, compose multiple reforms, or implement structural changes — and evaluate their impact on any household or the full population. Built-in output classes compute decile impacts, intra-decile distributions, poverty rates, inequality metrics (Gini coefficients), budgetary impacts, and regional breakdowns (US congressional districts, UK parliamentary constituencies). Behavioral response modules model both intensive margin (hours adjustment) and extensive margin (participation) labor supply responses to policy changes. # Software Design From 805fb0811fbb7c715290b998a87336c3a097fdf8 Mon Sep 17 00:00:00 2001 From: Vahid Ahmadi Date: Mon, 23 Mar 2026 13:54:16 +0000 Subject: [PATCH 21/22] Remove TaxBenefitModelVersion and RegionRegistry from paper text Co-Authored-By: Claude Opus 4.6 --- paper.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/paper.md b/paper.md index 6508c4ac..f445c1e3 100644 --- a/paper.md +++ b/paper.md @@ -55,11 +55,11 @@ PolicyEngine is built on the PolicyEngine Core framework, which extends the Open **Policy and Parameter** classes define the reform system. The Policy class bundles parametric reforms that modify tax-benefit system parameters. The Parameter class represents system settings (tax rates, benefit thresholds, income limits), while ParameterValue supports time-bound values, enabling phased policy implementations across multiple years. -**Variable and TaxBenefitModelVersion** classes encapsulate country-specific logic. Each Variable is a computed quantity (income tax, benefit entitlement) with entity mappings. The TaxBenefitModelVersion class represents a versioned country model, storing variables, parameters, and execution logic. The framework uses importlib to conditionally import country packages, allowing graceful operation when only one country is installed. +**Variable** classes encapsulate country-specific logic. Each Variable is a computed quantity (income tax, benefit entitlement) with entity mappings. Versioned country models store variables, parameters, and execution logic. The framework conditionally imports country packages, allowing graceful operation when only one country is installed. **Output classes** provide standardized analysis. These include Aggregate for sum, mean, and count statistics; DecileImpact and IntraDecileImpact for distributional analysis by income decile; Poverty and Inequality for welfare metrics; ChangeAggregate for baseline-versus-reform comparisons; and region-specific classes such as CongressionalDistrictImpact (US) and ConstituencyImpact (UK). All output classes produce PolicyEngine-branded Plotly visualizations. -**Region and RegionRegistry** classes manage geographic scope, enabling sub-national analysis for regions within each country. +**Region** classes manage geographic scope, enabling sub-national analysis for regions within each country. The country-specific models (policyengine-us and policyengine-uk) define parameters as YAML files organized by government department and indexed by time period, and implement variables as Python classes specifying computation logic, entity scope, and time period. The US model covers federal and state-level tax and benefit programs and the UK model contains over 700 variable definitions. From d0571e0315186a5cdf51ca222eee30d753cff5d8 Mon Sep 17 00:00:00 2001 From: Vahid Ahmadi Date: Mon, 23 Mar 2026 14:17:35 +0000 Subject: [PATCH 22/22] Replace PE self-links with external URLs, remove country model paragraph - Delete country-specific models paragraph from Software Design - ghenis2026no10: gov.uk Innovation Fellowship page - ghenis2024nta: ntanet.org conference page - pe_usc: irp.wisc.edu extramural grants page - pe_dctc: dccouncil.gov bill B25-0190 - pe_keepyourpay: booker.senate.gov press release - pe_bgl and neo_philanthropy kept as PE links (no external alt exists) Co-Authored-By: Claude Opus 4.6 --- paper.bib | 44 ++++++++++++++++++++++---------------------- paper.md | 2 -- 2 files changed, 22 insertions(+), 24 deletions(-) diff --git a/paper.bib b/paper.bib index ade0daca..10283448 100644 --- a/paper.bib +++ b/paper.bib @@ -74,14 +74,11 @@ @techreport{niesr2025living url={https://niesr.ac.uk/publications/uk-living-standards-review-2025} } -@online{ghenis2026no10, - title={{PolicyEngine} powers rapid policy analysis at {No 10 Downing Street}}, - author={Ghenis, Max}, - year={2026}, - month={1}, - day={20}, - url={https://policyengine.org/uk/research/policyengine-no-10-downing-street}, - urldate={2026-03-19} +@misc{ghenis2026no10, + title={The {No10 Innovation Fellowship} Programme}, + author={{HM Government}}, + year={2025}, + url={https://www.gov.uk/government/publications/the-no10-innovation-fellowship-programme} } @misc{hmt2024atrs, @@ -146,7 +143,7 @@ @misc{ghenis2024nta year={2024}, month={11}, note={Presented at the 117th Annual Conference on Taxation, National Tax Association, Detroit, Michigan}, - url={https://www.policyengine.org/us/research/nta-2024} + url={https://ntanet.org/2024/07/117th-annual-conference-on-taxation-full/} } @techreport{mccabe2024ctc, @@ -165,11 +162,12 @@ @online{pe_bgl url={https://www.policyengine.org/us/research/policyengine-better-government-lab-collaboration} } -@online{pe_usc, - title={{PolicyEngine} and {USC} Collaboration on Effective Marginal Tax Rates}, - author={Ghenis, Max}, - year={2024}, - url={https://www.policyengine.org/us/research/policyengine-usc-collaboration} +@misc{pe_usc, + title={2025--2026 {IRP} Extramural Large Grants}, + author={{Institute for Research on Poverty}}, + year={2025}, + note={University of Wisconsin--Madison. Includes PolicyEngine collaboration with Matt Unrath (USC) on effective marginal tax rates}, + url={https://www.irp.wisc.edu/2025-2026-irp-extramural-large-grants/} } @techreport{beeck2023rac, @@ -190,18 +188,20 @@ @techreport{beeck2025ai url={https://beeckcenter.georgetown.edu/report/ai-powered-rules-as-code-experiments-with-public-benefits-policy/} } -@online{pe_dctc, - title={The {District Child Tax Credit} Proposal}, - author={{PolicyEngine}}, +@misc{pe_dctc, + title={{District Child Tax Credit Amendment Act} of 2023}, + author={{Council of the District of Columbia}}, year={2023}, - url={https://blog.policyengine.org/the-district-child-tax-credit-proposal-5c70e72a4001} + note={Bill B25-0190, introduced by Councilmember Zachary Parker}, + url={https://lims.dccouncil.gov/Legislation/B25-0190} } -@online{pe_keepyourpay, - title={Senator {Booker}'s {Keep Your Pay Act}}, - author={{PolicyEngine}}, +@misc{pe_keepyourpay, + title={Booker Announces {Keep Your Pay Act}}, + author={{Office of Senator Cory Booker}}, year={2026}, - url={https://www.policyengine.org/us/keep-your-pay-act} + month={3}, + url={https://www.booker.senate.gov/news/press/booker-announces-keep-your-pay-act} } @misc{arnold_ventures, diff --git a/paper.md b/paper.md index f445c1e3..4b6e9063 100644 --- a/paper.md +++ b/paper.md @@ -61,8 +61,6 @@ PolicyEngine is built on the PolicyEngine Core framework, which extends the Open **Region** classes manage geographic scope, enabling sub-national analysis for regions within each country. -The country-specific models (policyengine-us and policyengine-uk) define parameters as YAML files organized by government department and indexed by time period, and implement variables as Python classes specifying computation logic, entity scope, and time period. The US model covers federal and state-level tax and benefit programs and the UK model contains over 700 variable definitions. - # Research Impact Statement PolicyEngine has demonstrated research impact across government, academia, and policy research in both the US and UK.