Skip to content

ENH: Testing Kinderzuschlag in the phase-out region #1125

@MImmesberger

Description

@MImmesberger

When working on #1103 and trying to increase test coverage of the Kinderzuschlag phase-out region, it became clear that we cannot verify the results of some calculators found online. There is no official calculator that we can trust fully.

The most common calculator is this one. Using that, I created the couple_5_children_phase_out.yaml test for 2026. When running the test we get a substantial mismatch in the calculator's result and GETTSIM's output (about 30 euros). If I overwrite (kinderzuschlag, nettoeinkommen_eltern_m) to match the value the KiZ calculator returns, GETTSIMs results match almost exactly (just some rounding issues).

(kinderzuschlag, nettoeinkommen_eltern_m) is basically the same as (bürgergeld, nettoeinkommen_nach_abzug_freibetrag_m). The latter is the difference between (bürgergeld, nettoeinkommen_vor_abzug_freibetrag_m) (which I used as an input both for the calculator and for GETTSIM) and (bürgergeld, anrechnungsfreies_einkommen_m) which is definitely correct (tested via BMAS calculator).

There's another unofficial calculator that matches our results quite nicely. But ofc, this doesn't need to mean anything. Also, I was able to reproduce some examples from the DGB. Two of those cover the phase-out region and for one test I needed to set an atol of at least 2.5 (couple_2_children_3k_net_income.yaml in 2026). No idea whether this is because of rounding issues or because of a bug in the code.

At this point I'm not sure whether there is a bug in our implementation. We really need to find more reliable tests and see whether we can reproduce them.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesttax-transfer-featureThis relates to a feature of the Taxes and Transfers system or reforms thereof

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions