Changes#
This is a record of all past gettsim
releases and what went into them
in reverse chronological order. We follow semantic
versioning and all releases are available on
Anaconda.org.
v0.7 — 2023-05-14#
#514 Rewrite
create_synthetic_data
to make it more flexible and much faster. The function can no longer create households of different household types with one function call. (@ChristianZimpelmann).#573 Fix bug in age groups of Bürgergeld. (@ChristianZimpelmann).
#150 Implement Lohnsteuer / withholding tax. (@Eric-Sommer, @JakobWegmann).
#557 Apply @dates_active decorator in many cases. (@hmgaudecker).
#405 Fix calculation of voluntary contribution by self-employed to the GKV. (@JHermann99)
#495 Add @dates_active decorator to easily specify when a function is active. (@lars-reimann).
#544 Add Kindesunterhalt (@LauraGergeleit).
#529 Consider Elterngeld in other transfers only above a certain threshold. (@LauraGergeleit).
#551 Add rounding to Wohngeld. (@LauraGergeleit).
v0.6.0 — 2023-01-30#
#503, #511, Move packaging to PyPI/conda-forge, update documentation (@timmens, @hmgaudecker).
#487 Replace pydot_layout with pygraphviz_layout. (@lars-reimann).
#457 Correct implementation of Arbeitslosengeld 1 (@paulinaschroeder)
#484 Implement Kindersofortzuschlag. (@LauraGergeleit).
#461 Fix bug in calculation of income for Kinderzuschlag. (@ChristianZimpelmann).
#458 Calculate Vorsorgeaufwendungen on tax unit level and fix bug (@ChristianZimpelmann).
#463 Adjust Günstigerprüfung between Kindergeld and Kinderfreibetrag such that Kindergeld is not set to 0 if Kinderfreibetrag is beneficial (@LauraGergeleit, @ChristianZimpelmann).
#450, #500, #501 Update CI, use modern package structure (@hmgaudecker).
#470 Execute notebooks as part of the documentation build on readthedocs (@hmgaudecker).
#440 Implement Bürgergeld, which reforms arbeitsl_geld_2 from 01/01/2023 (@LauraGergeleit).
#399 Use dags package to create the DAG (@ChristianZimpelmann).
#415 Define supported groupings in config.py (@LauraGergeleit, @ChristianZimpelmann).
#416 Add documentation page for Vermögensbegriff for transfers (@LauraGergeleit).
#423 Model marginal employment rules reform from 10/2022 (@Eric-Sommer, @LauraGergeleit).
#406 Change variable name from vermögen_hh to vermögen_bedürft_hh. Add test cases for several transfers (@LauraGergeleit).
#380 Implement an automatic type conversion of imported variables. Adding test cases in test_interface.py (@LauraGergeleit, @ChristianZimpelmann).
#403 Replace Bokeh with plotly for visualization. (@effieHAN,@sofyaakimova).
#396, Implement pension for (very) long term insured, including eligibility criteria, i.e. “Wartezeiten”. Implement pension for women (@TeBackh), add more tests (#428, @LauraGergeleit).
#393 Normal retirement age adjustment aligned with the rules (@TeBackh).
#385 Make
altersentlastungsbetrag
dependent on age not on current date (@m-pannier, @lillyfischer).#392 Fix relative tolerance which was set too high for some tests. Rename vorsorge to vorsorgeaufw (@LauraGergeleit, @ChristianZimpelmann).
#323 Align health insurance contribution parameters better aligned with law. Restructure calculation of
ges_krankenv
, minor changes toges_pflegev
. (@Eric-Sommer, @ChristianZimpelmann).
v0.5.1 — 2022-04-21#
#377 Fix wrong parameter value for ges_pflegev contribution (@JuergenWiemers).
#383 Remove ä, ö, ü from file names (@ChristianZimpelmann).
v0.5.0 — 2022-04-01#
#327 Add
behinderten_pauschbetrag
for 1975-1986 (@lillyfischer).#285 Set up bokeh dashboard to visualize tax-benefit parameters (@Si-Pf, @Eric-Sommer).
#306 Add the possibility to load the value of a parameter of the previous year when calling set_up_policy_environment (@ChristianZimpelmann).
#275 Implement Grundrente. Implement Grundsicherung im Alter. Remove ges_rente_m as input. Rename gettsim.renten_anspr to gettsim.transfers.rente. Rename gettsim.social_insurance to gettsim.social_insurance_contributions (@davpahl, @ChristianZimpelmann).
#307 Allow to specify order up to which ancestors and descendants are shown when plotting a dag (@ChristianZimpelmann).
#310 Added Mehrbedarf G to Implementation of Grundsicherung im Alter (@paulinaschroeder).
#311 Rename variable kaltmiete_m_hh to bruttokaltmiete_m_hh (@LauraGergeleit).
#319 #320 Implement changes for social assistance and social insurance becoming effective in 2022 (@Eric-Sommer).
#322 Add updated wohngeld parameters for 2022 (@mjbloemer, @lillyfischer).
#312 Updated GEP-01 with effects on character limits, time and unit identifiers, adjustments for DAG backend (@hmgaudecker).
#314 Enforce character limits from GEP-01 for all function names and input variables. Make variable names more precise (e.g., ges_ in front of all social insurance parameters that have private counterparts, eink_st everywhere the income tax is meant). Make variables consistent (e.g. kinderfreibetrag had different abbreviations, now kinderfreib everywhere). (@hmgaudecker, @ChristianZimpelmann)
#343 New argument for `compute_taxes_and_transfers`: rounding. If set to False, rounding of outputs is disabled. Add rounding for eink_st_tu. Rounding for other functions will be introduced in future PRs. (@ChristianZimpelmann).
#349 Create parameters for several hard coded numbers in code. (@LauraGergeleit).
#355 Major renaming based on GEP 01, e.g.: correct use of
_m
-suffix;alleinerziehend
becomesalleinerz
; rename ges_rentenv.yaml to ges_rente.yaml (@hmgaudecker, @ChristianZimpelmann)#356 Define functions on scalars and have them vectorised. Implement aggregation functions on group levels. (@LauraGergeleit, @ChristianZimpelmann)
v0.4.2 — 2022-01-25#
Ensure GETTSIM works with Pandas 1.4 (#337)
v0.4.1 — 2021-04-11#
#248 Implement 2021 increase in lump sum tax deductions for disabled. (@Eric-Sommer).
#254 Implement 2021 increase in unemployment benefits (@Eric-Sommer).
#253 Implement 2021 changes in health insurance contribution rates and other social insurance regulations (@Eric-Sommer).
#266 Adjust visualization.py to link nodes of DAGs to documentation properly (@davpahl, @ChristianZimpelmann).
#267 Implement new calculation of Kinderzuschlag parameter (@Eric-Sommer).
#252 Implement 2021 reforms to income tax tariff and family tax deductions (@Eric-Sommer).
#235 Module to create synthetic data (@Eric-Sommer, @ChristianZimpelmann).
#256 Implement 2021 housing benefit reform (@Eric-Sommer).
#283 Implement Kinderbonus in 2020 and 2021 (@ChristianZimpelmann).
v0.4.0 — 2020-11-11#
#241 Renaming of directories: gettsim.benefits to gettsim.transfers; gettsim.soz_vers to gettsim.social_insurance; gettsim.data to gettsim.parameters (@MaxBlesch, @ChristianZimpelmann).
#230 Add type hints and links all docstring variables to the documentation. Also all functions have a one liner docstring now (@MaxBlesch, @FelixAhlbrecht).
#232 Introduce beginner tutorials on how to use GETTSIM (@amageh, @davpahl, @Trichter33).
#185 Add the DAG code for renten_anspr_m (@MaxBlesch). This is based on the pension simulation code by (@Eric-Sommer).
#184 Add visualization of the tax and transfer system as an interactive bokeh plot and documentation improvements (@tobiasraabe).
#198 Enhance the loader of internal and user functions, adds a tutorial for how to pass functions to the interface and provides more tests (@tobiasraabe).
#213 Change
compute_taxes_and_transfers
such that it always returns a pandas DataFrame and removes the return_dag option (@tobiasraabe).#219 Refactor the DAG and makes it independent from the main interface (@tobiasraabe). The PR also changes the names of interface arguments:
functions
instead ofuser_functions
,set_up_policy_environment
instead ofget_policy_for_date
,columns_overriding_functions
instead ofuser_columns
and some more changes.#225 Make gettsim ready for Python 3.8 (@tobiasraabe).
v0.3.4 — 2020-07-30#
#222 Fix wohngeld coefficent. Add test for increasing wohngeld. (@hmgaudecker, @MaxBlesch)
v0.3.3 — 2020-06-27#
#212 Improve the error message when reduced series could not be expanded with an id variable and fixes a related error in the internal functions (@hmgaudecker, @tobiasraabe).
#214 Add a check for missing root nodes (@tobiasraabe).
#215 Add a check for duplicate
targets
(@tobiasraabe).#216 Fix calculation of kinderzuschlag and wohngeld. Changed check against arbeitsl_geld_2 (@tobiasraabe).
v0.3.2 — 2020-06-19#
#196 Add docstring to policy_for_date.py and improves its interface (@MaxBlesch).
#197 Add all functions which build the tax and transfer system to the documentation (@tobiasraabe).
#198 Enhance the loader of internal and user functions, adds a tutorial for how to pass functions to the interface and provides more tests (@tobiasraabe).
#200 Add a debug mode to gettsim and documents the feature (@tobiasraabe).
#201 Improve the calculation of
hh_freib
and renames it toalleinerziehend_freib
(@MaxBlesch, @tobiasraabe).#202 Fix bugs that surfaced for negative incomes (@MaxBlesch). related transfers, calculating them at the appropriate (household) level
#206 Fix several bugs in arbeitsl_geld_2 and (@MaxBlesch).
v0.3.1 — 2020-06-05#
#188 Removes misleading code bits from the documentation and adds a copy-button (@tobiasraabe).
#191 Adds a skip and a warning if gettsim.test() is repeatedly called (@tobiasraabe).
v0.3.0 — 2020-06-04#
Cleanup of ALG II parameters and documentation (@mjbloemer)
Break up params.yaml into group-level files (@MaxBlesch)
Correct income deductions for additional child benefit (@Eric-Sommer)
Implement “Starke-Familien-Gesetz” from July 2019 on child benefits (@Eric-Sommer)
Remove child specific ALG II withdrawal and refactoring of ALG II (@MaxBlesch, @mjbloemer)
Add ALG II transfer withdrawal 2005-01-01 to 2005-09-30 (@mjbloemer, @MaxBlesch)
Child tax allowance modelled as two separate items. (@Eric-Sommer)
Alimony advance payment (Unterhaltsvorschuss) now modelled more in line with the law (@Eric-Sommer)
Implement Art. 3 of Familienentlastungsgesetz on income tax tariff and child tax allowance becoming effective in 2020 (@Eric-Sommer)
Implement parity in health care contributions since 2019 and 2020 contribution rates (@Eric-Sommer)
Add Elterngeld calculation (@MaxBlesch, @boryana-ilieva)
Fix Soli 1991 calculation, improve Soli 1995 calculation, add 2021 Soli parameters and add Soli tests (@mjbloemer, @MaxBlesch)
Implement pre-2010 ruling on Vorsorgeaufwendungen (@Eric-Sommer)
gettsim
is released as a conda noarch package (@tobiasraabe)Implement 2020 reform increasing housing benefit (Wohngeldstärkungsgesetz) and complete parameters on past benefits (@Eric-Sommer)
Regroup wohngeld parameters according to GEP-3 (@MaxBlesch)
Rename all data columns to German names (@amageh, @MaxBlesch)
Rename and regroup all param files (@Eric-Sommer, @MaxBlesch)
Add generic/piecewise functions (@johannesgoldbeck, @ppoepperling, @MaxBlesch)
A series of pull requests establishes the new DAG-based backend and refactors the calculation of benefits, taxes, and social insurance (@MaxBlesch, @tobiasraabe)
Error messages for the new interface (@hmgaudecker, @tobiasraabe).
v0.2.1 — 2019-11-20#
Fix error with real SOEP data and “Wohngeld” for households with more than 12 household members (@Eric-Sommer, @MaxBlesch)
Better description of required input and output columns (@MaxBlesch, @Eric-Sommer)
Fix dependencies for conda package (@tobiasraabe)
Fill changelog and include in docs (@tobiasraabe, @hmgaudecker)
Add maintenance section to website (@tobiasraabe)
v0.2.0 — 2019-11-06#
Initial release of gettsim
.
Set up as a conda-installable package (@tobiasraabe)
Migration of the parameter database from xls to yaml (@mjbloemer, @MaxBlesch)
Migration of test parameters from xls to csv (@MaxBlesch, @tobiasraabe)
Get the main entry point to work, change interface (@MaxBlesch, @janosg, @Eric-Sommer, @hmgaudecker, @tobiasraabe)
Tax and transfer module uses apply instead of loops (@MaxBlesch, @hmgaudecker)
Correct tax treatment of child care costs (@Eric-Sommer)
Improve calculation of housing allowance (@Eric-Sommer)
v0.1 and prior work — 2019-09-30#
Most code written by @Eric-Sommer based on IZAΨMOD, a policy microsimulation model developed at IZA.