Closed MImmesberger closed 8 months ago
Regarding this comment:
@lars-reimann Can you have a look where the
CondaVerificationError
in thereadthedocs
check comes from?
I could not reproduce this locally. It seems to be caused by the upgrade of sphinx-automodapi
to version 0.17.0. In previous, successful runs version 0.16.0 was used. Maybe you can add an upper bound for sphinx-automodapi
in environment.yml
in this PR and try again?
- sphinx-automodapi<0.17.0
That seems to have fixed the install issue at least.
Yes, I guess the other errors are due to this incomplete PR. Thanks!
Note: Currently, we need to specifiy p_id_ehepartner
and p_id_einstandspartner
separately. Might make sense to set p_id_einstandspartner
automatically if p_id_ehepartner
is specified.
I don't see a point in that. May save a user a line of code and create confusion if we silently modify one of her variables.
Still, very good point! Just a different conclusion: please add a data consistency check on this.
Some things that I have encountered:
eigener_bedarf_gedeckt
to eigenbedarf_gedeckt
to adhere with the naming rules.p_id_einstandspartner
is 1 character too long. Maybe rename all of these grouping pointers to pid_...
? Or go with p_id_ep
?p_id
. Currently I use the user-specified Betreuungskosten-Träger ID p_id_betreuungsk_trä
(at the character limit) as the p_id_to_aggregate_by
. Alternatively, we could use p_id_kindergeld_empf
.wohngeld_vorrang_hh
is wrong (as previously discussed, I added a ToDo for that that links to #690 ).Additionally two questions regarding Grundsicherung im Alter:
grunds_im_alter_m_eg
uses arbeitsl_geld_2_regelbedarf_m_bg
as relevant income. I don't know whether the correct grouping should be arbeitsl_geld_2_regelbedarf_m_eg
, but then again, there is the question on how to split up the ALG2 benefits.I have renamed
eigener_bedarf_gedeckt
toeigenbedarf_gedeckt
to adhere with the naming rules.
Is that the correct term from the law / commonplace? Sounds funny, but that does not mean anything.
p_id_einstandspartner
is 1 character too long. Maybe rename all of these grouping pointers topid_...
? Or go withp_id_ep
?
Let's just disable the test. Change is around the corner and we should not spend time on this anymore.
- Betreuungskosten are now aggregated via
p_id
. Currently I use the user-specified Betreuungskosten-Träger IDp_id_betreuungsk_trä
(at the character limit) as thep_id_to_aggregate_by
. Alternatively, we could usep_id_kindergeld_empf
.
See previous thing, just go to p_id_betreuungsk_träger
. But we probably won't loose much if using the Kindergeld version? I'd probably favor the latter but that'll be your call.
- Currently, Grundsicherung im Alter is only payed out if all individuals in the household are retired. There is a ToDo without a linked issue. I guess we don't touch this part in this PR?
No, that can remain a to-do, this PR is humongous already. Maybe @ChristianZimpelmann remembers the background?
grunds_im_alter_m_eg
usesarbeitsl_geld_2_regelbedarf_m_bg
as relevant income. I don't know whether the correct grouping should bearbeitsl_geld_2_regelbedarf_m_eg
, but then again, there is the question on how to split up the ALG2 benefits.
We might have to repeat those calculations, unfortunately. But if you can find a workaround for now, no need to solve it at this very moment!
Is that the correct term from the law / commonplace? Sounds funny, but that does not mean anything.
Yes, the Arbeitsagentur uses it
We might have to repeat those calculations, unfortunately. But if you can find a workaround for now, no need to solve it at this very moment!
The current implementation may be a bad approximation if there are retirees that have children in their Bedarfsgemeinschaft. Even then, the current implementation might be correct, but I couldn't find anything online. But I think this is not too common, so we can ignore it for now.
Attention: Patch coverage is 97.22222%
with 7 lines
in your changes are missing coverage. Please review.
Project coverage is 89.49%. Comparing base (
07baf57
) to head (849ba6a
).
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
I think this PR could also close #89
- Currently, Grundsicherung im Alter is only payed out if all individuals in the household are retired. There is a ToDo without a linked issue. I guess we don't touch this part in this PR?
We were not sure how to handle cases in which one person in the Bedarfsgemeinschaft is retired, but another person is unemployed and searching for a job. We opted for this simplified version, but we should reconsider at some point. I now opened an issue for it: #703 Can you link it in the code?
The tax unit grouping is now removed in the code and any mention of it in the docs is gone.
I slightly adjusted the tutorials by manually grouping the GETTSIM outputs on the hh
level where tu
groupings were used before. I think this keeps the tutorial as simple as possible.
I don't think there are particular tests you have to look at.
Just so it doesn't sneak through the review process: In 1d78ded, I set the minimum relevant income for ALG2 to 0. There were some test cases that resulted in negative values after getting rid of tu
.
The rounding seems to be an issue when switching from eink_st_y_sn / 12
to eink_st_m_sn
, because rounding parameters are expected for the eink_st_m_sn
key in the param yaml. They are specified for the eink_st_y_sn
key only.
I'm not entirely sure what the expected behavior should be:
eink_st_m_sn
rounding spec in the params yaml).Because eink_st_m_sn
is used as an approximation for Lohnsteuer (at least for Elterngeld and Grundsicherung; not sure about ALG2) we cannot infer expected behavior from the law.
Just so it doesn't sneak through the review process: In 1d78ded, I set the minimum relevant income for ALG2 to 0. There were some test cases that resulted in negative values after getting rid of
tu
.
Cool, thanks for the pointer. In principle, I think that ALG II should guarantee a consumption floor, but it might be that the mechanism for that is more complicated. I would have no idea. But I'd kind of like to guarantee that subsistence level (thinking of running GETTSIM on models that do require a positive consumption), unless the law is different.
If possible, I'd prefer to revert and make an issue that we'll need to investigate this case.
The rounding seems to be an issue when switching from
eink_st_y_sn / 12
toeink_st_m_sn
, because rounding parameters are expected for theeink_st_m_sn
key in the param yaml. They are specified for theeink_st_y_sn
key only.I'm not entirely sure what the expected behavior should be:
1. First round and then time convert (with optional rounding spec for converted column). 2. First time convert and then round (We could use a quick fix by specifying the `eink_st_m_sn` rounding spec in the params yaml).
Because
eink_st_m_sn
is used as an approximation for Lohnsteuer (at least for Elterngeld and Grundsicherung; not sure about ALG2) we cannot infer expected behavior from the law.
Behavior 1. and the last two cases we should get rid of eventually now that we have Lohnsteuer.
The rounding seems to be an issue when switching from
eink_st_y_sn / 12
toeink_st_m_sn
, because rounding parameters are expected for theeink_st_m_sn
key in the param yaml. They are specified for theeink_st_y_sn
key only. I'm not entirely sure what the expected behavior should be:1. First round and then time convert (with optional rounding spec for converted column). 2. First time convert and then round (We could use a quick fix by specifying the `eink_st_m_sn` rounding spec in the params yaml).
Because
eink_st_m_sn
is used as an approximation for Lohnsteuer (at least for Elterngeld and Grundsicherung; not sure about ALG2) we cannot infer expected behavior from the law.Behavior 1. and the last two cases we should get rid of eventually now that we have Lohnsteuer.
@lars-reimann Can you have a look?
@lars-reimann Can you have a look?
Would be great, but let's do that separately from here. Apologies if that means reverting something I noted. Also fine to skip a couple of tests for the moment.
Cool, thanks for the pointer. In principle, I think that ALG II should guarantee a consumption floor, but it might be that the mechanism for that is more complicated. I would have no idea. But I'd kind of like to guarantee that subsistence level (thinking of running GETTSIM on models that do require a positive consumption), unless the law is different.
I think we are talking about different things here. I realized that the issue I raised is solved once we fix #606 because it makes sure that we don't compute negative "anrechenbares Erwerbseinkommen" on the individual level.
Closes #690