-
Notifications
You must be signed in to change notification settings - Fork 14
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
Need for more variables returned from response function #38
Comments
@martinholmer, thanks for opening this issue. Could you please describe what you mean by "safe"? It would be helpful if you did the same for "efficient." |
I would like to access the record-level data for all variables that behresp modifies, including both the tax-calculation input variables directly modified by behresp and the tax-calculation output variables influenced by those modifications. |
@MattHJensen said:
We'll get to that after we've defined the problem and begin considering solutions. Meanwhile, I hope you can describe your experiences. What extra response data were useful in your work? |
@martinholmer the biggest thing I wanted to do was use the calculator's MTR methods. I'm not sure how that would be possible without returning the calculator itself. I suppose additional functions/arguments could be added to Behavior Response, but that seems like it would be inefficient to do. |
@andersonfrailey, what was the purpose of calculating MTRs on the post response calculator object? Which MTRs did you want to calculate? |
@MattHJensen said in issue #38:
Thanks for the clear request. |
@andersonfrailey first said in issue #38:
Then he said:
So which is it? To me "data" means variables computed in the |
@martinholmer this was just to compare MTRs between the baseline policy and the reform. I wanted to calculate the combined MTRs. |
@andersonfrailey said:
OK that's good to know. But I still have two questions.
|
@martinholmer asked:
After the responses And:
Wages and salary income, |
Given the needs for extra response data expressed by @MattHJensen and @andersonfrailey in Behavioral-Responses issue #38, I think best solution is to add an optional This seems like it will meet users extra-data needs in an efficient and safe way. This proposed change does not involve an API change (which would be expensive in developer time) and does not slow down the most common use of the |
The --dump feature satisfies my needs. If anything new comes up in the future, I will open an issue (rather than go crazy in a PR). |
I would be happy to implement this feature sometime in February, unless you would prefer to do it or do it sooner, @martinholmer or @andersonfrailey. |
@MattHJensen said:
Thanks for the offer, but in making the proposal I had to outline the implementation. Given that I'll be able to do it quite quickly, and I think it would be good to include in the next release, which I imagine will be in the next few days (after T-C PR 2212 is merged). |
Ok, that sounds great. Thanks, Martin. |
@andersonfrailey, Are you OK with the enhancement proposed in Behavioral-Responses issue #38? |
@martinholmer yes, this is good with me. Thanks! |
In the original design of the Behavioral-Responses
response
function, it returned two DataFrame objects: the 22DISTRIBUTION_VARIABLES
from the pre-reform Calculator object passed to the function and the 22DISTRIBUTION_VARIABLES
from the post-reform Calculator object passed to the function including the effects of the behavioral responses. This design returned all the variables needed to construct diagnostic, distribution, and difference tables, and hence, met all the high-level data demands of the TaxBrain webapp and Python users constructing the standard tables.But it has recently come to light that some users have an interest in seeing additional variables that are currently internal to the
response
function. This is a legitimate enhancement request but nobody had raised an issue describing their extra-data needs and asking for those needs to be met. Because nobody else has done that, I'm doing that here. This is the place to describe your extra-response-data needs. When we have a clear description of the needs, we can discuss how to meet these needs in a safe and efficient manner.The first evidence of an extra-response-data need was in this PR #37 comment by @MattHJensen:
And then @andersonfrailey said he was the user referred to in the fourth bullet:
In order to figure out how to meet these extra-response-data needs in a safe and efficient manner, I need a description of the problems users are experiencing. It is not appropriate to discuss solution options until we have a description of the problem. Which extra response variables (other the the 22 variables already returned) were needed ?
The text was updated successfully, but these errors were encountered: