Skip to content

Commit

Permalink
Model take-up of itemized medical deduction
Browse files Browse the repository at this point in the history
  • Loading branch information
vrathi101 committed Dec 9, 2024
1 parent 8eb278a commit 1e26fab
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 1 deletion.
4 changes: 4 additions & 0 deletions changelog_entry.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- bump: minor
changes:
added:
- Itemized medical deduction take-up.
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
description: The share of eligible taxpayers who claim the itemized medical deduction.
values:
20224-01-01: 0.505
metadata:
period: year
unit: /1
label: Itemized medical deduction takeup rate
reference:
- title: Subsidizing Medical Spending Through the Tax Code: Take-Up, Targeting and the Cost of Claiming
href: https://www.nber.org/system/files/working_papers/w33213/w33213.pdf#page=2
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,13 @@ class medical_expense_deduction(Variable):
documentation = "Medical expenses deducted from taxable income."

def formula(tax_unit, period, parameters):
takes_up_itemized_medical_deduction = tax_unit(
"takes_up_itemized_medical_deduction", period
)
expense = add(tax_unit, period, ["medical_out_of_pocket_expenses"])
medical = parameters(period).gov.irs.deductions.itemized.medical
medical_floor = medical.floor * tax_unit("positive_agi", period)
return max_(0, expense - medical_floor)
return (
max_(0, expense - medical_floor)
* takes_up_itemized_medical_deduction
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
from policyengine_us.model_api import *


class takes_up_itemized_medical_deduction(Variable):
value_type = bool
entity = TaxUnit
label = "Takes up the itemized medical deduction"
definition_period = YEAR

def formula(tax_unit, period, parameters):
if not hasattr(tax_unit.simulation, "dataset"):
return True
takeup_rate = parameters(period).gov.irs.deductions.medical.takeup
return random(tax_unit) < takeup_rate

0 comments on commit 1e26fab

Please sign in to comment.