Skip to content

Test the UK labour supply response to late elasticities once the pin includes policyengine-uk#2673 #719

Open

Description

@juaristi22

Follow-up to #718 (finding 2 of the review there).

After #718, elasticities that a dynamic writes after a policy modifier reach the values the modifier calculated. For the labour supply response this also needs PolicyEngine/policyengine-uk#2673. On the pinned policyengine-uk 2.132.6 the response is £0 even in a run without a modifier, a policyengine-uk limitation, so none of #718's tests covers the labour supply part. #718 closes #717, where this was recorded.

When the UK bundle pins a policyengine-uk release with #2673, add a test to tests/test_uk_modifier_cache.py:

  • Use the synthetic parent and child there (the family fixture, 2027).
  • Warmed run: a policy modifier stores Child Benefit £1,000 higher with set_input and then reads household net income. The dynamic sets the labour supply elasticities (income −0.05, substitution 0.15), so they are written after the modifier.
  • Cold run: the same Child Benefit rise as a parameter change, with the elasticities in the construction reform.
  • Expect the same employment_income_behavioral_response in both: about −£28.23 a year for the parent on the #2673 head, the income effect only (relative_wage_change is 0).
  • Check that the test fails with uk/model.py from before Recalculate after each modifier step on the built UK simulation #718, where the warmed response stays £0.

🤖 Generated with Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions