In late 2019 we started the process of buying our first house and found estimating property taxes in NY to be more difficult than it should be. I learned how to calculate taxes, found a state-provided tax spreadsheet, and wrote a small web app to estimate property taxes on the go.
Late in 2019 my wife and I decided to move back east after a little over three years in the Bay Area. We started looking at homes in New York and while there's plenty we had to learn about the home-buying process, what really threw me for a loop was how important it was to calculate property taxes.
Understanding the tax implications of each property is essential in planning a budget. A property tax difference of just $833 per month means an extra $10,000 per year. Assuming you live in the home for 10 years you're looking at adding $100,000 to the total cost of your home.
But getting to this total property tax figure isn't an easy task. First, property taxes are complicated to calculate. The tax for each property is a sum of taxes from a number of different entities like the county, town and school district for that property. Second, unlike sales tax which is often shown as a percentage, property taxes are usually presented as a mill rate.
What is a mill rate?
According to Investopedia:
The mill rate is the amount of tax payable per dollar of the assessed value of a property. The mill rate is based on "mills." It is a figure that represents the amount per $1,000 of the assessed value of the property, which is used to calculate the amount of property tax.
Ok so what does that mean for us? If you were to find a mill rate presented as a dollar value you could calculate the effective tax for that rate relatively easily.
mill rate * property value / 1000 = tax cost
A $20 mill rate on a $100,000 property would be $100,000 * 20 / 1,000 or $2,000.
As a first-time home buyer it was easier for me to think in percentages since it matched my model for other taxes. We can just move the decimal by one spot so that $20 mill rate becomes a 2% tax.
mill rate / 10 = tax percentage
To figure out what the tax impact of a property is going to be we need to start with adding up each of the individual taxes.
Property taxes can be levied by a number of authorities for any given property. In New York state this means your effective property tax rate is the sum of:
- County tax
- City OR town and village tax
- School district tax
There may also be additional taxes for specific departments like the fire department. Finding the tax rates for each jurisdiction can be tricky. They're not easily searchable on Google and most search results show only county averages. Since the county is only 1 of multiple jurisdictions, however, taxes can vary significantly by property, making the average a less than ideal tool for estimating budgets. To determine the effective rate for any given property you need to get the tax rate from each of the separate agencies. Complicating things even further is the fact that a property can have a postal address for one town and be managed by another. If you live in a town you might also live in a village which applies additional taxes.
At first I tried finding rates on the county, city, or town websites. Not all municipalities listed this information publicly and some of it wasn't up to date. When I did find information it was presented in spreadsheets I had to download and parse. I started keeping notes for the tax rate as a percentage for each of the towns and villages we were looking in.
Building a calculator
I eventually lucked out and was able to find a state-wide list of property tax rates for each county, city, town, and village in New York. With this spreadsheet I could find the taxes for each entity and add them together for each house we were looking at. This worked well for houses we planned to visit in advance, but we'd often find new homes as we were visiting others. I wanted a quick and easy way to calculate taxes at any time from my phone which created the perfect opportunity for a mini web app.
I converted each of the tax spreadsheets into JSON and wrote a set of filters to show only the appropriate school districts and villages within a city or town. As you select each entity the following entities are filtered so you never have to worry about finding / matching the correct villages with your selected town.
Next I added an optional field to capture the estimated property value so you can see the actual tax implications in dollars. The results table shows the mill rate, tax rate as a percentage, and the total cost per year while showing the rates for each entity.
I used Bulma to simplify my CSS and wrote the rest in vanilla JS and HTML. Since there is nothing to save, hosting was as simple as pushing a new folder to my personal website. I made the site mobile friendly so I could visit it from my phone and it ended up coming in pretty handy as we looked for a home.
What I would do next
I'm not sure what the property tax situation is in other states, but if it's as confusing as it is in NY then I think it would useful to add additional states to the app. It would also be great to be able to save particular property tax estimates so you can keep track of multiple properties instead of having to fill out the form each time. Finally I didn't look into how this would work for other types of properties. I'm not sure how condos or rental properties are taxed for example. It'd be great to extend this to include more property types in the future. For now, however, the calculator got the job done for me and I've had plenty of home projects to keep me busy in a nearly 100 year old home.