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..10283448 --- /dev/null +++ b/paper.bib @@ -0,0 +1,251 @@ +@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} +} + +@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}}, + 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} +} + +@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, + 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/} +} + +@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={{TAXSIM} -- {National Bureau of Economic Research}}, + author={Feenberg, Daniel R.}, + year={2024}, + note={References PolicyEngine as successor to TAXSIM under a formal memorandum of understanding}, + url={https://taxsim.nber.org/} +} + +@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://ntanet.org/2024/07/117th-annual-conference-on-taxation-full/} +} + +@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/} +} + +@online{pe_bgl, + title={{PolicyEngine} and {Better Government Lab} Collaboration}, + author={Ghenis, Max}, + year={2024}, + url={https://www.policyengine.org/us/research/policyengine-better-government-lab-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, + 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/} +} + +@misc{pe_dctc, + title={{District Child Tax Credit Amendment Act} of 2023}, + author={{Council of the District of Columbia}}, + year={2023}, + note={Bill B25-0190, introduced by Councilmember Zachary Parker}, + url={https://lims.dccouncil.gov/Legislation/B25-0190} +} + +@misc{pe_keepyourpay, + title={Booker Announces {Keep Your Pay Act}}, + author={{Office of Senator Cory Booker}}, + year={2026}, + month={3}, + url={https://www.booker.senate.gov/news/press/booker-announces-keep-your-pay-act} +} + +@misc{arnold_ventures, + title={Public Finance Program}, + author={{Arnold Ventures}}, + year={2023}, + 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}, + year={2024}, + 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}}, + 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..4b6e9063 --- /dev/null +++ b/paper.md @@ -0,0 +1,88 @@ +--- +title: "PolicyEngine: A Tax-Benefit Microsimulation Framework" +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: Pavel Makarchuk + 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 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. 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 + +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: + +- **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 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 + +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 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** 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** classes manage geographic scope, enabling sub-national analysis for regions within each country. + +# Research Impact Statement + +PolicyEngine has demonstrated research impact across government, academia, and policy research in both the US and UK. + +**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]. + +**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]. + +**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.** 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 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 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 + +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