Source code for _gettsim.transfers.kinderzuschl.kost_unterk

[docs]def kinderzuschl_kost_unterk_m_tu( _kinderzuschl_wohnbedarf_eltern_anteil_tu: float, bruttokaltmiete_m_hh: float, heizkosten_m_hh: float, _anteil_personen_in_haushalt_tu: float, ) -> float: """Calculate costs of living eligible to claim. Unlike ALG2, there is no check on whether living costs are "appropriate". Parameters ---------- _kinderzuschl_wohnbedarf_eltern_anteil_tu See :func:`_kinderzuschl_wohnbedarf_eltern_anteil_tu`. bruttokaltmiete_m_tu See :func:`bruttokaltmiete_m_tu`. heizkosten_m_tu See :func:`heizkosten_m_tu`. Returns ------- """ warmmiete_m_hh = bruttokaltmiete_m_hh + heizkosten_m_hh anteil_warmmiete_m_tu = warmmiete_m_hh * _anteil_personen_in_haushalt_tu out = _kinderzuschl_wohnbedarf_eltern_anteil_tu * anteil_warmmiete_m_tu return out
[docs]def bruttokaltmiete_m_tu( bruttokaltmiete_m_hh: float, _anteil_personen_in_haushalt_tu: float, ) -> float: """Share of household's monthly rent attributed to the tax unit. Parameters ---------- bruttokaltmiete_m_hh See basic input variable :ref:`bruttokaltmiete_m_hh <bruttokaltmiete_m_hh>`. _anteil_personen_in_haushalt_tu See :func:`_anteil_personen_in_haushalt_tu`. Returns ------- """ return bruttokaltmiete_m_hh * _anteil_personen_in_haushalt_tu
[docs]def heizkosten_m_tu( heizkosten_m_hh: float, _anteil_personen_in_haushalt_tu: float, ) -> float: """Share of household's heating expenses attributed to the tax unit. Parameters ---------- heizkosten_m_hh See basic input variable :ref:`heizkosten_m_hh <heizkosten_m_hh>`. _anteil_personen_in_haushalt_tu See :func:`_anteil_personen_in_haushalt_tu`. Returns ------- """ return heizkosten_m_hh * _anteil_personen_in_haushalt_tu
def _kinderzuschl_wohnbedarf_eltern_anteil_tu( anz_kinder_tu: int, anz_erwachsene_tu: int, kinderzuschl_params: dict, ) -> float: """Calculate living needs broken down to the parents. Defined as parents' subsistence level on housing, divided by sum of subsistence level from parents and children. Reference: ยง 6a Abs. 5 S. 3 BKGG Parameters ---------- anz_kinder_tu See :func:`anz_kinder_tu`. anz_erwachsene_tu See :func:`anz_erwachsene_tu`. kinderzuschl_params See params documentation :ref:`kinderzuschl_params <kinderzuschl_params>`. Returns ------- """ ex_min = kinderzuschl_params["existenzminimum"] # Up to 10 children are considered considered_children = min(anz_kinder_tu, 10) single_oder_paar = "single" if anz_erwachsene_tu == 1 else "paare" out = ( ex_min["kosten_der_unterkunft"][single_oder_paar] + ex_min["heizkosten"][single_oder_paar] ) / ( ex_min["kosten_der_unterkunft"][single_oder_paar] + ex_min["heizkosten"][single_oder_paar] + ( considered_children * ( ex_min["kosten_der_unterkunft"]["kinder"] + ex_min["heizkosten"]["kinder"] ) ) ) return out