-
-
Notifications
You must be signed in to change notification settings - Fork 157
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
TaxBrain and inctax.py/Tax-Calculator results are not same in 0.7.3 #1133
Comments
I am looking at this now. I tried some naïve scripting that does what I think is done in inctax.py but I got the same answer as in dropq. Can you tell me the exact way to run the IncomeTaxIO code with |
@talumbau, Thanks for looking into issue #1133.
Well, I guess, you could do this two ways: (1) From the system command line along the lines of the comment at the top of
(2) From a custom Python script that uses the IncomeTaxIO class like it is used in the |
OK, very good. After I execute the line |
@talumbau said:
Read the comments at the top of
|
@martinholmer thanks for that info. I don't have a definite answer, but could you look at this gist: https://gist.github.com/talumbau/cdf100eb84a8be8c57ce5789be6de9ab This is a script that exactly matches what TaxBrain does for the year 2022 when given a start year of 2017 and the reform |
@martinholmer I have discovered the issue: it is whether or not you apply the Consumption parameters to the baseline Calculator. In dropq/TaxBrain, we do apply the Consumption parameters. In IncomeTaxIO, you do not apply the Consumption parameters to the baseline calculation. In the gist I shared in the link above, if you comment out line 25, you will get the IncomeTaxIO values of:
if you run the script as-is, you get the TaxBrain values of:
The reason I applied the Consumption parameters to the baseline is due to the answer I got to this question: So, is there a disagreement on how to handle the Consumption parameters? cc @MattHJensen |
@talumbau said:
Yes that is the source of the differences. Thanks for pointing this out. |
Sure. Keeping this open until PR is merged that unifies handling of Consumption parameters in dropq and in IncomeTaxIO. |
After TaxBrain 0.7.3 started using an up-to-date version of the
puf.csv
file, issue #1119 was resolved and closed. Since then there has been more testing of the TaxBrain file upload capability, most of which has been positive.For example, static analysis of the reform in
file0.json
--- which is complicated enough that it cannot be represented using the parameter-value-interface to TaxBrain --- produces the same 2022 results whenfile0.json
is uploaded to TaxBrain running in the cloud and whenfile0.json
is supplied to theinctax.py
command-line interface to Tax-Calculator on a local computer.And when the policy reform in
file0.json
is analyzed assuming a behavioral response, the TaxBrain andinctax.py
results are the same as shown infile1.json
.And when the policy reform in
file0.json
is analyzed assuming a consumption response (but no behavioral response), the TaxBrain andinctax.py
results are the same as shown infile2.json
. Notice that the results generated byfile2.json
and the staticfile0.json
are exactly the same. This makes sense because the consumption response affects only the marginal tax rates which in turn affect behavioral responses, which are not present infile2.json
.Full agreement thus far.
But when we combine the behavioral response in
file1.json
with the consumption response infile2.json
, we havefile3.json
, which does not produce the same results when it is uploaded to TaxBrain and when it is used byinctax.py
.The differences in aggregate tax revenue results shown in
file3.json
suggest that TaxBrain andinctax.py
are not using the Consumption object in the same way. The only place where the Consumption class is used byinctax.py
is in these few lines of the IncomeTaxIO class constructor. I've looked briefly at thedropq.py
code but cannot figure out exactly what is being done there. @talumbau can you see a difference in how the Consumption class is being used by TaxBrain and by the IncomeTaxIO class?@MattHJensen @feenberg @Amy-Xu @andersonfrailey @GoFroggyRun @PeterDSteinberg
The text was updated successfully, but these errors were encountered: