Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 51 additions & 14 deletions taxcalc/calcfunctions.py
Original file line number Diff line number Diff line change
Expand Up @@ -3005,7 +3005,8 @@ def EITCamount(basic_frac, phasein_rate, earnings, max_amount,


@iterate_jit(nopython=True)
def EITC(eitc_claim_thd, MARS, DSI, c00100, e00300, e00400, e00600, c01000,
def EITC(eitc_claim_thd, eitc_claim_prob_scale, credit_claim_urn,
MARS, DSI, c00100, e00300, e00400, e00600, c01000,
e02000, e26270, age_head, age_spouse, earned, earned_p, earned_s, EIC,
EITC_ps, EITC_MinEligAge, EITC_MaxEligAge, EITC_ps_addon_MarriedJ,
EITC_rt, EITC_c, EITC_prt, EITC_basic_frac,
Expand Down Expand Up @@ -3049,9 +3050,8 @@ def EITC(eitc_claim_thd, MARS, DSI, c00100, e00300, e00400, e00600, c01000,
`EITC_InvestIncome_c` ($11,950 for 2025) is modeled as a
smooth phaseout at `EITC_excess_InvestIncome_rt` (default
9e+99 → behaviorally identical to the cliff).
(E) Model-specific claiming approximation: filers with expected
credit below `eitc_claim_thd` (default 0) are assumed not to
claim. No form analogue.
(E) Model-specific claiming approximation: see details below.
No form analogue.

Downstream: `c59660` is the records-bound EITC amount consumed by
`IITAX` (Form 1040 line 27a, refundable credit) and reported in
Expand All @@ -3062,6 +3062,10 @@ def EITC(eitc_claim_thd, MARS, DSI, c00100, e00300, e00400, e00600, c01000,
eitc_claim_thd: float
Model-specific behavioral parameter: EITC amount below which
the credit is assumed unclaimed (no form analogue)
eitc_claim_prob_scale: float
See Section E logic and comments (no form analogue)
credit_claim_urn: float
See Section E logic and comments (no form analogue)
MARS: int
Filing (marital) status (1=single, 2=joint, 3=separate,
4=household-head, 5=widow(er))
Expand Down Expand Up @@ -3204,11 +3208,23 @@ def EITC(eitc_claim_thd, MARS, DSI, c00100, e00300, e00400, e00600, c01000,
red = EITC_excess_InvestIncome_rt * (invinc - EITC_InvestIncome_c)
c59660 = max(0., c59660 - red)

# ---------------- (E) Behavioral claiming approximation ----------
# Not on the form: filers with expected credit < eitc_claim_thd
# are assumed not to claim (default 0 = no suppression).
if c59660 < eitc_claim_thd:
c59660 = 0.
# ---------------- (E) Credit claiming logic ----------
if c59660 > 0.:
#
# Notice that `eitc_claim_prob_scale` and `eitc_claim_thd` can be used
# together to specify non-linear claiming probability schedules.
#
# Not on the form: credit claiming logic that uses claiming probability
# (default eitc_claim_prob_scale=9e99 implies always claim credit)
prob = eitc_claim_prob_scale * c59660 / max_amount
if credit_claim_urn >= prob:
c59660 = 0.
#
# Not on the form: filers with credit amount less than eitc_claim_thd
# are assumed not to claim
# (default eitc_claim_thd=0 implies always claim credit)
if c59660 < eitc_claim_thd:
c59660 = 0.

return c59660

Expand Down Expand Up @@ -4243,8 +4259,8 @@ def NonrefundableCredits(c05800, e07240, e07260, e07300, e07400,


@iterate_jit(nopython=True)
def AdditionalCTC(actc_claim_thd, codtc_limited,
ACTC_c, n24, earned, ACTC_Income_thd,
def AdditionalCTC(actc_claim_thd, actc_claim_prob_scale, credit_claim_urn,
codtc_limited, ACTC_c, n24, earned, ACTC_Income_thd,
ACTC_rt, nu06, ACTC_rt_bonus_under6family, ACTC_ChildNum,
CTC_is_refundable, CTC_include17, CTC_c,
age_head, age_spouse, MARS, nu18,
Expand All @@ -4257,7 +4273,12 @@ def AdditionalCTC(actc_claim_thd, codtc_limited,
Parameters
----------
actc_claim_thd: float
ACTC amount below which ACTC is unclaimed
Model-specific behavioral parameter: ACTC amount below which
the credit is assumed unclaimed (no form analogue)
actc_claim_prob_scale: float
See logic and comments at bottom of function (no form analogue)
credit_claim_urn: float
See logic and comments at bottom of function (no form analogue)
codtc_limited: float
Sch 8812 line 16a: Part I tentative credit minus the nonrefundable
portion absorbed (line 12 minus line 14); set in ChildDepTaxCredit
Expand Down Expand Up @@ -4298,6 +4319,7 @@ def AdditionalCTC(actc_claim_thd, codtc_limited,
c11070: float
Child tax credit (refunded) from Form 8812
"""
# pylint: disable=too-many-branches
# Sch 8812 line 16a: leftover Part I tentative credit
line16a = codtc_limited
# Sch 8812 line 16b: max refundable amount = ACTC_c per qualifying child
Expand Down Expand Up @@ -4351,8 +4373,23 @@ def AdditionalCTC(actc_claim_thd, codtc_limited,
c11070 = min(line17, line27)

# approximate ACTC claiming behavior
if c11070 < actc_claim_thd:
c11070 = 0.
if c11070 > 0.:
#
# Notice that `actc_claim_prob_scale` and `actc_claim_thd` can be used
# together to specify non-linear claiming probability schedules.
#
# Not on the form: credit claiming logic that uses claiming probability
# (default actc_claim_prob_scale=9e99 implies always claim credit)
max_amount = line17
prob = actc_claim_prob_scale * c11070 / max_amount
if credit_claim_urn >= prob:
c11070 = 0.
#
# Not on the form: filers with credit amount less than actc_claim_thd
# are assumed not to claim
# (default actc_claim_thd=0 implies always claim credit)
if c11070 < actc_claim_thd:
c11070 = 0.

return c11070

Expand Down
2 changes: 2 additions & 0 deletions taxcalc/cli/input_data_tests/cps-25-params.baseline
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2025 parameter_indexing_CPI_offset 0.0
2025 eitc_claim_prob_scale 9e+99
2025 eitc_claim_thd 0.0
2025 actc_claim_prob_scale 9e+99
2025 actc_claim_thd 0.0
2025 FICA_ss_trt_employer 0.062
2025 FICA_ss_trt_employee 0.062
Expand Down
2 changes: 2 additions & 0 deletions taxcalc/cli/input_data_tests/cps-25-params.reform
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2025 parameter_indexing_CPI_offset 0.0
2025 eitc_claim_prob_scale 9e+99
2025 eitc_claim_thd 0.0
2025 actc_claim_prob_scale 9e+99
2025 actc_claim_thd 0.0
2025 FICA_ss_trt_employer 0.062
2025 FICA_ss_trt_employee 0.062
Expand Down
2 changes: 2 additions & 0 deletions taxcalc/cli/input_data_tests/cps-26-params.baseline
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2026 parameter_indexing_CPI_offset 0.0
2026 eitc_claim_prob_scale 9e+99
2026 eitc_claim_thd 0.0
2026 actc_claim_prob_scale 9e+99
2026 actc_claim_thd 0.0
2026 FICA_ss_trt_employer 0.062
2026 FICA_ss_trt_employee 0.062
Expand Down
2 changes: 2 additions & 0 deletions taxcalc/cli/input_data_tests/cps-26-params.reform
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2026 parameter_indexing_CPI_offset 0.0
2026 eitc_claim_prob_scale 9e+99
2026 eitc_claim_thd 0.0
2026 actc_claim_prob_scale 9e+99
2026 actc_claim_thd 0.0
2026 FICA_ss_trt_employer 0.062
2026 FICA_ss_trt_employee 0.062
Expand Down
2 changes: 2 additions & 0 deletions taxcalc/cli/input_data_tests/cps-27-params.baseline
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2027 parameter_indexing_CPI_offset 0.0
2027 eitc_claim_prob_scale 9e+99
2027 eitc_claim_thd 0.0
2027 actc_claim_prob_scale 9e+99
2027 actc_claim_thd 0.0
2027 FICA_ss_trt_employer 0.062
2027 FICA_ss_trt_employee 0.062
Expand Down
2 changes: 2 additions & 0 deletions taxcalc/cli/input_data_tests/cps-27-params.reform
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2027 parameter_indexing_CPI_offset 0.0
2027 eitc_claim_prob_scale 9e+99
2027 eitc_claim_thd 0.0
2027 actc_claim_prob_scale 9e+99
2027 actc_claim_thd 0.0
2027 FICA_ss_trt_employer 0.062
2027 FICA_ss_trt_employee 0.062
Expand Down
2 changes: 2 additions & 0 deletions taxcalc/cli/input_data_tests/cps-28-params.baseline
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2028 parameter_indexing_CPI_offset 0.0
2028 eitc_claim_prob_scale 9e+99
2028 eitc_claim_thd 0.0
2028 actc_claim_prob_scale 9e+99
2028 actc_claim_thd 0.0
2028 FICA_ss_trt_employer 0.062
2028 FICA_ss_trt_employee 0.062
Expand Down
2 changes: 2 additions & 0 deletions taxcalc/cli/input_data_tests/cps-28-params.reform
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2028 parameter_indexing_CPI_offset 0.0
2028 eitc_claim_prob_scale 9e+99
2028 eitc_claim_thd 0.0
2028 actc_claim_prob_scale 9e+99
2028 actc_claim_thd 0.0
2028 FICA_ss_trt_employer 0.062
2028 FICA_ss_trt_employee 0.062
Expand Down
2 changes: 2 additions & 0 deletions taxcalc/cli/input_data_tests/cps-29-params.baseline
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2029 parameter_indexing_CPI_offset 0.0
2029 eitc_claim_prob_scale 9e+99
2029 eitc_claim_thd 0.0
2029 actc_claim_prob_scale 9e+99
2029 actc_claim_thd 0.0
2029 FICA_ss_trt_employer 0.062
2029 FICA_ss_trt_employee 0.062
Expand Down
2 changes: 2 additions & 0 deletions taxcalc/cli/input_data_tests/cps-29-params.reform
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2029 parameter_indexing_CPI_offset 0.0
2029 eitc_claim_prob_scale 9e+99
2029 eitc_claim_thd 0.0
2029 actc_claim_prob_scale 9e+99
2029 actc_claim_thd 0.0
2029 FICA_ss_trt_employer 0.062
2029 FICA_ss_trt_employee 0.062
Expand Down
2 changes: 2 additions & 0 deletions taxcalc/cli/input_data_tests/cps-30-params.baseline
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2030 parameter_indexing_CPI_offset 0.0
2030 eitc_claim_prob_scale 9e+99
2030 eitc_claim_thd 0.0
2030 actc_claim_prob_scale 9e+99
2030 actc_claim_thd 0.0
2030 FICA_ss_trt_employer 0.062
2030 FICA_ss_trt_employee 0.062
Expand Down
2 changes: 2 additions & 0 deletions taxcalc/cli/input_data_tests/cps-30-params.reform
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2030 parameter_indexing_CPI_offset 0.0
2030 eitc_claim_prob_scale 9e+99
2030 eitc_claim_thd 0.0
2030 actc_claim_prob_scale 9e+99
2030 actc_claim_thd 0.0
2030 FICA_ss_trt_employer 0.062
2030 FICA_ss_trt_employee 0.062
Expand Down
2 changes: 2 additions & 0 deletions taxcalc/cli/input_data_tests/cps-31-params.baseline
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2031 parameter_indexing_CPI_offset 0.0
2031 eitc_claim_prob_scale 9e+99
2031 eitc_claim_thd 0.0
2031 actc_claim_prob_scale 9e+99
2031 actc_claim_thd 0.0
2031 FICA_ss_trt_employer 0.062
2031 FICA_ss_trt_employee 0.062
Expand Down
2 changes: 2 additions & 0 deletions taxcalc/cli/input_data_tests/cps-31-params.reform
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2031 parameter_indexing_CPI_offset 0.0
2031 eitc_claim_prob_scale 9e+99
2031 eitc_claim_thd 0.0
2031 actc_claim_prob_scale 9e+99
2031 actc_claim_thd 0.0
2031 FICA_ss_trt_employer 0.062
2031 FICA_ss_trt_employee 0.062
Expand Down
2 changes: 2 additions & 0 deletions taxcalc/cli/input_data_tests/cps-32-params.baseline
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2032 parameter_indexing_CPI_offset 0.0
2032 eitc_claim_prob_scale 9e+99
2032 eitc_claim_thd 0.0
2032 actc_claim_prob_scale 9e+99
2032 actc_claim_thd 0.0
2032 FICA_ss_trt_employer 0.062
2032 FICA_ss_trt_employee 0.062
Expand Down
2 changes: 2 additions & 0 deletions taxcalc/cli/input_data_tests/cps-32-params.reform
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2032 parameter_indexing_CPI_offset 0.0
2032 eitc_claim_prob_scale 9e+99
2032 eitc_claim_thd 0.0
2032 actc_claim_prob_scale 9e+99
2032 actc_claim_thd 0.0
2032 FICA_ss_trt_employer 0.062
2032 FICA_ss_trt_employee 0.062
Expand Down
2 changes: 2 additions & 0 deletions taxcalc/cli/input_data_tests/cps-33-params.baseline
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2033 parameter_indexing_CPI_offset 0.0
2033 eitc_claim_prob_scale 9e+99
2033 eitc_claim_thd 0.0
2033 actc_claim_prob_scale 9e+99
2033 actc_claim_thd 0.0
2033 FICA_ss_trt_employer 0.062
2033 FICA_ss_trt_employee 0.062
Expand Down
2 changes: 2 additions & 0 deletions taxcalc/cli/input_data_tests/cps-33-params.reform
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2033 parameter_indexing_CPI_offset 0.0
2033 eitc_claim_prob_scale 9e+99
2033 eitc_claim_thd 0.0
2033 actc_claim_prob_scale 9e+99
2033 actc_claim_thd 0.0
2033 FICA_ss_trt_employer 0.062
2033 FICA_ss_trt_employee 0.062
Expand Down
2 changes: 2 additions & 0 deletions taxcalc/cli/input_data_tests/cps-34-params.baseline
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2034 parameter_indexing_CPI_offset 0.0
2034 eitc_claim_prob_scale 9e+99
2034 eitc_claim_thd 0.0
2034 actc_claim_prob_scale 9e+99
2034 actc_claim_thd 0.0
2034 FICA_ss_trt_employer 0.062
2034 FICA_ss_trt_employee 0.062
Expand Down
2 changes: 2 additions & 0 deletions taxcalc/cli/input_data_tests/cps-34-params.reform
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2034 parameter_indexing_CPI_offset 0.0
2034 eitc_claim_prob_scale 9e+99
2034 eitc_claim_thd 0.0
2034 actc_claim_prob_scale 9e+99
2034 actc_claim_thd 0.0
2034 FICA_ss_trt_employer 0.062
2034 FICA_ss_trt_employee 0.062
Expand Down
2 changes: 2 additions & 0 deletions taxcalc/cli/input_data_tests/cps-35-params.baseline
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2035 parameter_indexing_CPI_offset 0.0
2035 eitc_claim_prob_scale 9e+99
2035 eitc_claim_thd 0.0
2035 actc_claim_prob_scale 9e+99
2035 actc_claim_thd 0.0
2035 FICA_ss_trt_employer 0.062
2035 FICA_ss_trt_employee 0.062
Expand Down
2 changes: 2 additions & 0 deletions taxcalc/cli/input_data_tests/cps-35-params.reform
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2035 parameter_indexing_CPI_offset 0.0
2035 eitc_claim_prob_scale 9e+99
2035 eitc_claim_thd 0.0
2035 actc_claim_prob_scale 9e+99
2035 actc_claim_thd 0.0
2035 FICA_ss_trt_employer 0.062
2035 FICA_ss_trt_employee 0.062
Expand Down
2 changes: 2 additions & 0 deletions taxcalc/cli/input_data_tests/tmd-25-params.baseline
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2025 parameter_indexing_CPI_offset 0.0
2025 eitc_claim_prob_scale 9e+99
2025 eitc_claim_thd 0.0
2025 actc_claim_prob_scale 9e+99
2025 actc_claim_thd 0.0
2025 FICA_ss_trt_employer 0.062
2025 FICA_ss_trt_employee 0.062
Expand Down
2 changes: 2 additions & 0 deletions taxcalc/cli/input_data_tests/tmd-25-params.reform
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2025 parameter_indexing_CPI_offset 0.0
2025 eitc_claim_prob_scale 9e+99
2025 eitc_claim_thd 0.0
2025 actc_claim_prob_scale 9e+99
2025 actc_claim_thd 0.0
2025 FICA_ss_trt_employer 0.062
2025 FICA_ss_trt_employee 0.062
Expand Down
2 changes: 2 additions & 0 deletions taxcalc/cli/input_data_tests/tmd-26-params.baseline
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2026 parameter_indexing_CPI_offset 0.0
2026 eitc_claim_prob_scale 9e+99
2026 eitc_claim_thd 0.0
2026 actc_claim_prob_scale 9e+99
2026 actc_claim_thd 0.0
2026 FICA_ss_trt_employer 0.062
2026 FICA_ss_trt_employee 0.062
Expand Down
2 changes: 2 additions & 0 deletions taxcalc/cli/input_data_tests/tmd-26-params.reform
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2026 parameter_indexing_CPI_offset 0.0
2026 eitc_claim_prob_scale 9e+99
2026 eitc_claim_thd 0.0
2026 actc_claim_prob_scale 9e+99
2026 actc_claim_thd 0.0
2026 FICA_ss_trt_employer 0.062
2026 FICA_ss_trt_employee 0.062
Expand Down
2 changes: 2 additions & 0 deletions taxcalc/cli/input_data_tests/tmd-27-params.baseline
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2027 parameter_indexing_CPI_offset 0.0
2027 eitc_claim_prob_scale 9e+99
2027 eitc_claim_thd 0.0
2027 actc_claim_prob_scale 9e+99
2027 actc_claim_thd 0.0
2027 FICA_ss_trt_employer 0.062
2027 FICA_ss_trt_employee 0.062
Expand Down
2 changes: 2 additions & 0 deletions taxcalc/cli/input_data_tests/tmd-27-params.reform
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2027 parameter_indexing_CPI_offset 0.0
2027 eitc_claim_prob_scale 9e+99
2027 eitc_claim_thd 0.0
2027 actc_claim_prob_scale 9e+99
2027 actc_claim_thd 0.0
2027 FICA_ss_trt_employer 0.062
2027 FICA_ss_trt_employee 0.062
Expand Down
2 changes: 2 additions & 0 deletions taxcalc/cli/input_data_tests/tmd-28-params.baseline
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2028 parameter_indexing_CPI_offset 0.0
2028 eitc_claim_prob_scale 9e+99
2028 eitc_claim_thd 0.0
2028 actc_claim_prob_scale 9e+99
2028 actc_claim_thd 0.0
2028 FICA_ss_trt_employer 0.062
2028 FICA_ss_trt_employee 0.062
Expand Down
2 changes: 2 additions & 0 deletions taxcalc/cli/input_data_tests/tmd-28-params.reform
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2028 parameter_indexing_CPI_offset 0.0
2028 eitc_claim_prob_scale 9e+99
2028 eitc_claim_thd 0.0
2028 actc_claim_prob_scale 9e+99
2028 actc_claim_thd 0.0
2028 FICA_ss_trt_employer 0.062
2028 FICA_ss_trt_employee 0.062
Expand Down
2 changes: 2 additions & 0 deletions taxcalc/cli/input_data_tests/tmd-29-params.baseline
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2029 parameter_indexing_CPI_offset 0.0
2029 eitc_claim_prob_scale 9e+99
2029 eitc_claim_thd 0.0
2029 actc_claim_prob_scale 9e+99
2029 actc_claim_thd 0.0
2029 FICA_ss_trt_employer 0.062
2029 FICA_ss_trt_employee 0.062
Expand Down
2 changes: 2 additions & 0 deletions taxcalc/cli/input_data_tests/tmd-29-params.reform
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2029 parameter_indexing_CPI_offset 0.0
2029 eitc_claim_prob_scale 9e+99
2029 eitc_claim_thd 0.0
2029 actc_claim_prob_scale 9e+99
2029 actc_claim_thd 0.0
2029 FICA_ss_trt_employer 0.062
2029 FICA_ss_trt_employee 0.062
Expand Down
2 changes: 2 additions & 0 deletions taxcalc/cli/input_data_tests/tmd-30-params.baseline
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2030 parameter_indexing_CPI_offset 0.0
2030 eitc_claim_prob_scale 9e+99
2030 eitc_claim_thd 0.0
2030 actc_claim_prob_scale 9e+99
2030 actc_claim_thd 0.0
2030 FICA_ss_trt_employer 0.062
2030 FICA_ss_trt_employee 0.062
Expand Down
2 changes: 2 additions & 0 deletions taxcalc/cli/input_data_tests/tmd-30-params.reform
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2030 parameter_indexing_CPI_offset 0.0
2030 eitc_claim_prob_scale 9e+99
2030 eitc_claim_thd 0.0
2030 actc_claim_prob_scale 9e+99
2030 actc_claim_thd 0.0
2030 FICA_ss_trt_employer 0.062
2030 FICA_ss_trt_employee 0.062
Expand Down
Loading
Loading