-
-
Notifications
You must be signed in to change notification settings - Fork 158
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
Add fields and reorganize current_law_policy.json #1074
Comments
On Sun, 20 Nov 2016, Matt Jensen wrote:
These seem like really good ideas. Perhaps the TB web page could have dan |
@MattHJensen said:
In this case I recommend separating the "section" and "subsection" data into two values so that we don't have to do that via string parsing later. Generally, root data sources like However, you may actually want to organize this file (or a separate file providing organization to the items defined in this file) as a directed graph with different length branches, depending on the answer to the question I pose below regarding Tax Policy structure.
I suggest separating our thinking about Tax Policy from the structure of Taxpayer Data, especially since a long term objective is to work with more diverse tax policy structures. Tax Policy doesn't evolve around Taxpayer Data's structure/availability, because tax collection agencies can always just request more data. And I think this will become more of a trend whenever they start collecting that data in digital form. If you think about the concept of "Tax Policy" in isolation, does a more natural grouping of topics and parameters emerge? This is a complex question, and unfortunately not one I'm well equipped to answer, but I think it will be helpful both for organizing this data as well guiding our approach to more generalized policy modeling. @feenberg @MattHJensen @PeterDSteinberg @martinholmer
"Random" is never a great ordering strategy. 😄 I suggest ordering items alphabetically once the order implied by their relationships has been exhausted.
I think you could indicate this visually instead of via ordering, i.e. "grey out" the area surrounding parameters that are currently unused (due to their value or the value of higher-level parameters). Save the ordering for indicating structure.
It will be a bit of extra maintenance work. When changing the way policy is coded, a contributor must remember to update this field if usable data changes, and the relationships may not be easy to trace. These fields could also be affected by changes to any of the listed data sets. It's also computationally expensive to enforce via automated testing. However, the value prop you described is definitely there. The rest of @MattHJensen's comments I completely agree with. This sounds very valuable. @feenberg said:
100% agree, and nice to see this is tracked now in ospc-org/ospc.org#417. |
@zrisher, thank you very much for your comments. There is one that I don't fully understand, though:
What would it mean to, "organize this file (or a separate file providing organization to the items defined in this file) as a directed graph with different length branches"? |
@MattHJensen Per our conversation, I'm working on presenting a possible architecture for a more modular tax calculation model that will elucidate my suggestion you referenced. |
Thanks @zrisher |
1, 2, and 4 are resolved by #1109. Opening new issues for 3a and 3b. |
I am thinking about opening a few PRs to augment and reorganize
taxcalc/current_law_policy.json
and am interested in feedback from others before I undertake the project.While I strongly believe these changes will be helpful for Tax-Calculator users, I'll admit that my original motivation for thinking about this project is to facilitate coordination between the Tax-Calculator and TaxBrain teams. In particular, I hope to include enough information in
current_law_policy.json
to enable a set of rules that fully specifies what content should appear on the TaxBrain input page.This approach could be useful for B-Tax and CCC as well.
Currently the primary disconnects between the TB input page and
current_law_policy.json
are:current_law_policy.json
parameters are only informally grouped into sections by reference in the title name.current_law_policy.json
is roughly ordered by where the parameters appear intaxcalc/functions.py.
current_law_policy.json
, rather it only includes parameters of principle importance.II_rt
s andII_brk
s as well asPT_rt
s andPT_brk
sCG_rt
s andCG_bk
s as well asAMT_CG_rt
s andAMT_CG_brk
s.To resolve these four disconnects I propose to:
section
field to each parameter incurrent_law_policy
that would contain a string: "section: subsection".current_law_policy.json
according to this schema:current_law_policy.json
.taxdata_puf
is the only option).current_law_policy.json
proliferate, we may want to add a "primary_importance" indicator field or alternatively a "advanced_user" indicator field which we could take advantage of in some clever way in the TaxBrain user interface to highlight some parameters and not others, but for now I think we are fine displaying everything.long_name
anddescription
fieldscurrent_law_policy.json.
cc @Amy-Xu, @talumbau, @martinholmer, @feenberg, @codykallen, @GoFroggyRun, @PeterDSteinberg, @jdebacker, @zrisher
The text was updated successfully, but these errors were encountered: