Problem
The variable volljährige_alle_rentenbezieher_hh is a household-level boolean that checks whether all adults are pensioners. It is used as a crude switch to separate Grundsicherung im Alter (SGB XII Kap. 4) from Bürgergeld (SGB II) and Wohngeld:
| Transfer |
Gate |
File |
| Grundsicherung im Alter |
only if true |
grundsicherung/im_alter/im_alter.py |
| Bürgergeld |
only if false |
bürgergeld/bürgergeld.py |
| ALG 2 |
only if false |
arbeitslosengeld_2/arbeitslosengeld_2.py |
| Wohngeld |
only if false |
wohngeld/wohngeld.py |
This is wrong in two ways:
-
Wrong eligibility criterion. The law does not condition Grundsicherung im Alter on pension receipt. It requires reaching the Regelaltersgrenze (SGB XII §41 Abs. 1–2 referencing SGB VI §235). Early retirees who receive a pension before the Regelaltersgrenze are not eligible for Grundsicherung im Alter — they fall under Hilfe zum Lebensunterhalt (SGB XII Kap. 3, not implemented).
-
Wrong gating unit. Eligibility is per person, not per household. A person who has reached the Regelaltersgrenze is eligible for Grundsicherung im Alter regardless of the partner's age or employment status (SGB XII §41 Abs. 1). The current code incorrectly excludes couples where only one partner has reached the Regelaltersgrenze.
Proposed fix
The Regelaltersgrenze already exists in the pension namespace as sozialversicherung__rente__altersrente__regelaltersrente__altersgrenze (a per-person float in years). The fix:
Step 1: Introduce a per-person boolean (e.g., hat_regelaltersgrenze_erreicht) computed from alter and the existing regelaltersrente__altersgrenze.
Step 2: Replace the gate in Grundsicherung im Alter (im_alter.py). Instead of requiring volljährige_alle_rentenbezieher_hh, check per person whether hat_regelaltersgrenze_erreicht.
Step 3: Replace the gate in Bürgergeld / ALG 2. Instead of excluding all-retiree households, exclude persons who have reached the Regelaltersgrenze from the Bürgergeld claim. Per SGB II §7 Abs. 1 Satz 1 Nr. 1, only persons below the Regelaltersgrenze are eligible for SGB II. See #1157
Step 4: Replace the gate in Wohngeld analogously.
Step 5: Remove volljährige_alle_rentenbezieher_hh from hh_characteristics.py once no function depends on it.
References
Related issues
Problem
The variable
volljährige_alle_rentenbezieher_hhis a household-level boolean that checks whether all adults are pensioners. It is used as a crude switch to separate Grundsicherung im Alter (SGB XII Kap. 4) from Bürgergeld (SGB II) and Wohngeld:truegrundsicherung/im_alter/im_alter.pyfalsebürgergeld/bürgergeld.pyfalsearbeitslosengeld_2/arbeitslosengeld_2.pyfalsewohngeld/wohngeld.pyThis is wrong in two ways:
Wrong eligibility criterion. The law does not condition Grundsicherung im Alter on pension receipt. It requires reaching the Regelaltersgrenze (SGB XII §41 Abs. 1–2 referencing SGB VI §235). Early retirees who receive a pension before the Regelaltersgrenze are not eligible for Grundsicherung im Alter — they fall under Hilfe zum Lebensunterhalt (SGB XII Kap. 3, not implemented).
Wrong gating unit. Eligibility is per person, not per household. A person who has reached the Regelaltersgrenze is eligible for Grundsicherung im Alter regardless of the partner's age or employment status (SGB XII §41 Abs. 1). The current code incorrectly excludes couples where only one partner has reached the Regelaltersgrenze.
Proposed fix
The Regelaltersgrenze already exists in the pension namespace as
sozialversicherung__rente__altersrente__regelaltersrente__altersgrenze(a per-person float in years). The fix:Step 1: Introduce a per-person boolean (e.g.,
hat_regelaltersgrenze_erreicht) computed fromalterand the existingregelaltersrente__altersgrenze.Step 2: Replace the gate in Grundsicherung im Alter (
im_alter.py). Instead of requiringvolljährige_alle_rentenbezieher_hh, check per person whetherhat_regelaltersgrenze_erreicht.Step 3: Replace the gate in Bürgergeld / ALG 2. Instead of excluding all-retiree households, exclude persons who have reached the Regelaltersgrenze from the Bürgergeld claim. Per SGB II §7 Abs. 1 Satz 1 Nr. 1, only persons below the Regelaltersgrenze are eligible for SGB II. See #1157
Step 4: Replace the gate in Wohngeld analogously.
Step 5: Remove
volljährige_alle_rentenbezieher_hhfromhh_characteristics.pyonce no function depends on it.References
Related issues