taxcalc 4.2.1__py3-none-any.whl → 4.2.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. taxcalc/__init__.py +1 -1
  2. taxcalc/assumptions/ASSUMPTIONS.md +53 -0
  3. taxcalc/assumptions/README.md +17 -0
  4. taxcalc/assumptions/economic_assumptions_template.json +77 -0
  5. taxcalc/calcfunctions.py +7 -4
  6. taxcalc/data.py +10 -5
  7. taxcalc/policy_current_law.json +2033 -184
  8. taxcalc/reforms/2017_law.json +125 -0
  9. taxcalc/reforms/2017_law.out.csv +10 -0
  10. taxcalc/reforms/ARPA.json +78 -0
  11. taxcalc/reforms/ARPA.out.csv +10 -0
  12. taxcalc/reforms/BrownKhanna.json +23 -0
  13. taxcalc/reforms/BrownKhanna.out.csv +10 -0
  14. taxcalc/reforms/CARES.json +40 -0
  15. taxcalc/reforms/CARES.out.csv +10 -0
  16. taxcalc/reforms/ConsolidatedAppropriationsAct2021.json +15 -0
  17. taxcalc/reforms/ConsolidatedAppropriationsAct2021.out.csv +10 -0
  18. taxcalc/reforms/Larson2019.json +36 -0
  19. taxcalc/reforms/Larson2019.out.csv +10 -0
  20. taxcalc/reforms/README.md +22 -0
  21. taxcalc/reforms/REFORMS.md +92 -0
  22. taxcalc/reforms/Renacci.json +61 -0
  23. taxcalc/reforms/Renacci.out.csv +10 -0
  24. taxcalc/reforms/SandersDeFazio.json +15 -0
  25. taxcalc/reforms/SandersDeFazio.out.csv +10 -0
  26. taxcalc/reforms/TCJA.json +160 -0
  27. taxcalc/reforms/TCJA.md +48 -0
  28. taxcalc/reforms/TCJA.out.csv +10 -0
  29. taxcalc/reforms/Trump2016.json +71 -0
  30. taxcalc/reforms/Trump2016.out.csv +10 -0
  31. taxcalc/reforms/Trump2017.json +51 -0
  32. taxcalc/reforms/Trump2017.out.csv +10 -0
  33. taxcalc/reforms/archive/Clinton2016.json +56 -0
  34. taxcalc/reforms/archive/RyanBrady.json +104 -0
  35. taxcalc/reforms/archive/TCJA_House.json +144 -0
  36. taxcalc/reforms/archive/TCJA_House_Amended.json +152 -0
  37. taxcalc/reforms/archive/TCJA_Reconciliation.json +187 -0
  38. taxcalc/reforms/archive/TCJA_Senate.json +116 -0
  39. taxcalc/reforms/archive/TCJA_Senate_111417.json +169 -0
  40. taxcalc/reforms/archive/TCJA_Senate_120117.json +174 -0
  41. taxcalc/reforms/cases.csv +10 -0
  42. taxcalc/reforms/clp.out.csv +10 -0
  43. taxcalc/reforms/ext.json +59 -0
  44. taxcalc/reforms/growfactors_ext.csv +65 -0
  45. taxcalc/reforms/ptaxes0.json +37 -0
  46. taxcalc/reforms/ptaxes0.out.csv +10 -0
  47. taxcalc/reforms/ptaxes1.json +21 -0
  48. taxcalc/reforms/ptaxes1.out.csv +10 -0
  49. taxcalc/reforms/ptaxes2.json +18 -0
  50. taxcalc/reforms/ptaxes2.out.csv +10 -0
  51. taxcalc/reforms/ptaxes3.json +28 -0
  52. taxcalc/reforms/ptaxes3.out.csv +10 -0
  53. taxcalc/reforms/rounding2022.json +153 -0
  54. taxcalc/reforms/rounding2022.out.csv +10 -0
  55. taxcalc/tests/benefits_expect.csv +169 -0
  56. taxcalc/tests/cmpi_cps_expect.txt +132 -0
  57. taxcalc/tests/cmpi_puf_expect.txt +132 -0
  58. taxcalc/tests/conftest.py +143 -0
  59. taxcalc/tests/cpscsv_agg_expect.csv +26 -0
  60. taxcalc/tests/puf_var_correl_coeffs_2016.csv +80 -0
  61. taxcalc/tests/puf_var_wght_means_by_year.csv +80 -0
  62. taxcalc/tests/pufcsv_agg_expect.csv +26 -0
  63. taxcalc/tests/pufcsv_mtr_expect.txt +63 -0
  64. taxcalc/tests/reforms.json +649 -0
  65. taxcalc/tests/reforms_expect.csv +65 -0
  66. taxcalc/tests/test_4package.py +67 -0
  67. taxcalc/tests/test_benefits.py +86 -0
  68. taxcalc/tests/test_calcfunctions.py +871 -0
  69. taxcalc/tests/test_calculator.py +1021 -0
  70. taxcalc/tests/test_compare.py +336 -0
  71. taxcalc/tests/test_compatible_data.py +338 -0
  72. taxcalc/tests/test_consumption.py +144 -0
  73. taxcalc/tests/test_cpscsv.py +163 -0
  74. taxcalc/tests/test_data.py +133 -0
  75. taxcalc/tests/test_decorators.py +332 -0
  76. taxcalc/tests/test_growdiff.py +102 -0
  77. taxcalc/tests/test_growfactors.py +94 -0
  78. taxcalc/tests/test_parameters.py +617 -0
  79. taxcalc/tests/test_policy.py +1575 -0
  80. taxcalc/tests/test_puf_var_stats.py +194 -0
  81. taxcalc/tests/test_pufcsv.py +385 -0
  82. taxcalc/tests/test_records.py +234 -0
  83. taxcalc/tests/test_reforms.py +385 -0
  84. taxcalc/tests/test_responses.py +41 -0
  85. taxcalc/tests/test_taxcalcio.py +755 -0
  86. taxcalc/tests/test_tmdcsv.py +38 -0
  87. taxcalc/tests/test_utils.py +792 -0
  88. taxcalc/tmd_growfactors.csv +54 -54
  89. taxcalc/tmd_weights.csv.gz +0 -0
  90. taxcalc/validation/CSV_INPUT_VARS.md +29 -0
  91. taxcalc/validation/CSV_OUTPUT_VARS.md +63 -0
  92. taxcalc/validation/README.md +68 -0
  93. taxcalc/validation/taxsim35/Differences_Explained.md +54 -0
  94. taxcalc/validation/taxsim35/README.md +139 -0
  95. taxcalc/validation/taxsim35/expected_differences/a17-taxdiffs-expect.csv +25 -0
  96. taxcalc/validation/taxsim35/expected_differences/a18-taxdiffs-expect.csv +25 -0
  97. taxcalc/validation/taxsim35/expected_differences/a19-taxdiffs-expect.csv +25 -0
  98. taxcalc/validation/taxsim35/expected_differences/a20-taxdiffs-expect.csv +25 -0
  99. taxcalc/validation/taxsim35/expected_differences/a21-taxdiffs-expect.csv +25 -0
  100. taxcalc/validation/taxsim35/expected_differences/b17-taxdiffs-expect.csv +25 -0
  101. taxcalc/validation/taxsim35/expected_differences/b18-taxdiffs-expect.csv +25 -0
  102. taxcalc/validation/taxsim35/expected_differences/b19-taxdiffs-expect.csv +25 -0
  103. taxcalc/validation/taxsim35/expected_differences/b20-taxdiffs-expect.csv +25 -0
  104. taxcalc/validation/taxsim35/expected_differences/b21-taxdiffs-expect.csv +25 -0
  105. taxcalc/validation/taxsim35/expected_differences/c17-taxdiffs-expect.csv +25 -0
  106. taxcalc/validation/taxsim35/expected_differences/c18-taxdiffs-expect.csv +25 -0
  107. taxcalc/validation/taxsim35/expected_differences/c19-taxdiffs-expect.csv +25 -0
  108. taxcalc/validation/taxsim35/input_setup.py +67 -0
  109. taxcalc/validation/taxsim35/main_comparison.py +183 -0
  110. taxcalc/validation/taxsim35/prepare_taxcalc_input.py +161 -0
  111. taxcalc/validation/taxsim35/process_taxcalc_output.py +140 -0
  112. taxcalc/validation/taxsim35/taxsim_emulation.json +49 -0
  113. taxcalc/validation/taxsim35/taxsim_input.py +321 -0
  114. taxcalc/validation/taxsim35/tc_sims.py +98 -0
  115. taxcalc/validation/taxsim35/tests_35.py +80 -0
  116. taxcalc/validation/tests_35.sh +13 -0
  117. {taxcalc-4.2.1.dist-info → taxcalc-4.2.2.dist-info}/METADATA +3 -4
  118. taxcalc-4.2.2.dist-info/RECORD +144 -0
  119. {taxcalc-4.2.1.dist-info → taxcalc-4.2.2.dist-info}/WHEEL +1 -1
  120. taxcalc-4.2.1.dist-info/RECORD +0 -34
  121. {taxcalc-4.2.1.dist-info → taxcalc-4.2.2.dist-info}/LICENSE +0 -0
  122. {taxcalc-4.2.1.dist-info → taxcalc-4.2.2.dist-info}/entry_points.txt +0 -0
  123. {taxcalc-4.2.1.dist-info → taxcalc-4.2.2.dist-info}/top_level.txt +0 -0
@@ -1,55 +1,55 @@
1
1
  YEAR,ATXPY,ASCHF,ABOOK,ACPIU,ACPIM,AWAGE,ASCHCI,ASCHCL,ASCHEI,ASCHEL,AINTS,ADIVS,ACGNS,ASOCSEC,AUCOMP,AIPD,ABENOTHER,ABENMCARE,ABENMCAID,ABENSSI,ABENSNAP,ABENWIC,ABENHOUSING,ABENTANF,ABENVET
2
- 2021,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
3
- 2022,1.014347,1.742914,1.047552,1.07229,1.040311,1.076282,1.022527,1.022546,1.047553,1.047566,1.049118,1.042358,0.631565,1.04749,0.152665,1.022138,1.030159,1.048769,1.047573,0.999851,1.0,1.002545,1.034942,1.0,1.0
4
- 2023,1.050108,0.653145,1.091056,1.05402,1.004761,1.050035,1.013156,1.013121,1.091037,1.091047,1.026196,1.126711,1.0525,1.085497,0.748857,1.058072,1.030193,1.050822,1.048715,1.000448,1.0,1.003807,1.034968,1.0,1.0
5
- 2024,1.046242,0.895528,1.007166,1.0255,1.01407,1.040377,1.0397,1.03963,1.007187,1.007157,1.156028,1.023049,0.932271,1.052921,1.337549,1.054081,1.030334,1.048426,1.051767,0.99776,1.0,1.002528,1.034951,1.0,1.0
6
- 2025,1.040442,0.963117,1.020457,1.02198,0.958663,1.038977,1.037682,1.037745,1.020415,1.020444,1.091746,1.02538,0.97747,1.031721,1.154874,1.047914,1.030635,1.046248,1.052213,1.002245,1.0,1.003783,1.034897,1.0,1.0
7
- 2026,1.039294,0.987094,1.014705,1.02074,1.014023,1.035978,1.037783,1.037762,1.014711,1.014716,1.098184,1.019802,0.970235,1.030992,1.035291,1.046856,1.030633,1.072236,1.0,0.999552,1.0,1.002513,1.034808,1.0,1.0
8
- 2027,1.037119,0.998822,1.017535,1.01946,1.013312,1.033569,1.03414,1.034138,1.017568,1.017583,1.066606,1.013266,0.993714,1.031791,1.045541,1.044372,1.030788,1.0,1.0,1.0,1.0,1.002506,1.034863,1.0,1.0
9
- 2028,1.036799,1.006582,1.023966,1.01942,1.013356,1.033042,1.031594,1.03158,1.023985,1.02393,1.050716,1.021542,1.009158,1.03344,1.043558,1.043967,1.030942,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
10
- 2029,1.035913,1.010333,1.028149,1.01966,1.013612,1.033365,1.030869,1.030888,1.028085,1.028143,1.03013,1.032091,1.018962,1.033664,1.045739,1.042825,1.031131,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
11
- 2030,1.036423,1.01018,1.024121,1.01977,1.013855,1.03321,1.030563,1.030595,1.02417,1.024128,1.036979,1.032934,1.024538,1.034401,1.043738,1.043174,1.03133,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
12
- 2031,1.036362,1.010259,1.024733,1.01991,1.014016,1.032812,1.031233,1.03124,1.024699,1.024734,1.039197,1.032793,1.027842,1.036645,1.038241,1.042951,1.03151,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
13
- 2032,1.036409,1.009979,1.028,1.01999,1.014306,1.032126,1.032334,1.032295,1.028004,1.027983,1.04014,1.03261,1.029719,1.036435,1.031319,1.042807,1.031644,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
14
- 2033,1.035793,1.008195,1.02813,1.02002,1.014309,1.031481,1.033961,1.033991,1.028128,1.02811,1.031669,1.03246,1.030798,1.037554,1.028443,1.042009,1.031857,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
15
- 2034,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
16
- 2035,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
17
- 2036,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
18
- 2037,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
19
- 2038,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
20
- 2039,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
21
- 2040,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
22
- 2041,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
23
- 2042,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
24
- 2043,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
25
- 2044,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
26
- 2045,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
27
- 2046,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
28
- 2047,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
29
- 2048,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
30
- 2049,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
31
- 2050,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
32
- 2051,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
33
- 2052,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
34
- 2053,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
35
- 2054,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
36
- 2055,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
37
- 2056,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
38
- 2057,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
39
- 2058,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
40
- 2059,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
41
- 2060,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
42
- 2061,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
43
- 2062,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
44
- 2063,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
45
- 2064,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
46
- 2065,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
47
- 2066,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
48
- 2067,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
49
- 2068,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
50
- 2069,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
51
- 2070,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
52
- 2071,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
53
- 2072,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
54
- 2073,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
55
- 2074,1.035385,1.008203,1.02971,1.02,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.03748,1.029528,1.041408,1.032059,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
2
+ 2021,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
3
+ 2022,1.014347,1.742914,1.047552,1.072290,1.040311,1.175282,1.022527,1.022546,1.047553,1.047566,1.049118,1.003358,0.592565,0.855490,0.152665,1.022138,1.030159,1.048769,1.047573,0.999851,1.000000,1.002545,1.034942,1.000000,1.000000
4
+ 2023,1.050108,0.653145,1.091056,1.054020,1.004761,1.050035,1.013156,1.013121,1.091037,1.091047,1.026196,1.126711,1.052500,1.085497,0.748857,1.058072,1.030193,1.050822,1.048715,1.000448,1.000000,1.003807,1.034968,1.000000,1.000000
5
+ 2024,1.046242,0.895528,1.007166,1.025500,1.014070,1.040377,1.039700,1.039630,1.007187,1.007157,1.156028,1.023049,0.932271,1.052921,1.337549,1.054081,1.030334,1.048426,1.051767,0.997760,1.000000,1.002528,1.034951,1.000000,1.000000
6
+ 2025,1.040442,0.963117,1.020457,1.021980,0.958663,1.038977,1.037682,1.037745,1.020415,1.020444,1.091746,1.025380,0.977470,1.031721,1.154874,1.047914,1.030635,1.046248,1.052213,1.002245,1.000000,1.003783,1.034897,1.000000,1.000000
7
+ 2026,1.039294,0.987094,1.014705,1.020740,1.014023,1.035978,1.037783,1.037762,1.014711,1.014716,1.098184,1.019802,0.970235,1.030992,1.035291,1.046856,1.030633,1.072236,1.000000,0.999552,1.000000,1.002513,1.034808,1.000000,1.000000
8
+ 2027,1.037119,0.998822,1.017535,1.019460,1.013312,1.033569,1.034140,1.034138,1.017568,1.017583,1.066606,1.013266,0.993714,1.031791,1.045541,1.044372,1.030788,1.000000,1.000000,1.000000,1.000000,1.002506,1.034863,1.000000,1.000000
9
+ 2028,1.036799,1.006582,1.023966,1.019420,1.013356,1.033042,1.031594,1.031580,1.023985,1.023930,1.050716,1.021542,1.009158,1.033440,1.043558,1.043967,1.030942,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
10
+ 2029,1.035913,1.010333,1.028149,1.019660,1.013612,1.033365,1.030869,1.030888,1.028085,1.028143,1.030130,1.032091,1.018962,1.033664,1.045739,1.042825,1.031131,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
11
+ 2030,1.036423,1.010180,1.024121,1.019770,1.013855,1.033210,1.030563,1.030595,1.024170,1.024128,1.036979,1.032934,1.024538,1.034401,1.043738,1.043174,1.031330,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
12
+ 2031,1.036362,1.010259,1.024733,1.019910,1.014016,1.032812,1.031233,1.031240,1.024699,1.024734,1.039197,1.032793,1.027842,1.036645,1.038241,1.042951,1.031510,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
13
+ 2032,1.036409,1.009979,1.028000,1.019990,1.014306,1.032126,1.032334,1.032295,1.028004,1.027983,1.040140,1.032610,1.029719,1.036435,1.031319,1.042807,1.031644,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
14
+ 2033,1.035793,1.008195,1.028130,1.020020,1.014309,1.031481,1.033961,1.033991,1.028128,1.028110,1.031669,1.032460,1.030798,1.037554,1.028443,1.042009,1.031857,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
15
+ 2034,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
16
+ 2035,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
17
+ 2036,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
18
+ 2037,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
19
+ 2038,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
20
+ 2039,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
21
+ 2040,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
22
+ 2041,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
23
+ 2042,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
24
+ 2043,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
25
+ 2044,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
26
+ 2045,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
27
+ 2046,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
28
+ 2047,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
29
+ 2048,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
30
+ 2049,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
31
+ 2050,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
32
+ 2051,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
33
+ 2052,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
34
+ 2053,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
35
+ 2054,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
36
+ 2055,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
37
+ 2056,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
38
+ 2057,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
39
+ 2058,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
40
+ 2059,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
41
+ 2060,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
42
+ 2061,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
43
+ 2062,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
44
+ 2063,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
45
+ 2064,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
46
+ 2065,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
47
+ 2066,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
48
+ 2067,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
49
+ 2068,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
50
+ 2069,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
51
+ 2070,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
52
+ 2071,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
53
+ 2072,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
54
+ 2073,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
55
+ 2074,1.035385,1.008203,1.029710,1.020000,1.014443,1.030912,1.033294,1.033253,1.029705,1.029722,1.027096,1.032231,1.031308,1.037480,1.029528,1.041408,1.032059,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000
Binary file
@@ -0,0 +1,29 @@
1
+ CSV Input Variables
2
+ ===================
3
+
4
+ This document describes CSV-formatted files that can be used as input
5
+ in the validation of Tax-Calculator. These input files are used with
6
+ the tc CLI to Tax-Calculator to produce output files as described in
7
+ the [tc CLI section of the user
8
+ documentation](https://PSLmodels.github.io/Tax-Calculator/index.html#cli).
9
+
10
+ Input Variables Documentation
11
+ -----------------------------
12
+
13
+ A list of all the input variables Tax-Calculator can use in its
14
+ calculations is available in the [Input Variables section of the user
15
+ documentation](https://PSLmodels.github.io/Tax-Calculator/index.html#input).
16
+
17
+ Sample Input File
18
+ -----------------
19
+
20
+ The following input file contains only 24 of the input variables
21
+ listed above (all others are assumed to have a value of zero) and
22
+ contains only the variable-name header row and three filing-unit rows.
23
+
24
+ ```
25
+ e00200p,XTOT,e00200s,e00650,e01700,e18500,EIC,RECID,p22250,e00300,e00200,age_head,f2441,age_spouse,n24,p23250,e00600,e18400,FLPDYR,e02400,e02300,MARS,e32800,e19200
26
+ 8200.0,2,6200.0,1000.0,16000.0,6400.0,0,1,5000.0,7000.0,14400.0,70,0,50,0,-5000.0,1000.0,25600.0,2015,50000.0,3000.0,2,0.0,5000.0
27
+ 19200.0,2,1700.0,2000.0,28000.0,3477.0,0,2,4000.0,3000.0,20900.0,70,0,50,0,2000.0,2000.0,10430.0,2015,14000.0,3000.0,2,0.0,18543.0
28
+ 17300.0,2,17800.0,7000.0,12000.0,0.0,0,3,-1000.0,1000.0,35100.0,70,0,50,0,3000.0,7000.0,38408.0,2015,40000.0,2000.0,2,0.0,8642.0
29
+ ```
@@ -0,0 +1,63 @@
1
+ CSV Output Variables
2
+ ====================
3
+
4
+ This document describes CSV-formatted files that can be generated by
5
+ the tc CLI to Tax-Calculator, as part of the process of validating
6
+ Tax-Calculator. These output files are generated as described in the
7
+ [tc CLI section of the user
8
+ documentation](https://PSLmodels.github.io/Tax-Calculator/index.html#cli).
9
+
10
+ Output Variables Documentation
11
+ ------------------------------
12
+
13
+ A list of all the output variables Tax-Calculator can calculate is
14
+ available in the [Output Variables section of the user
15
+ documentation](https://PSLmodels.github.io/Tax-Calculator/index.html#output).
16
+ All these variables are included in the tc CLI output file when either
17
+ the `--dump` or the `--sqldb` option is used.
18
+
19
+ Validation Output Variables
20
+ ---------------------------
21
+
22
+ Only a few of the `--dump`/`--sqldb` output variables are useful in
23
+ validation work. Here is a list of those most useful and a note on
24
+ what the tax calculations assume about jobs held during the tax year.
25
+
26
+ | Var-name | Var-description
27
+ | :------- | :-------
28
+ | RECID | unique numeric identifer for filing unit (from input)
29
+ | FLPDYR | calendar year for which taxes are calculated
30
+ | iitax | total federal individual income taxes (see NOTE below)
31
+ | payrolltax | total payroll taxes (see NOTE below for details)
32
+ | c00100 | adjusted gross income (AGI)
33
+ | c02500 | social security benefits included in AGI
34
+ | c04600 | personal exemption after phase-out
35
+ | pre_c04600 | personal exemption before phase-out
36
+ | c04470 | itemized deductions after phase-out (zero for non-itemizers)
37
+ | c21040 | itemized deductions that are phased out (zero for non-itemizers)
38
+ | c04800 | regular taxable income
39
+ | taxbc | regular tax on regular taxable income
40
+ | c62100 | alternative minimum tax (AMT) taxable income
41
+ | c09600 | alternative minimum tax (AMT) liability
42
+ | c07220 | child tax credit (adjusted)
43
+ | c11070 | child tax credit (refunded)
44
+ | c07180 | credit for child and dependent care expenses
45
+ | eitc | earned income credit (EIC)
46
+
47
+ The following **NOTES** refer to 2014-2016 IRS form line numbers:
48
+
49
+ The **payrolltax** output variable is assumed to include the following
50
+ components: (a) employee plus employer share of OASDI FICA taxes; (b)
51
+ employee plus employer share of HI FICA taxes; (c) self-employment tax
52
+ from Form 1040 line 57; and (d) additional Medicare tax from Form 1040
53
+ line 62a or Form 8959 line 18. These payroll tax components are
54
+ calculated under the assumption that taxpayer and spouse, if present,
55
+ each hold only one wage-or-salary job during the year so that Form
56
+ 1040 line 71 is always zero, and that employers (illegally) never
57
+ withhold for the Additional Medicare Tax so that Form 8959 line 24 is
58
+ always zero.
59
+
60
+ The **iitax** output variable is assumed to include all the Form 1040
61
+ components except for the payroll tax components (c) and (d) defined
62
+ above. In other words, the iitax amount is Form 1040 line 63 minus
63
+ line 57 minus line 62a.
@@ -0,0 +1,68 @@
1
+ Validation of Tax-Calculator Logic
2
+ ==================================
3
+
4
+ Tax-Calculator computes USA federal income and payroll taxes for a
5
+ sample of tax filing units in years beginning with 2013. The Python
6
+ code that performs the tax calculations has been validated in several
7
+ ways. During the course of development Tax-Calculator results for a
8
+ number of filing units have been compared to hand calculations
9
+ performed using IRS tax forms and instructions. In addition, a more
10
+ systematic program of cross-model validation is part of the ongoing
11
+ development effort.
12
+
13
+ The premise behind cross-model validation work is that independently
14
+ developed tax-simulation models or tax-preparation software are
15
+ unlikely to contain the same bug, which means looking for differences
16
+ between the output from two models using the same input is an
17
+ effective way to locate bugs in tax-calculation logic.
18
+
19
+ The tools included in this directory support the following validation
20
+ work flow:
21
+
22
+ 1. Generate a random sample of tax filing units (INPUT).
23
+ 2. Generate OUTPUT from INPUT using Tax-Calculator.
24
+ 3. Obtain OUTPUT from INPUT generated by another tax program.
25
+ 4. Generate tax differences by comparing the two OUTPUT files.
26
+
27
+ The working assumption in our cross-model validation work is that tax
28
+ differences are more likely than not to be caused by bugs in
29
+ Tax-Calculator. If exploration of specific differences do confirm a
30
+ bug, it is corrected and the four-step validation process is repeated
31
+ again until there are no meaningful differences in the two OUTPUT
32
+ files.
33
+
34
+ This four-step validation process can be repeated for different sized
35
+ INPUT files that vary in the number of input variables used to specify
36
+ each filing unit's attributes and in the number of filing units
37
+ included in the INPUT file. A more extensive list of input variables
38
+ and a larger number of filing units increase the likelihood of finding
39
+ cross-model differences. In our work, each INPUT file is generated
40
+ randomly to insure a wide range of filing unit attributes.
41
+
42
+ Other Tax Programs Used for Cross-Model Validation
43
+ --------------------------------------------------
44
+
45
+ Our goal is to repeat the four-step cross-model validation process
46
+ described above using more than one other tax program with which to
47
+ compare Tax-Calculator results. The details and results of the
48
+ four-step process are provided in a different sub-directory for each
49
+ other model. Here are links to the cross-model validation results
50
+ that are currently available:
51
+
52
+ [Internet TAXSIM-35](https://github.com/PSLmodels/Tax-Calculator/blob/master/taxcalc/validation/taxsim35/README.md)
53
+
54
+ [...]()
55
+
56
+
57
+ Details on Using the Validation Tools
58
+ -------------------------------------
59
+
60
+ The current version of the validation tools in this directory tree
61
+ should work on Linux or Mac OS X without any changes and without
62
+ adding any extra software. Those who want to use these validation
63
+ tools on Windows will have to do three things: (a) install an AWK
64
+ interpreter, (b) install a Tcl interpreter, and (c) translate each
65
+ `tests.sh` and `test.sh` bash script into a Windows batch file. The
66
+ Free Software Foundation provides a free AWK interpreter for Windows
67
+ (`gawk.exe`). ActiveState provides a free Tcl interpreter for Windows
68
+ (`tclsh.exe`).
@@ -0,0 +1,54 @@
1
+ # Explanations of known differences between Tax-Calculator and TAXSIM-35
2
+
3
+ This document explains the sources of known differences (that exceed $1) between Tax-Calculator and TAXSIM-35. Numerical differences are noted in the {letter}{year}-taxdiffs-actual.csv files in this directory.
4
+
5
+ ## `a` files:
6
+ ### 2017
7
+
8
+ * No differences greater than $1 (though one obs with an marginal tax rate differences of 7.65 percent)
9
+
10
+ ### 2018
11
+
12
+ * No differences greater than $1.
13
+
14
+
15
+ ### 2019
16
+
17
+ * There is one record in the "a" file with a difference in the EITC amount of $196.22. This record is of a single, 19 year old filer. This person is below the age of 25 and therefore should receive $0 EITC, which is what Tax-Calculator reports. TAXSIM-35 does not recognize this age threshold and incorrectly assigns this person $196.22 in EITC.
18
+ * The same record has a marginal tax rate difference of 7.65 percent, which is the phase in rate for the EITC and thus related to the above issue.
19
+
20
+ ### 2020
21
+
22
+ * Numerous records in the test files with differences in the recovery rebate credit amount (RRC). The reasons TAXSIM-35 shows different results vary and include: TAXSIM-35 not counting qualifying children (e.g., file "a", id 7); TAXSIM-35 not differentiating single/head of household filing status (e.g., file "a",id 31); and TAXSIM-35 not counting Economic Impact Payment 2 (e.g., file "a",id 33); TAXSIM-35 counts wrong number of child (e.g., file "a",id 59). Note that some of these are not errors per se, but can be related to different variable inputs in the two models.
23
+
24
+ ### 2021
25
+
26
+ * In 2021, the Additional Child Tax Credit (ACTC), which historically was the refundable portion of the CTC, was subsumed by the refundability of the CTC more broadly with the ARPA. Tax-Calculator and TAXSIM-35 handle this differently in their model output. Tax-Calculator keeps only the ACTC amount in the variable `c11070`, which is $0 for all filers in 2021. On the other hand, TAXSIM-35 reports the refundable amount of the CTC (which is equivalent to the ACTC in most years, but not 2021). Hence, we can expect differences in these two models due to different definitions of output variables in that year. The file `process_taxcalc_output.py` makes and adjustment for 2021 to make the output from both models more comparable.
27
+
28
+ ## `b` files:
29
+
30
+ The following are notes that explain differences in addition to those documented above for the `a` files.
31
+
32
+ ### All years
33
+
34
+ * Differences in AGI between TAXMSIM and Tax-Calculator have to do with an incorrect calculation of the SECA tax liability in TAXSIM-35. Half of the SECA tax amount is deductible from AGI on individuals' returns.
35
+ * TAXSIM-35 does not correctly calculate payroll tax liability, while Tax-Calculator calculations have been verified manually. Thus, payroll tax liability differs between the two models. An updated version of TAXSIM (not available publicaly on 2024-02-29) shows not differences in FICA liability with Tax-Calculator.
36
+ * The AMT liability is zero in TAXSIM-35, but correct in Tax-Calculator, thus the AMT liability difference is the AMT liability in Tax-Calculator.
37
+ * Other differences (in `c04800`, `taxbc`, `c62100`, and `iitax_before_credits_ex_AMT`) are due to downstream effects of the differences documented above.
38
+
39
+ ### 2020
40
+
41
+ * Three records in the test files with differences in the recovery rebate credit amount (RRC). The reasons TAXSIM-35 shows different results vary and include: TAXSIM-35 not counting qualifying children (e.g., file "a", id 7); TAXSIM-35 not differentiating single/head of household filing status (e.g., file "a",id 31); and TAXSIM-35 not counting Economic Impact Payment 2 (e.g., file "a",id 33); TAXSIM-35 counts wrong number of child (e.g., file "a",id 59). Note that some of these are not errors per se, but can be related to different variable inputs in the two models.
42
+ * There is also a single record with a differences in `e02300`, unemployment insurance benefits, and input to the models. This variable is zeroed out in TAXSIM-35, but not in Tax-Calculator.
43
+
44
+ ## `c` files:
45
+
46
+ The following are notes that explain differences in addition to those documented above for the `b` files.
47
+
48
+ ### All years
49
+
50
+ * The `c` file set is the only one that simulates itemized deduction amounts. We have documented differences in `c04470` in all years of the `c` files. In the version of TAXSIM-35 we are using, the itemized deduction is always returned as zero. Hand calculations have confirmed Tax-Calculator's itemized deduction amounts are correct.
51
+
52
+ ### 2017
53
+
54
+ * There are differences in variable `c21040`, itemized deductions that are phased out. This only affects the `c` set as itemized deductions are not included in records in the `a` and `b` sets. Further, tax law only has a phase out of itemized deductions in 2017 and earlier, hence no affect on later years. The root source of the error is the known differences in the handling of itemized deductions between TAXSIM-35 and Tax-Calculator noted above.
@@ -0,0 +1,139 @@
1
+ Validation of Tax-Calculator against Internet TAXSIM-35
2
+ =======================================================
3
+
4
+ The general cross-model validation process described
5
+ [here](https://github.com/PSLmodels/Tax-Calculator/blob/master/taxcalc/validation/README.md#validation-of-tax-calculator-logic)
6
+ is being executed in this directory using
7
+ [TAXSIM-35](https://taxsim.nber.org/taxsim35/).
8
+
9
+ We are in the process of comparing Tax-Calculator and TAXSIM-35
10
+ results generated from several assumption sets in the `taxsim_input.py`
11
+ script for years beginning with 2018. Each INPUT file is
12
+ used to generate a TAXSIM-35 OUTPUT file by uploading it to the
13
+ TAXSIM-35 website and requesting detailed intermediate calculations.
14
+ And each INPUT file is translated into a CSV-formatted input file that
15
+ is read by the Tax-Calculator `tc` CLI tool to generate output that is
16
+ then transformed into an OUTPUT file having the TAXSIM-35 format.
17
+ Finally, these two OUTPUT files are compared using the `main_comparison.py`
18
+ script. See the `tests_35.py` script in this directory for more details.
19
+
20
+ The following results are for INPUT files containing 100,000
21
+ randomly-generated filing units for a given year. The random sampling
22
+ is such that a different sample is drawn for each year. In each INPUT
23
+ file three state-related variables are set to zero for every filing
24
+ unit, one variable specifies the year, and another specifies a filing
25
+ unit id, which leaves twenty-two input variables that are set to
26
+ randomly-generated values.
27
+
28
+ In order to handle known differences in assumptions between the two
29
+ models, we use the `taxsim_emulation.json` "reform" file to make
30
+ Tax-Calculator operate like TAXSIM-35. See the
31
+ [`taxsim_emulation.json`
32
+ file](https://github.com/PSLmodels/Tax-Calculator/blob/master/taxcalc/validation/taxsim35/taxsim_emulation.json)
33
+ for details.
34
+
35
+ In the following results, when we say "same results" we mean that the
36
+ federal individual income tax liabilities and payroll tax liabilities
37
+ being compared have differences of no larger than one cent.
38
+
39
+ For information on the variable names illustrated in `taxsim_input.py`,
40
+ the document that generates data for input into TAXSIM-35, see the TAXSIM-35 website listed above.
41
+
42
+
43
+ Instructions
44
+ ------------------
45
+ 1. Navigate to `taxcalc/validation/taxsim35` and run the Python script `tests_35.py`.
46
+ 2. If you would like to generate new input files and and get new files from TAXSIM-35,
47
+ just delete all of the `.in.out-taxsim` files. On Mac/Linux, this can be done with
48
+ `rm -f *.in.out-taxsim`.
49
+
50
+
51
+ Troubleshooting
52
+ ------------------
53
+ If the TAXSIM-35 validation code throws errors such as `.in files not found`,
54
+ `.out files not found` or that any parameter within `policy_current_law.json`
55
+ does not exist, please try these 2 steps:
56
+
57
+ 1. Make sure that the `taxcalc` conda package is installed
58
+ 2. If you have Tax-Calculator downloaded locally, navigate to the root directory
59
+ and run `pip install -e .` This will install the current source code into the `taxcalc`
60
+ CLI.
61
+
62
+
63
+ Description of Randomly Generated Assumption Sets
64
+ ------------------
65
+
66
+ **a18 ASSUMPTION SET**:
67
+
68
+ 2018 INPUT file that specifies the first twelve of the TAXSIM-35
69
+ input variables, which include demographic variables and labor income,
70
+ but sets to zero all the TAXSIM-35 input variables numbered from 13
71
+ through 27.
72
+
73
+ **b18 ASSUMPTION SET**:
74
+
75
+ 2018 INPUT file that specifies the first twenty-one of the TAXSIM-35
76
+ input variables, which include demographic variables, labor income,
77
+ capital income, and federally-taxable benefits, but set to zero all
78
+ the other six TAXSIM-35 input variables except variables 28-35,
79
+ which are the variables representing the new QBI-related variables.
80
+ Two of those six are always set to zero because they specify transfer income
81
+ that is not taxed under the federal income tax or because they specify rent paid that
82
+ does not affect federal income tax liability. Three of the remaining
83
+ four input variables are itemized expense amounts and the fourth is
84
+ child-care expenses.
85
+
86
+
87
+ **c18 ASSUMPTION SET**:
88
+
89
+ 2018 INPUT file that specifies all the non-state TAXSIM-35 input
90
+ variables to be randomly generated values.
91
+
92
+
93
+ **a19 ASSUMPTION SET**:
94
+
95
+ 2019 INPUT file that specifies the first twelve of the TAXSIM-35
96
+ input variables, which include demographic variables and labor income,
97
+ but sets to zero all the TAXSIM-35 input variables numbered from 13
98
+ through 27. (This is the same logic as used to generate the **a17**
99
+ sample except that a different stream of random numbers is used so that
100
+ the 100,000 filing units are completely different.)
101
+
102
+
103
+ **b19 ASSUMPTION SET**:
104
+
105
+ 2019 INPUT file that specifies the first twenty-one of the TAXSIM-35
106
+ input variables, which include demographic variables, labor income,
107
+ capital income, and federally-taxable benefits, but set to zero all
108
+ the other six TAXSIM-35 input variables except variables 28-35,
109
+ which are the variables representing the new QBI-related variables.
110
+ Two of those six are always set to zero because they specify transfer income
111
+ that is not taxed under the federal income tax or because they specify rent paid that
112
+ does not affect federal income tax liability. Three of the remaining
113
+ four input variables are itemized expense amounts and the fourth is
114
+ child-care expenses. (This is the same logic as used to generate the
115
+ **b17** sample except that a different stream of random numbers is
116
+ used so that the 1,000 filing units are completely different.)
117
+
118
+
119
+ **c19 ASSUMPTION SET**:
120
+
121
+ 2019 INPUT file that specifies all the non-state TAXSIM-35 input
122
+ variables to be randomly generated values. (This is the same logic as
123
+ used to generate the **c17** sample except that a different stream of
124
+ random numbers is used so that the 100,000 filing units are completely
125
+ different.)
126
+
127
+
128
+ Validation Results
129
+ ------------------
130
+
131
+ The latest expected differences between Tax-Calculator and TAXSIM-35 can be found in the `expected_differences` folder in this directory.
132
+
133
+ These differences are summarized and explained in the [`Differences_Explained`](https://github.com/PSLmodels/Tax-Calculator/blob/master/taxcalc/validation/taxsim35/Differences_Explained.md) markdown file.
134
+
135
+ Differences are generally small, although we note larger differences due to how Tax-Calculator and TAXSIM-35 handle the following items:
136
+ * The computation of SECA taxes
137
+ * The 2020 Recovery Rebate Credit and Economic Impact Payments
138
+ * The 2021 Child Tax Credit
139
+ * Itemized deductions
@@ -0,0 +1,25 @@
1
+ ,# of differing records,max_diff,max_diff_index,max_diff_taxsim_val,max_diff_taxcalc_val
2
+ iitax,2,0.51,787,459.49,460
3
+ statetax,0,0,no diff,no diff,no diff
4
+ payrolltax,0,0,no diff,no diff,no diff
5
+ mtr_inctax,1,-7.65,787,17.65,10
6
+ mtr_state,0,0,no diff,no diff,no diff
7
+ c00100,0,0,no diff,no diff,no diff
8
+ e02300,0,0,no diff,no diff,no diff
9
+ c02500,0,0,no diff,no diff,no diff
10
+ post_phase_out_pe,0,0,no diff,no diff,no diff
11
+ phased_out_pe,60,3.64E-12,806,16601.76,16601.76
12
+ c21040,0,0,no diff,no diff,no diff
13
+ c04470,0,0,no diff,no diff,no diff
14
+ c04800,0,0,no diff,no diff,no diff
15
+ taxbc,6,-0.01,217,93239.71,93239.7
16
+ exemption_surtax,0,0,no diff,no diff,no diff
17
+ gen_tax_credit,0,0,no diff,no diff,no diff
18
+ non_refundable_child_odep_credit,0,0,no diff,no diff,no diff
19
+ c11070,0,0,no diff,no diff,no diff
20
+ c07180,0,0,no diff,no diff,no diff
21
+ eitc,1,-0.51,787,0.51,0
22
+ c62100,0,0,no diff,no diff,no diff
23
+ amt_liability,0,0,no diff,no diff,no diff
24
+ iitax_before_credits_ex_AMT,1,-1.46E-11,362,65620.21,65620.21
25
+ recovery_rebate_credit,0,0,no diff,no diff,no diff
@@ -0,0 +1,25 @@
1
+ ,# of differing records,max_diff,max_diff_index,max_diff_taxsim_val,max_diff_taxcalc_val
2
+ iitax,1,-0.009999999999990905,499,-97.48,-97.49
3
+ statetax,0,0.0,no diff,no diff,no diff
4
+ payrolltax,0,0.0,no diff,no diff,no diff
5
+ mtr_inctax,0,0.0,no diff,no diff,no diff
6
+ mtr_state,0,0.0,no diff,no diff,no diff
7
+ c00100,0,0.0,no diff,no diff,no diff
8
+ e02300,0,0.0,no diff,no diff,no diff
9
+ c02500,0,0.0,no diff,no diff,no diff
10
+ post_phase_out_pe,0,0.0,no diff,no diff,no diff
11
+ phased_out_pe,0,0.0,no diff,no diff,no diff
12
+ c21040,0,0.0,no diff,no diff,no diff
13
+ c04470,0,0.0,no diff,no diff,no diff
14
+ c04800,0,0.0,no diff,no diff,no diff
15
+ taxbc,0,0.0,no diff,no diff,no diff
16
+ exemption_surtax,0,0.0,no diff,no diff,no diff
17
+ gen_tax_credit,0,0.0,no diff,no diff,no diff
18
+ non_refundable_child_odep_credit,0,0.0,no diff,no diff,no diff
19
+ c11070,0,0.0,no diff,no diff,no diff
20
+ c07180,0,0.0,no diff,no diff,no diff
21
+ eitc,1,0.009999999999990905,499,97.48,97.49
22
+ c62100,0,0.0,no diff,no diff,no diff
23
+ amt_liability,0,0.0,no diff,no diff,no diff
24
+ iitax_before_credits_ex_AMT,0,0.0,no diff,no diff,no diff
25
+ recovery_rebate_credit,0,0.0,no diff,no diff,no diff
@@ -0,0 +1,25 @@
1
+ ,# of differing records,max_diff,max_diff_index,max_diff_taxsim_val,max_diff_taxcalc_val
2
+ iitax,2,196.22,904,-196.22,0.0
3
+ statetax,0,0.0,no diff,no diff,no diff
4
+ payrolltax,0,0.0,no diff,no diff,no diff
5
+ mtr_inctax,1,-7.65,904,7.65,0.0
6
+ mtr_state,0,0.0,no diff,no diff,no diff
7
+ c00100,0,0.0,no diff,no diff,no diff
8
+ e02300,0,0.0,no diff,no diff,no diff
9
+ c02500,0,0.0,no diff,no diff,no diff
10
+ post_phase_out_pe,0,0.0,no diff,no diff,no diff
11
+ phased_out_pe,0,0.0,no diff,no diff,no diff
12
+ c21040,0,0.0,no diff,no diff,no diff
13
+ c04470,0,0.0,no diff,no diff,no diff
14
+ c04800,0,0.0,no diff,no diff,no diff
15
+ taxbc,0,0.0,no diff,no diff,no diff
16
+ exemption_surtax,0,0.0,no diff,no diff,no diff
17
+ gen_tax_credit,0,0.0,no diff,no diff,no diff
18
+ non_refundable_child_odep_credit,0,0.0,no diff,no diff,no diff
19
+ c11070,0,0.0,no diff,no diff,no diff
20
+ c07180,0,0.0,no diff,no diff,no diff
21
+ eitc,2,-196.22,904,196.22,0.0
22
+ c62100,0,0.0,no diff,no diff,no diff
23
+ amt_liability,0,0.0,no diff,no diff,no diff
24
+ iitax_before_credits_ex_AMT,0,0.0,no diff,no diff,no diff
25
+ recovery_rebate_credit,0,0.0,no diff,no diff,no diff
@@ -0,0 +1,25 @@
1
+ ,# of differing records,max_diff,max_diff_index,max_diff_taxsim_val,max_diff_taxcalc_val
2
+ iitax,135,-4000.0,828,25257.0,21257.0
3
+ statetax,0,0.0,no diff,no diff,no diff
4
+ payrolltax,0,0.0,no diff,no diff,no diff
5
+ mtr_inctax,62,5.0,14,24.0,29.0
6
+ mtr_state,0,0.0,no diff,no diff,no diff
7
+ c00100,0,0.0,no diff,no diff,no diff
8
+ e02300,0,0.0,no diff,no diff,no diff
9
+ c02500,0,0.0,no diff,no diff,no diff
10
+ post_phase_out_pe,0,0.0,no diff,no diff,no diff
11
+ phased_out_pe,0,0.0,no diff,no diff,no diff
12
+ c21040,0,0.0,no diff,no diff,no diff
13
+ c04470,0,0.0,no diff,no diff,no diff
14
+ c04800,0,0.0,no diff,no diff,no diff
15
+ taxbc,0,0.0,no diff,no diff,no diff
16
+ exemption_surtax,0,0.0,no diff,no diff,no diff
17
+ gen_tax_credit,0,0.0,no diff,no diff,no diff
18
+ non_refundable_child_odep_credit,0,0.0,no diff,no diff,no diff
19
+ c11070,0,0.0,no diff,no diff,no diff
20
+ c07180,0,0.0,no diff,no diff,no diff
21
+ eitc,1,0.009999999999990905,292,368.93,368.94
22
+ c62100,0,0.0,no diff,no diff,no diff
23
+ amt_liability,0,0.0,no diff,no diff,no diff
24
+ iitax_before_credits_ex_AMT,0,0.0,no diff,no diff,no diff
25
+ recovery_rebate_credit,133,4000.0,828,150.0,4150.0