Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tax free childcare #1001

Closed
wants to merge 5 commits into from
Closed

Tax free childcare #1001

wants to merge 5 commits into from

Conversation

vahid-ahmadi
Copy link
Collaborator

@vahid-ahmadi vahid-ahmadi commented Jan 9, 2025

Overview

This PR implements the Tax-Free Childcare (TFC) scheme calculation in PolicyEngine UK. The scheme provides government contributions towards childcare costs for eligible families. (Documentation link)

Key Features

  • Annual contribution of up to £2,000 per standard child and £4,000 per disabled child
  • Government contributes £2 for every £8 parents deposit (20% support)
  • Income threshold of £100,000 per partner
  • Compatible with 15/30 hours of free childcare programs

Fixes #1002

Copy link
Collaborator

@PavelMakarchuk PavelMakarchuk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some initial structural question but probably more formatting adjustments down the road

Comment on lines +41 to +47
eligible = (
meets_age_condition &
meets_income_condition &
meets_work_condition &
meets_incompatibility &
income_eligible
)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should make the eligibility its own variable and use
defined_for = "tax_free_childcare_eligible"

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we then can just return the capped contribution

p = parameters(period).gov.tax_free_childcare

# Check eligibility conditions from your YAML files
meets_age_condition = benunit("child_age_eligible", period)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this variable defined in the UK repository - if not we need to add a separate class checking the age against a threshold which is added as a separate yaml file

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

similar question for other eligibility conditions

values:
2010-01-01: 0.77
metadata:
unit: /1
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add period

@@ -0,0 +1,41 @@
from policyengine_uk import Microsimulation
from policyengine_core.reforms import Reform
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should not need to apply a structural reform if the program is part of the law

Comment on lines +8 to +20
conditions:
- age >= 21 AND (
yearly_eligible_income / 4 >= 2379 OR
(is_newly_self_employed AND business_age_months < 12)
)
- (age >= 18 AND age <= 20) AND (
yearly_eligible_income / 4 >= 1788 OR
(is_newly_self_employed AND business_age_months < 12)
)
- (age < 18 OR is_apprentice) AND (
yearly_eligible_income / 4 >= 1331 OR
(is_newly_self_employed AND business_age_months < 12)
)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are all of these income and age parameters part of the model? We usually test just direct inputs in the unit tests and keep the parameters constant

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are these files meant to be included? I don't think they should be

@MaxGhenis MaxGhenis mentioned this pull request Jan 10, 2025
@vahid-ahmadi
Copy link
Collaborator Author

It has merging conflicts. I opened a new PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add tax free childcare
3 participants