PolicyEngine / policyengine-app

PolicyEngine's free web app for computing the impact of public policy.
GNU Affero General Public License v3.0
36 stars 92 forks source link

Reproduce in Python only sets reported state income tax in baseline, not reform #1337

Closed MaxGhenis closed 4 months ago

anth-volk commented 5 months ago

To be clear on this - if someone calculates a household in the US, then selects to create a reform, then wants to reproduce that entire thing in Python, would they need the same code US state income tax settings for both the baseline and the reform added in the same way that they are in Reproduce in Python for the policy calculator?

MaxGhenis commented 5 months ago

We should always apply the same reported_state_income_tax setting between baseline and reform. This should be true only for US-wide microsimulations; for state microsimulations and household simulations it should be false.

anth-volk commented 5 months ago

I hate to ask this question, but how does one apply a modified baseline (not reform) to a household Situation-type object? I tried defining a new TaxBenefitSystem type, but was unable to do so that way, and there's no parameter like baseline. I believe this is the last bit of code I need to work on before fixing this, #1327, and #1334

MaxGhenis commented 5 months ago

Same as with microsimulation: you modify the baseline by passing a reform. A modified baseline is just another name for a reform (effectively we're often comparing two reforms).

But we shouldn't need a custom baseline for household scenarios, only US microsimulations.