Project Snapshot: Policy Rules Database
The Policy Rules Database (PRD), developed by the Federal Reserve Bank of Atlanta and the National Center for Children in Poverty, consolidates complex rules for major U.S. federal and state benefit programs and tax policies into a standardized, easy-to-use format. This database allows researchers to model public assistance impacts, simulate policy changes, and analyze benefits cliffs across various household scenarios using common rules and language across different programming platforms.
Organization Description + Mission
The Policy Rules Database is a collaborative effort between the Advancing Careers for Low-Income Families Initiative at the Federal Reserve Bank of Atlanta and the National Center for Children in Poverty (NCCP). NCCP is a non-partisan research center that conducts research and translates evidence into actionable recommendations that advocates and policymakers can use to improve the lives and futures of low-income children and their families. The Advancing Careers for Low-Income Families Initiative’s mission is to carry out research on benefits cliffs and develop tools to support community and state efforts to improve economic security for families. The program also undertakes projects to help meet business talent needs to promote a healthy economy.
Approach to Elgilibility
Public assistance and tax programs in the United States are a patchwork. To help researchers navigate this complex network, the Policy Rules Database (PRD) gathers rules for major federal and state transfer programs and tax policies in the U.S. in one place. Currently the database has rules for six tax policies and twelve benefits programs, with rules for four more benefits programs in progress. By interpreting these complex rules in a common structure and common terminology, the project has created a simple-to-use database that captures policy rules in plain English, and conveys program requirements as a common set of logical or numerical entries.
The PRD was designed to help researchers analyze the impacts of public assistance programs and tax policies and create policy simulations. The database can also feed into other information tools, like the PRD Dashboard which lets users model the impacts of benefits cliffs (the point at which a rise in an individual’s or household’s income pushes them out of eligibility for a benefits program, and may leave them worse off financially). The PRD dashboard front-end lets users input information about a household (size, age of members, income information, etc.) in a given location in the U.S. to model how a household’s net income and support from public assistance programs change as their income and resources rise.
Rules Structure + Technology
NCCP has historically used Perl to program their tools (like NCCP’s Basic Needs Budget Calculator and NCCP’s Family Resource Simulator) while the Federal Reserve Bank of Atlanta uses R. To facilitate exchange between different systems/computer languages, NCCP and the Federal Reserve Bank of Atlanta agreed to create joint resources for their collaborative work. They used pseudocode to write rules (which were then captured in the PRD technical manual PDF) and collected the rules in Excel tables, forming the PRD database. This strategy makes policy rules easier to interpret and allows for policy rule parameters to be used in any programming language.
The PRD is a great example of how rules as code work can be repurposed for multiple projects. The Federal Reserve Bank of Atlanta worked in R to translate pseudocode policy rules into usable code and build the PRD Dashboard tool, which is an R Shiny interactive web app. The PRD has also been used in other tools, like MITRE’s Comprehensive Careers and Supports for Households (C-CASH) Analytic Tool, which built an API and front end application to run eligibility scenarios across different U.S. counties and states.
How They Write Rules
Team members at NCCP and the Federal Reserve Bank of Atlanta consult policy manuals and work collaboratively via Google Docs to interpret eligibility rules for programs and tax credits as pseudocode (a plain language description of steps in an algorithm or other system that is human-readable and not specific to a particular programming language.) Using pseudocode internally allows the team to capture the rules in a non-specific programming language and walk through the logic of a given rule. The rules can also be applied in various languages for different projects and the pseudocode rules become a public resource.
Project members are working to improve how they track policy changes to formalize update processes for the PRD. Additionally, future work may try to address how rules in the PRD represent more special cases for eligibility, including larger household sizes or families where households are defined across multiple locations.
The PRD shows how developing rules as code as a public good can benefit multiple projects. In the long term, plain language interpretations of complex eligibility rules can also help democratize access to policy.