Why do our property tax levies feel out of control?
Blame the state. HB 920 and underfunding education explain almost all of the problem.
I have to admit that property taxes make my eyes glaze over. There are so many ins and outs to Ohio’s system that I just sometimes have to take a break and lots of headache medicine.
Not really, but you get the point.
So I wanted to try to address some of the chatter out there about how school districts are allegedly gaming the property tax system to somehow cry poor so they can manipulate well-meaning homeowners into raising their property taxes again (because who doesn’t like running levy campaigns every two years! It’s so much fun dividing communities against each other, amirite!) — an argument that Ohio State PoliSci Prof Vladimir made not long ago, which I took some time knocking around last week.
There are several issues with Ohio’s property tax system, and if you really want to get into Ohio property tax details, I’d highly recommend reading anything by Howard Fleeter.
Guy’s an Ohio Property Tax savant.
But I wanted to try to simplify it for everyone (even Kogan, if that’s possible?). So I decided to take on the HB 920 issue.
What is HB 920? Simple. It’s the reason you’ve had more property tax levies in Ohio than any other state since 1976 (about 12,000 or so). And it’s not even close.
Why does it do that? Because the provision, which voters put into the constitution about 50 years ago, says that any gain in property value a home accrues will not mean higher property taxes get paid by that homeowner. The county has to go in and lower the tax rate for that home so the school district, park district, whatever collects the same amount of property tax that it did when the levy was initially passed. That’s why you see some crazy disparities between voted and effective tax rates.
For example, in my hometown of Hudson, there are 118 voted mills (the property tax measure we use). Meaning without any reductions, a homeowner would pay $4,130 for every $100,000 of value1. Instead, they pay at a rate of 53 mills. So they’ll pay $1,855 a year — less than 1/2 of the voted tax rate.
Even if your home was worth $100,000 10 years ago and is worth $300,000 now, your property tax bill will be pretty much the same, assuming no new levies. You’ll have to pay more on a few of those mills2 , but overall, your taxes will be essentially flat and not go up 200% like your property value did absent any new levies.
I want to reiterate that Ohio is the only place where this happens. And what it means is that school districts have to go for more frequent levies and at larger rates to make up for those reductions in HB 920.
Like, 12,000 more levies.
So here’s what I decided to ask:
What would have happened if every Ohio school district had never passed another levy when HB 920 passed? How much revenue would school districts have raised this most recent year?
Unfortunately, the Ohio Department of Taxation does not have easily obtainable tax data by school district for 1975. The farthest back their data goes is 1986, which was 10 years after HB 920 passed.
But for this exercise, I decided to just start at 1986. The average tax rate was likely a little lower in 1986 than 1975 (according to Fleeter’s statewide analysis), so this will ensure a pretty conservative estimate. If the tax rates were higher in 1975, then obviously school districts would raise more today than this estimate will show. But since we don’t have district-level data from 1975, I’m going with 1986.
Caveat over.
So, what would have happened to Ohio’s property taxes if HB 920 hadn’t been there and no school district raised a single new levy on residential property since 19863?
I took what every school district’s effective tax rate was in 1986 and applied it to the district’s taxable value in 2025. To be clear, there are a few school districts that were merged, dissolved or otherwise I couldn’t quite match. But I was able to match more than 600 school districts. Here is the top line:
If HB 920 didn’t exist and no school district raised a single new levy, Ohio school districts would have raised $10.7 billion in 2025. Those districts actually raised $12.5 billion last year. So districts are raising roughly $1.7 billion more than what property valuation growth would have gotten them alone.
If you want to see how each district did, look below:
Several districts are raising about the same amount of money. But instead of having zero levies since 1986 to raise that money, which HB 920 prevented them from doing, there have been about 265 school district operating levies a year. That’s 265 times that school districts are forced to divide their communities over property taxes. And they have to do this every few years.
You’ll also see that the Major Urban districts (Akron, Canton, Cincinnati, Cleveland, Columbus, Dayton, Toledo and Youngstown) have the largest variance — because their valuations have climbed the slowest. So they’ve had to go for the most frequent, biggest levies to keep pace.
Meanwhile, Wealthy Suburban districts are next highest — because their property valuations have skyrocketed, so they’re able to pass levies and get additional money to pay for additional opportunities that urban districts can’t.
Meanwhile, rural Appalachian districts have mostly stuck around the same as simple growth because they’ve almost all hit the 20-mill floor — at which point districts get growth on their levies.
Here’s something else.
In 1986, only 5 school districts raised income tax revenue4.
Today? There are 223 districts who now raise $737.7 million of income tax.
Let’s do a little math here, shall we?
Combining the property with income tax changes, districts are raising about $2.5 billion more today than they would have if the districts hadn’t raised a single new property tax since 1986 and HB 920 didn’t exist.
Before you yell, “Greedy commie bastards!”, let me give you this additional nugget:
Ohio’s own school funding formula states that Ohio is now $2.7 billion short of full funding — just about the additional amount school districts are now raising locally above what simple growth would have gotten them.
So it appears that school districts are raising the state funding shortfall locally.
Amazing, isn’t it? That Ohio school districts’ property tax frequency and growth can be almost entirely tied to two things: HB 920 and the failure of the state to adequately fund public schools for 30 years.
Not greedy teacher unions.
Not swollen administrative budgets.
Not tricky school treasurers.
None of that crap.
Just state policy decisions that stifle school districts’ ability to raise local revenue, forcing them to go to the ballot more than 12,000 times since HB 920 passed. All to raise enough money to cover 1) what HB 920 wouldn’t let them cover and 2) what the state has failed to provide students.
Oh yeah. One more thing.
In 1986, Ohio school districts raised $1.03 billion in Tangible Personal Property (TPP) taxes. Wanna guess how much they’re raising today?
$0.
That’s right. The TPP was supposed to be replaced by the Commercial Activity Tax (CAT) when it was phased out starting in 2005. However, the CAT never fully replaced the TPP and the state stopped directly replacing the TPP money with CAT money all together in 20185.
So when you fold in the $1.03 billion loss in TPP, you’re looking at local school districts only raising about $1.5 billion more than they would have if they had frozen their 1986 property tax rates and HB 920 didn’t exist. That’s $1.2 billion less than what the Fair School Funding Plan says the state is short.
This $1.2 billion most likely will be represented by reductions in school programming — districts making cuts, in other words. So they haven’t been able to make up for the losses from big state policy decisions, even though they’re raising more money than simple growth would have provided. Instead, they’ve had to cut programming — a fact all of us who have kids in schools have experienced directly.
One way to look at this $1.2 billion difference is as a lost opportunity cost for three generations of Ohio kids. All caused by three state policy decisions6:
HB 920
Failing to fully fund its school funding model
Eliminating TPP without replacing it
So whenever you hear that bullshit “schools are greedy” or “schools are making things seem worse than they are to get more money” argument, remember this very simple fact:
State policy decisions over the last 50 years have made it harder for school districts to raise money and for their students to access the experiences they need because lawmakers and governors have failed to do the only thing the Ohio Constitution requires them to do: pay for a system of common schools.
What have they done instead? Forked over billions of of our tax dollars to privately run, mostly failing charter schools and unconstitutional private school tuition subsidies for millionaires, not a penny of which has ever been publicly audited.
How much do those cost? About $2.5 billion — a similar amount to how short the state is on paying for its school funding model, which also nearly matches the amount of additional local revenue school districts have raised in excess of simple property value growth since 1986.
Sometimes these things are complex and complicated.
This, my friends, ain’t that.
Ohio’s public school districts overall have been responsible stewards of public money — don’t let anyone tell you they haven’t. Are there occasional problems in public school stewardship? Of course there are, just like there are in any system of humans interacting with money (Enron, Worldcom, Madoff, Lehman Brothers, Crypto, etc.).
But because public school districts are publicly audited and are accountable to publicly elected bodies that meet in the open, we find out about these miscreants early on, shut them down and return responsible stewardship.
We don’t get rid of public schools because some treasurer makes off with the district credit card. That’s batshit. But that’s what anti-public school district advocates desperately want you to think.
Don’t.
The reason districts keep asking property taxpayers for money isn’t because they’re irresponsible; it’s because the state has forced them to use property and, increasingly, income taxes to raise the money the state itself says it should be providing. And when districts can’t raise that money locally, they have to cut student programming.
It’s pretty clear.
Pretty simple.
Pretty obvious.
Pretty sad.
And I don’t know about you, but for me?
Pretty damn enraging.
In Ohio, we pay tax on 35% of the market value of a home.
Don’t make be explain the 20-mill floor and inside millage. Please. Don’t make me! Read Fleeter’s analysis if you want the best explanation.
For you crazies who are interested, inflation would have tripled the amount raised in 1986 (from $2 billion to $6 billion). So the amount raised today on the same 1986 tax rate tells you just how much faster real estate has increased in value than inflation.
These are Anna Local in Shelby County, West Liberty in Champaign County, Arlington and McComb in Hancock County, and Licking Valley in Licking County (though it was repealed in 1987)
I realize that state lawmakers will argue that the CAT is now wrapped into their General Revenue Fund, which is going to pay for schools. But since only 20% of the state’s K-12 budget now goes to kids in public schools, it’s fair to say that only 20% of the CAT money goes to kids in public schools. So you could argue that the $1.2 billion may be something less than that. But since it’s impossible to know what that lower number actually is, I’m using the $1.2 billion. For whether it’s $1.2 billion or $850 million (or some other number), it represents lost opportunities for kids in public schools.
I understand this estimate is limited because there have been hundreds of policy decisions that have affected school funding over the years. I chose these three because they’re the biggest ticket items. But it’s pretty clear that the other, smaller items — along with the state’s obsession with funding privately run charter schools and the unconstitutional private school tuition subsidy program — are driving these local district levy decisions.



