Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Model Extension: Defining Non-Parametric Reforms #2598

Open
jdebacker opened this issue Jun 17, 2021 · 1 comment
Open

Model Extension: Defining Non-Parametric Reforms #2598

jdebacker opened this issue Jun 17, 2021 · 1 comment

Comments

@jdebacker
Copy link
Member

Spurred by a nice discussion with @nikhilwoodruff about the OpenFisca platform, I wanted to write down some notes for future reference about how Tax-Calculator might be enhanced so as to allow users flexibility to define non-parametric reforms more easily.

One path:

  1. Finish off PR [WIP] Vectorize all tax calculation functions #2585 to vectorize functions and remove jit decorators.
  2. Pass just Policy and Records objects to all functions in calcfuctions.py, rather than tuples of variable and parameter names.
  3. Define a class that has each function in calcfunctions.py as a method (or as each function defined as a class). Call this super class CF for now.

One can then define a non-parametric reform by creating an instance of the CF class and then updating an existing method or adding a new one. This would be similar to what is done to create a reform in OpenFisca, where a variable class is updated/created.

cc @hdoupe

@MattHJensen
Copy link
Contributor

Would be neat to see how recipe 6 might look after these changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants