Skip to content
Draft
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
1 change: 1 addition & 0 deletions changelog.d/added/8351.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Add primary residence value and derive assessed property value from state assessment rates.
131 changes: 131 additions & 0 deletions policyengine_us/parameters/gov/local/tax/assessment_rate.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
description: Assessed property value equals primary residence market value multiplied by this state-level ratio.
metadata:
unit: /1
period: year
label: Assessed-to-market property value ratio
breakdown:
- state_code
reference:
- title: Michigan Compiled Laws Section 211.27a(1)
href: https://legislature.mi.gov/Laws/MCL?objectName=mcl-211-27a
- title: West Virginia State Tax Department, Ad Valorem Property Tax
href: https://tax.wv.gov/Business/PropertyTax/Pages/AdValoremPropertyTax.aspx
# Default to 1 until state-specific assessed-to-market value ratios are modeled.
AL:
0000-01-01: 1
AK:
0000-01-01: 1
AZ:
0000-01-01: 1
AR:
0000-01-01: 1
CA:
0000-01-01: 1
CO:
0000-01-01: 1
CT:
0000-01-01: 1
DE:
0000-01-01: 1
FL:
0000-01-01: 1
GA:
0000-01-01: 1
HI:
0000-01-01: 1
ID:
0000-01-01: 1
IL:
0000-01-01: 1
IN:
0000-01-01: 1
IA:
0000-01-01: 1
KS:
0000-01-01: 1
KY:
0000-01-01: 1
LA:
0000-01-01: 1
ME:
0000-01-01: 1
MD:
0000-01-01: 1
MA:
0000-01-01: 1
MI:
0000-01-01: 0.5
MN:
0000-01-01: 1
MS:
0000-01-01: 1
MO:
0000-01-01: 1
MT:
0000-01-01: 1
NE:
0000-01-01: 1
NV:
0000-01-01: 1
NH:
0000-01-01: 1
NJ:
0000-01-01: 1
NM:
0000-01-01: 1
NY:
0000-01-01: 1
NC:
0000-01-01: 1
ND:
0000-01-01: 1
OH:
0000-01-01: 1
OK:
0000-01-01: 1
OR:
0000-01-01: 1
PA:
0000-01-01: 1
RI:
0000-01-01: 1
SC:
0000-01-01: 1
SD:
0000-01-01: 1
TN:
0000-01-01: 1
TX:
0000-01-01: 1
UT:
0000-01-01: 1
VT:
0000-01-01: 1
VA:
0000-01-01: 1
WA:
0000-01-01: 1
WV:
0000-01-01: 0.6
WI:
0000-01-01: 1
WY:
0000-01-01: 1
DC:
0000-01-01: 1
GU:
0000-01-01: 1
MP:
0000-01-01: 1
PW:
0000-01-01: 1
PR:
0000-01-01: 1
VI:
0000-01-01: 1
AA:
0000-01-01: 1
AE:
0000-01-01: 1
AP:
0000-01-01: 1
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
- name: Case 1, assessed property value defaults to primary residence value.
period: 2025
input:
primary_residence_value: 400_000
state_code: WA
output:
assessed_property_value: 400_000

- name: Case 2, assessed property value applies the state assessment rate.
period: 2025
input:
primary_residence_value: 400_000
state_code: MI
output:
assessed_property_value: 200_000

- name: Case 3, existing direct assessed property value input is still accepted.
period: 2025
input:
assessed_property_value: 300_000
primary_residence_value: 400_000
state_code: MI
output:
assessed_property_value: 300_000
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,9 @@ class assessed_property_value(Variable):
label = "Assessed property value"
unit = USD
quantity_type = STOCK
documentation = "Total assessed value of property owned by this person."
definition_period = YEAR

def formula(person, period, parameters):
state_code = person.household("state_code_str", period)
assessment_rate = parameters(period).gov.local.tax.assessment_rate[state_code]
return person("primary_residence_value", period) * assessment_rate
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
from policyengine_us.model_api import *


class primary_residence_value(Variable):
value_type = float
entity = Person
label = "Primary residence value"
documentation = (
"Market value of the person's primary residence, not assessed value."
)
unit = USD
quantity_type = STOCK
definition_period = YEAR
uprating = "gov.bls.cpi.cpi_u"
reference = (
"https://www.census.gov/programs-surveys/acs/microdata/documentation.html"
)