JOSS Paper Preview

policyengine: A Microsimulation Tool for Tax-Benefit Policy Analysis

Vahid Ahmadi1 * Max Ghenis1 Nikhil Woodruff1 Pavel Makarchuk1 Anthony Volk1
1 PolicyEngine, Washington, DC, United States
Python microsimulation tax benefit public policy economic analysis

Summary

The policyengine Python package (PolicyEngine Contributors 2026) is open-source software for analyzing how tax and benefit policies affect household incomes and government budgets in the US and UK. It gives analysts a common workflow for running simulations on representative microdata or custom households and for comparing current law with proposed reforms. Country-specific rules live in dedicated packages (policyengine-us and policyengine-uk), while policyengine provides shared tools for datasets, reforms, outputs, and reproducible release bundles. The package also powers the interactive web application at policyengine.org.

Statement of Need

Tax-benefit microsimulation models are standard tools for evaluating the distributional impacts of fiscal policy. Governments, think tanks, and researchers use them to estimate how policy reforms affect household incomes, poverty rates, and government budgets. In practice, however, analysts work across separate components: statutory rules, representative microdata, reform definitions, and distributional outputs live in different tools and interfaces. Reproducing a baseline-versus-reform workflow, or carrying the same analysis pattern from one country model to another, therefore often requires bespoke scripts and project-specific conventions. Historical replication is especially difficult when policy rules, analysis tooling, and representative microdata are versioned independently and the analyst must reconstruct which combination produced a published estimate.

The policyengine package provides a consistent Python API for tax-benefit analysis across multiple country models. Users can supply their own microdata or use companion representative datasets, then compute the impact of current law or hypothetical reforms, including parametric changes to existing policy parameters and structural modifications to the tax-benefit system, on any household or a national population. The calculate_household_impact function computes results for a single household, while the Simulation class runs population-level analysis on representative survey datasets with calibrated weights. Optional behavioral-response assumptions, such as labor supply elasticities, are applied after the static reform. Version-pinned releases reduce the bookkeeping needed for replication.

State of the Field

Microsimulation, which Orcutt (1957) pioneered and Bourguignon and Spadaro (2006) surveyed for redistribution analysis, underpins much of modern fiscal policy evaluation. In the US, TAXSIM (Feenberg and Coutts 1993) at the National Bureau of Economic Research provides tax calculations, while the Congressional Budget Office and Tax Policy Center maintain microsimulation tax models (Congressional Budget Office 2018; Tax Policy Center 2022). In the UK, the primary microsimulation models are UKMOD, which the Institute for Social and Economic Research (ISER) at the University of Essex maintains as part of the EUROMOD family (Sutherland and Figari 2013; EUROMOD 2026); HM Treasury’s Intra-Governmental Tax and Benefit Microsimulation model (IGOTM) (HM Treasury 2025); and TAXBEN, which the Institute for Fiscal Studies maintains (Waters 2017).

OpenFisca (OpenFisca Contributors 2024) initiated the open-source approach to tax-benefit microsimulation in France. Other open-source efforts include the Policy Simulation Library, a collection of policy models and data-preparation routines (Policy Simulation Library 2026), and The Budget Lab’s public US tax-model codebases, including Tax-Simulator and Cost-Recovery-Simulator (The Budget Lab at Yale 2024, 2025). The PolicyEngine developers originally forked the codebase from OpenFisca and built it on the policyengine-core framework (Woodruff et al. 2024).

Existing tools serve complementary needs — country-specific microsimulation (TAXSIM, TAXBEN, IGOTM) or simulation infrastructure without a shared cross-country analyst API (policyengine-core, OpenFisca) — leaving a gap in the open-source ecosystem. The policyengine package fills this gap by adding shared dataset management, a stable baseline-versus-reform pattern, structured output types for distributional and regional analysis, and interfaces for downstream dashboards and reports. Concretely, the package provides reusable outputs such as Aggregate, ChangeAggregate, and IntraDecileImpact, together with bundled analyses such as economic_impact_analysis(). This separation lets country-model packages focus on statutory rules while shared analysis methods evolve independently.

Table 1: Comparison of policyengine with selected tax-benefit microsimulation tools. Entries refer to capabilities documented for external users at the time of submission.

Dimension policyengine TAXSIM UKMOD OpenFisca
Open source Yes Partial Yes Yes
Country coverage US and UK US UK US, UK, and ~10 other jurisdictions
Tax and benefit analysis Yes Tax only Yes Yes
Python-native implementation Yes No No Yes
Shared reform and output API across countries Yes No No Shared core, country-specific parameters

Software Design

The PolicyEngine software stack has four components. policyengine-core provides reusable simulation abstractions, versioned parameters, and dataset interfaces that country packages share (Woodruff et al. 2024). The policyengine-us and policyengine-uk packages contain statutory logic, variables, and entity structures specific to each tax-benefit system. The policyengine package is the analyst-facing component: it defines shared simulation orchestration, structured output types, and canonical baseline-versus-reform workflows such as economic_impact_analysis(). Companion data repositories hold enhanced survey microdata derived from the Current Population Survey (CPS) (Woodruff and Ghenis 2024) and Family Resources Survey (Department for Work and Pensions et al. 2021). The package does not include a macroeconomic model and does not capture general equilibrium effects.

This architecture reflects two deliberate trade-offs. Keeping country statutory rules in separate packages, rather than bundling them into a monolithic tool, lets each country model release independently; the cost is that policyengine must track and certify compatible combinations. Modeling reforms statically, with optional post-hoc behavioral responses, gives fast and deterministic baselines at the expense of general equilibrium effects, which are better suited to dedicated macroeconomic models.

Figure 1: PolicyEngine runtime architecture. Inputs (rules, microdata, and behavioral responses) flow through the simulation pipeline to produce structured outputs.

For reproducibility, the top-level package acts as a certification boundary across these components. Country data repositories build immutable microdata artifacts and publish release manifests with checksums and the country-model version used during data construction. Bundled country manifests in policyengine then certify the runtime bundle: the runtime country-model version, the microdata-package release, the dataset artifact, and the compatibility basis linking that runtime model to the build-time data provenance. Analysts can request a dataset such as enhanced_frs_2023_24, while the runtime resolves it to a specific versioned artifact and records both runtime and build-time provenance. The same certification record can be emitted as a TRACE Transparent Research Object declaration (TRACE Project 2024), so the internal bundle and data manifests remain the operational source of truth while a standardized signed provenance document is available for external exchange.

At runtime, a simulation combines a country-model version, household microdata, and an optional reform; country packages can also apply behavioral responses, such as labor supply elasticities, after the static policy reform. The policyengine package then produces reusable outputs for decile changes, program statistics, poverty, inequality, and regional impacts. Because the runtime exposes the resolved certified bundle and compatibility basis, results can be traced to a specific policyengine release, runtime country-model release, microdata release, versioned dataset artifact, and build-time country-model version. Population-scale runs operate on representative survey microdata and can require several gigabytes of memory; the US enhanced CPS pipeline is the most demanding of the bundled workloads.

The following household-level example computes a household’s net income under baseline law and under a reform that doubles the US single-filer standard deduction (to $32,200 for 2026):

import datetime
from policyengine.core import Parameter, ParameterValue, Policy
from policyengine.tax_benefit_models.us import (
    USHouseholdInput, calculate_household_impact, us_latest,
)

param = Parameter(
    name="gov.irs.deductions.standard.amount.SINGLE",
    tax_benefit_model_version=us_latest,
)
reform = Policy(
    name="Double standard deduction",
    parameter_values=[ParameterValue(
        parameter=param,
        start_date=datetime.date(2026, 1, 1),
        end_date=datetime.date(2026, 12, 31),
        value=32_200,
    )],
)

household = USHouseholdInput(
    people=[{"age": 40, "employment_income": 50_000,
             "is_tax_unit_head": True}],
    tax_unit={"filing_status": "SINGLE"},
    household={"state_code_str": "CA"},
    year=2026,
)
baseline = calculate_household_impact(household)
reformed = calculate_household_impact(household, policy=reform)
# The reform increases this household's net income relative to baseline.

The us_latest sentinel resolves to the bundled policyengine-us version installed alongside policyengine, so results are stable for a given pinned environment. This paper describes policyengine version 4.10.0 (PolicyEngine Contributors 2026), and the checked-in UK reproduction script examples/paper_repro_uk.py documents an executable population-level workflow using a pinned interpreter (uv run --python 3.14 --extra uk python examples/paper_repro_uk.py).

Research Impact Statement

PolicyEngine has seen use in government, policy, and research settings. In the UK, HM Treasury registered PolicyEngine in the Algorithmic Transparency Recording Standard as a tool under evaluation by its Personal Tax, Welfare and Pensions team (HM Treasury 2024), and co-author Nikhil Woodruff adapted PolicyEngine during an Innovation Fellowship with the data science team at 10 Downing Street (Woodruff 2026). In the US, the Joint Economic Committee built an immigration fiscal impact calculator on top of PolicyEngine’s microsimulation model (Joint Economic Committee, U.S. Congress 2026).

The package has also been used in external policy analysis and validation exercises. Under a memorandum of understanding with the Federal Reserve Bank of Atlanta, PolicyEngine runs three-way comparisons against TAXSIM and the Atlanta Fed’s Policy Rules Database (Federal Reserve Bank of Atlanta 2021). Organizations including the Niskanen Center and the National Institute of Economic and Social Research have used PolicyEngine in published distributional analyses (McCabe and Sargeant 2024; Mosley et al. 2025), and co-author Max Ghenis and Jason DeBacker presented related methodology work on the Enhanced CPS at the 117th Annual Conference on Taxation of the National Tax Association (Ghenis and DeBacker 2024). Additional examples of public-facing use include research collaborations and published analyses with the Better Government Lab, the Beeck Center at Georgetown University, the Institute of Economic Affairs, and Matt Unrath at the University of Southern California (Ghenis 2024b; Kennan et al. 2023, 2025; Woodruff 2024, 2025; Institute for Research on Poverty 2025).

Acknowledgements

Arnold Ventures (Arnold Ventures 2023), NEO Philanthropy (Ghenis 2024a), the Gerald Huff Fund for Humanity, and the National Science Foundation (NSF POSE Phase I, Award 2518372) (National Science Foundation 2025) funded this work in the US. The Nuffield Foundation has funded the UK work since September 2024 (Nuffield Foundation 2024). These funders had no involvement in the design, development, or content of this software or paper. All authors are employed by PolicyEngine and may benefit reputationally from the software’s adoption; this relationship is disclosed here as a potential conflict of interest.

We thank all PolicyEngine contributors and the OpenFisca community for the microsimulation framework from which PolicyEngine was forked (OpenFisca Contributors 2024). 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.

AI Usage Disclosure

The authors used generative AI tools, specifically Claude Opus 4 by Anthropic (Anthropic 2026), to assist with code refactoring. Human authors reviewed, edited, and validated all AI-assisted outputs and made all 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

Anthropic. 2026. Claude. Released. https://www.anthropic.com/claude.
Arnold Ventures. 2023. Public Finance Program. https://www.arnoldventures.org/work/public-finance.
Bourguignon, François, and Amedeo Spadaro. 2006. “Microsimulation as a Tool for Evaluating Redistribution Policies.” The Journal of Economic Inequality 4: 77–106. https://doi.org/10.1007/s10888-005-9012-6.
Congressional Budget Office. 2018. An Overview of CBO’s Microsimulation Tax Model. https://www.cbo.gov/system/files/2018-06/54096-taxmodel.pdf.
Department for Work and Pensions, Office for National Statistics, and NatCen Social Research. 2021. Family Resources Survey, 2019-2020. UK Data Service. https://doi.org/10.5255/UKDA-SN-8802-1.
EUROMOD. 2026. Download. https://euromod-web.jrc.ec.europa.eu/download-euromod.
Federal Reserve Bank of Atlanta. 2021. Policy Rules Database. https://github.com/Research-Division/policy-rules-database.
Feenberg, Daniel R., and Elisabeth Coutts. 1993. TAXSIM: A Tool for Calculating Federal and State Income Tax Liabilities.” National Tax Journal 46 (3): 271–80. https://doi.org/10.2307/3325474.
Ghenis, Max. 2024a. NEO Philanthropy Awards $200,000 Grant to PolicyEngine.” https://policyengine.org/us/research/neo-philanthropy.
Ghenis, Max. 2024b. PolicyEngine and Better Government Lab Collaboration.” https://www.policyengine.org/us/research/policyengine-better-government-lab-collaboration.
Ghenis, Max, and Jason DeBacker. 2024. Enhanced Current Population Survey: Integrating IRS Public Use File Data Using Quantile Regression Forests. https://ntanet.org/2024/07/117th-annual-conference-on-taxation-full/.
HM Treasury. 2024. HMT: PolicyEngine UK – Algorithmic Transparency Recording Standard. https://www.gov.uk/algorithmic-transparency-records/hmt-modelling-policy-engine.
HM Treasury. 2025. Impact on Households: Distributional Analysis to Accompany Spring Statement 2025. https://www.gov.uk/government/publications/supporting-documents-for-spring-statement-2025/impact-on-households-distributional-analysis-to-accompany-spring-statement-2025.
Institute for Research on Poverty. 2025. 2025–2026 IRP Extramural Large Grants. https://www.irp.wisc.edu/2025-2026-irp-extramural-large-grants/.
Joint Economic Committee, U.S. Congress. 2026. Immigration Fiscal Impact Calculator. https://www.jec.senate.gov/public/index.cfm/republicans/2026/3/immigration-fiscal-impact-calculator.
Kennan, Ariel, Alessandra Garcia Guevara, and Jason Goodman. 2025. AI-Powered Rules as Code: Experiments with Public Benefits Policy. Beeck Center for Social Impact; Innovation, Georgetown University. https://beeckcenter.georgetown.edu/report/ai-powered-rules-as-code-experiments-with-public-benefits-policy/.
Kennan, Ariel, Lisa Singh, Bianca Dammholz, Keya Sengupta, and Jason Yi. 2023. Exploring Rules Communication: Moving Beyond Static Documents to Standardized Code for U.S. Public Benefits Programs. Beeck Center for Social Impact; Innovation, Georgetown University. https://beeckcenter.georgetown.edu/report/exploring-rules-communication-moving-beyond-static-documents-to-standardized-code-for-u-s-public-benefits-programs/.
McCabe, Joshua, and Leah Sargeant. 2024. Building a Stronger Foundation for American Families: Options for Child Tax Credit Reform. Niskanen Center. https://www.niskanencenter.org/building-a-stronger-foundation-for-american-families-options-for-child-tax-credit-reform/.
Mosley, Max, Ryan Wattam, and Carol Vincent. 2025. UK Living Standards Review 2025. National Institute of Economic; Social Research. https://niesr.ac.uk/publications/uk-living-standards-review-2025.
National Science Foundation. 2025. POSE: Phase I: PolicyEngine – Advancing Public Policy Analysis. https://www.nsf.gov/awardsearch/showAward.jsp?AWD_ID=2518372.
Nuffield Foundation. 2024. Enhancing, Localising and Democratising Tax-Benefit Policy Analysis. https://www.nuffieldfoundation.org/project/enhancing-localising-and-democratising-tax-benefit-policy-analysis.
OpenFisca Contributors. 2024. OpenFisca: Open Rules as Code for Tax-Benefit Systems. Released. https://openfisca.org.
Orcutt, Guy H. 1957. “A New Type of Socio-Economic System.” Review of Economics and Statistics 39 (2): 116–23. https://doi.org/10.2307/1928528.
Policy Simulation Library. 2026. Policy Simulation Library (PSL). https://pslmodels.org/.
PolicyEngine Contributors. 2026. policyengine. V. 4.10.0. Released. https://github.com/PolicyEngine/policyengine.py.
Sutherland, Holly, and Francesco Figari. 2013. EUROMOD: The European Union Tax-Benefit Microsimulation Model.” International Journal of Microsimulation 6 (1): 4–26. https://doi.org/10.34196/ijm.00075.
Tax Policy Center. 2022. Brief Description of the Tax Model. https://taxpolicycenter.org/resources/brief-description-tax-model.
The Budget Lab at Yale. 2024. Tax Microsimulation at the Budget Lab. https://budgetlab.yale.edu/research/tax-microsimulation-budget-lab.
The Budget Lab at Yale. 2025. The Budget Lab’s Model for Tax Depreciation. https://budgetlab.yale.edu/research/budget-labs-model-tax-depreciation.
TRACE Project. 2024. TRACE Transparent Research Object Vocabulary (TROV). https://w3id.org/trace/trov/.
Waters, Tom. 2017. TAXBEN: The IFS Tax and Benefit Microsimulation Model. The IFS. https://ifs.org.uk/publications/taxben-ifs-tax-and-benefit-microsimulation-model.
Woodruff, Nikhil. 2024. Raising Employer NIC in the Autumn Budget. Institute of Economic Affairs. https://iea.org.uk/publications/raising-employer-nic-in-the-autumn-budget/.
Woodruff, Nikhil. 2025. Impact of Tax Changes 2025–2026. Institute of Economic Affairs. https://iea.org.uk/publications/impact-of-tax-changes-2025-2026/.
Woodruff, Nikhil. 2026. Informing Policy Using Micro-Simulations. https://policyengine.org/ca/research/policyengine-10-downing-street.
Woodruff, Nikhil, and Max Ghenis. 2024. “Enhancing Survey Microdata with Administrative Records: A Novel Approach to Microsimulation Dataset Construction.” https://github.com/PolicyEngine/policyengine-us-data/tree/main/paper.
Woodruff, Nikhil, Max Ghenis, and Anthony Volk. 2024. PolicyEngine Core: A Microsimulation Framework. Released. https://github.com/PolicyEngine/policyengine-core.