A rules-as-code model of Hampton, Virginia's municipal taxes and utility fees.
Built with OpenFisca by PPUVA — Peninsula People's Union of Virginia.
This is the first OpenFisca model for any Virginia locality. It encodes Hampton's:
- Real estate property tax (rate per $100 assessed value)
- Wastewater fees (city sewer maintenance + DEQ regulatory surcharge, per CCF)
- Stormwater fees (per Equivalent Residential Unit, monthly)
- Solid waste user fees (weekly rate, standard and recycling discount)
Parameters are versioned by date, allowing simulation across fiscal years (FY24–FY31 and beyond).
# Install dependencies
pip install openfisca-core
# Clone and run
cd openfisca-hampton
python simulate.pyOutput goes to output/report.md (public-facing markdown) and output/simulation_results.json.
Household: Low income (30% AMI / ~$25K)
Assumed home assessed value: $150,000
Fiscal Year Prop Tax Wastewater Stormwater Solid Waste Total Fees Fee % Income
FY25 (current) $1,770.00 $521.28 $141.96 $755.56 $1,418.80 5.7%
FY26 (approved) $1,710.00 $718.56 $153.96 $755.56 $1,628.08 6.5%
FY27 (projected) $1,710.00 $736.56 $165.96 $755.56 $1,658.08 6.6%
FY30 (projected) $1,710.00 $790.56 $201.96 $755.56 $1,748.08 7.0%
The utility fee burden is regressive: every household pays the same dollar amount regardless of income. At 30% AMI, fees represent nearly 7% of gross income by FY30.
All parameters are sourced from public documents. Each YAML file includes source citations.
| Parameter | Source |
|---|---|
| Real estate tax rate | Hampton FY26 Budget Tab 5 |
| Wastewater (sewer maintenance) | Hampton Public Works FAQ |
| Wastewater FY26 increase (+$2.74/CCF) | Pilot Online April 2025 |
| Stormwater fees | Hampton Stormwater page |
| Stormwater trajectory (+$1/mo/yr through 2031) | WHRO May 2025 |
| Solid waste fee | Hampton FAQ |
openfisca-hampton/
├── openfisca_hampton/
│ ├── entities.py # Person + Household entities
│ ├── tax_benefit_system.py # TaxBenefitSystem constructor
│ ├── parameters/
│ │ ├── property_tax/ # real_estate_rate.yaml
│ │ ├── wastewater/ # city_sewer_*.yaml
│ │ ├── stormwater/ # monthly_fee_per_eru.yaml
│ │ └── solid_waste/ # weekly_rate_*.yaml
│ └── variables/
│ ├── property_tax.py
│ ├── wastewater.py
│ ├── stormwater.py
│ ├── solid_waste.py
│ └── total_burden.py # Aggregates + income burden %
├── simulate.py # Main simulation runner
├── output/
│ ├── report.md # Public-facing analysis
│ └── simulation_results.json # Raw data
└── README.md
The FY27 Hampton budget cycle:
- City Manager Recommended Budget: ~April 15, 2026
- Public Hearing 1: April 22, 2026
- Public Hearing 2: May 6, 2026
- Council Vote: May 13, 2026
Parameters marked NOTE: Update when FY27 CM recommended budget is released in YAML files should be updated after April 15. FY27 projections currently use the locked-in stormwater schedule (+$1/mo) and estimated wastewater trajectory (+$1.50/mo).
To add a new fee or tax:
- Add a YAML parameter file in
openfisca_hampton/parameters/<category>/ - Add a Python variable file in
openfisca_hampton/variables/ - Update
total_burden.pyif it should be included in aggregate calculations - Re-run
simulate.py
Hampton has no public tool that lets residents simulate their household's tax and fee burden across fiscal years. This model fills that gap.
"Rules as code" means the city's fee schedules are expressed as executable, version-controlled, auditable code — not PDFs buried in a budget document.
This model could power:
- A public-facing "What do I pay?" calculator on ppuva.org
- Budget impact analysis ahead of council hearings
- Advocacy reports demonstrating regressive fee structures
- Comparison tools showing Hampton vs. neighboring cities
AGPL-3.0 — Free to use, modify, and redistribute with attribution.
This model is provided for civic information and research purposes. It is not legal or financial advice. Parameter values may not reflect all billing details for every property type. PPUVA is a nonpartisan civic organization.