I love storytelling, and helping organizations share their truth with the world. From non-profit media outlets to for-profit boutique agencies to one of Canada's great universities, I've been connecting institutions and stakeholders for a while, and enjoying both the journey and seeing great ideas find great audiences.
As a lower-mid-tier nerd, I’m just nerdy enough to be running a home media server (old Dell box, on Ubuntu 20, with Plex and nothing else). I also own my own domain (hey, you’re on it!), which gives me the power to create a nigh-infinite number of email addresses.
This, in turn, lets me make a generic email for all the sign-up garbage I need to use once and never again. “Enter your email / click the link in your email to register for | download | access” stuff.
What I wanted to do was have all that stuff funnel into a box that self-deletes every night. Get the confirmation email, click the thing, and nope out, knowing that any junk mail or follow-ups will auto-clear.
Since I have the local computer running (close to) 24/7 as a media server, and Ubuntu, and my own mailbox, why not dive into the wonderful world of Python scripts and cron jobs to make it happen?
(For the record, this seems like a jovial public-facing post, but it’s really just for me so I can remember how to do this stuff if I need to do it again).
Here’s the script, courtesy of the good people at Opalstack, my web host. Nice, responsive, and ultimately patient people!
#!usr/local/bin/python3
import imaplib
import ssl
from datetime import datetime
# your IMAP server credentials
IMAP_HOST = 'mail.us.opalstack.com'
IMAP_USER = 'user'
IMAP_PASS = 'password'
def clear_old_messages():
today = datetime.today().strftime('%d-%b-%Y')
ctx = ssl.create_default_context()
server = imaplib.IMAP4_SSL(host=IMAP_HOST, ssl_context=ctx)
server.login(IMAP_USER, IMAP_PASS)
server.select()
resp, items = server.search(None, f"SENTBEFORE {today}")
#resp, items = server.search(None, "SENTBEFORE {}" .format(today)) [[python 3.5]]
items = items[0].split()
for i in items:
server.store(i, '+FLAGS', '\\Deleted')
server.expunge()
server.logout()
if __name__ == '__main__':
clear_old_messages()
I save the script as garbage.py in a folder called “scripts” in my home folder, and make it executable:
chmod u+x garbage.py
On the Ubuntu server, I open up the crontab editor with
crontab -e
Then adding at the bottom of the crontab
0 1 * * * /home/[user]/scripts/garbage.py
I made an earlier mistake setting this up with a relative file path
0 1 * * * ~/scripts/garbage.py
but that was a no-go for some reason. Using the absolute path helped the cron job find the script and run it.
When that didn’t work, I got advised that putting the path in the cron job as well as the shebang will bulletproof it more:
Including the path to Python in the crontab. I was pushing the crontab just to the script and assuming the shebang to Python would be enough — apparently not (I’ve updated the post above).
Permission Denied for the path to the Python script. I’m finding the Python script using whereis python and locating it at /usr/lib/python3.8, but the crontab log is giving me a “Permission Denied” in the log. The solve there was using usr/bin/python3.8 — no idea why lib is permission denied and bin is okay, but whatever works, works. I’ve updated the post above.
When Python updates, the path breaks — I had crontab calling /usr/lib/python3.7 and getting a not found error, which was vexing until I realized Python had updated to 3.8 and I hadn’t noticed. This applies to both the shebang for the script and the crontab call. The fix: you can call the Python version (python3) without the subversion (python3.8) — but not just “python”, because then the system calls Python 2, which can’t run the script. Once again, the post above’s been updated.
Moved everything to a Synology server, and while its built-in task scheduler has solved the cron job for me, after a ton of syntax errors I finally discovered that the above script uses an f-string that only works in Python 3.6+, and the Python 3 module in the Synology package manager only supports 3.5.1. So the script above has been amended again to reflect that.
What does it mean when every job you’ve ever had is the best job you’ve ever had?
Because that’s the deal. I think I’m just an incredibly fortunate dude.
In high school I had the usual slate of jobs — gas station, washing dishes at a restaurant, busboy, hardware clerk at Canadian Tire (if a teenager working at the Tire ever tells you he knows what he’s talking about, believe me he does not).
The first ‘real’ job, though — like actual responsibility, opening and closing, managing a float, dealing with customers solo — was at a used book / comic book / trading card shop called Twice Told Tales. The owner, Ron, was a great guy and pretty much the ideal boss for a 15- or 16-year-old. He was probably in his early thirties then, but was an adult to me, in that way everyone over 25 is “generic adult”. He had another store in Markham he spent a lot of time at, so I kind of semi-managed it after a year — buying books, taking stock, putting in orders, running inventory, managing the cash and the float. I loved books and comic books and in my last year there, Magic the Gathering cards. I discovered Richard Brautigan and alternative ‘comix’ there.
It was the best job I ever had.
Graduating from Ryerson and the Radio & Television Arts program, I somehow lucked into being the editor in chief of the school paper, the Eyeopener — one of only a handful of non-journalism grads to do it. I drank a lot of coffee and smoked cigarettes and had yelling fights with the news editors and the photo editors sometimes. We ran me for office in the provincial election in the Fort York riding as a publicity stunt (positioning ourselves as the Spider-Sense Revolution, in opposition to Mike Harris’ Common Sense Revolution, with a general mandate to do all-candidates meetings and talk about how education matters) and I got 140 votes, which wasn’t great but still beat the Natural Law party and the Marxist-Leninists. Production nights — this was in the era of pasteup, where we would lay out the paper on Macs but still had to print everything and paste it up on waxed board, making edits with blue pencils and cutting out and replacing individual words and letters with Xacto knives — would go on till about two in the morning, and a few of us would crash on the office couches to get up and deliver the paper at 5 a.m. the same day. We ate bad Chinese food and terrible pizza. When the stars aligned, we’d get ads from both the local Caribbean restaurant Mr. Jerk and for a sperm donor clinic which we would dutifully place next to each other on the back page of the paper. Mike, one of our news editors, once stole three bags of shredded papers from the Principal’s trash after a closed-door budget meeting and spent a whole night trying to tape them back together. Somebody sent us a Sega Saturn for the entertainment section and we stayed up all night playing Virtua Fighter. We launched a whole new section of the paper, championed and edited by Brian Daly, called Roots & Culture because even in 1995 it was sadly obvious that everything was too white and marginalized people needed voices. I worked with brilliant people who later became luminaries in journalism and graphic design — Ed Keenan, Doug Cudmore, Stefan Woronko.
It was the best job I ever had.
As my time at the Eyeopener was drawing to a close, I got a call from my friend Mark who told me that the radio station at the 2000-student English-language university he went to in Quebec — Bishop’s — had just gotten its FM license. But the CFRC said they had to have a full-time station manager and their total budget was around $14,000 a year so they needed somebody who would work for about the equivalent of $5 an hour to run a radio station. I leapt at the chance and they hired me. I was the only full-time employee of a station that at its peak was broadcasting in four languages, with over two hundred volunteers manning shows from 6 a.m. to 2 a.m., seven days a week. The volunteers were all dedicated and a bit crazy; some of them formed a record label later, which among other things was the first to sign Canadian indie rock darlings The Dears. We hosted cheap concerts for bands who just wanted a place to crash and a share of the door on runs from the East Coast to Montreal. I made spaghetti and meatballs for The Planet Smashers and Itch crashed on my sofa once. The station went from 25 watts to 500, broke from the student union and became an independent non-profit, and did some ridiculously innovative things in radio programming that I’m proud of today.
It was the best job I ever had.
After some time kicking around cleaning apartments and helping run a B&B, I was hired to be the editor for a truly brilliant guy who was doing French-to-English translation but needed an editor to turn his translated English back into “English English.” It was a great idea and one I generally don’t see many translators use. I started with him part-time, then full-time, and after a few years it was a standalone office and four full-time staff. We did tons of work for ad agencies, government work, tourism, all kinds of things. We translated a liquor catalogue for the SAQ and that’s how I learned “cat piss” is a legit tasting note for wine. Also that deaths in pharmaceutical studies are “serious adverse events.” My love for language deepened and my boss, Scott, patiently and insistently drilled into me a rock-solid attention to detail that was not part of my DNA but now reverberates in my bones.
It was the best job I ever had.
One of our clients was an ad agency that was doing boutique work out of Sherbrooke, and needed a lot of help with English-language content because they’d started doing original creative for national brands — Bayer, Johnson & Johnson — that wanted standalone Quebec marketing, but that in turn needed to be translated into English for the Quebec English market. Also loads and loads of translation for pharma studies, because the Université de Sherbrooke was a hospital school and there were drug trials stacked a mile deep there. I was the “creative guy” and they eventually crunched the numbers and realized it was cheaper to hire me than to keep hiring the company, so they offered and I accepted. I was the twelfth hire at the agency. Eight years later it was 52 people, and doing national campaigns for international brands, instead of the Quebec versions; holding down marketing for major pharmaceutical companies and making a name in the burgeoning area of animal health. The graphic designers – Dan, Charles, Charlie, Val, Élizabeth – were (and are) stone cold brilliant, and working with them was pure alchemy. Living in an environment where we transitioned from French to English and back seamlessly according to which word felt the most right at the moment was a joy. The account directors were driven but compassionate, and the owner had a rock-solid dedication to quality of life that was the envy of every other agency we ever met. I got to sit down with clients at the outset of mandates, pitch our work, and carry it to execution with our creative team. It was fits of boundless brilliance punctuated with camaraderie and discovery. I could spend three weeks immersed in swine vaccines, come up for air, and find myself learning every intricacy of the paperboard industry to launch a company, and then leap into developing patient adherence materials for a novel chemotherapy regimen.
It was the best job I ever had.
For a variety of reasons, Quebec stopped feeling like home, and when I looked for work, I was lucky enough to find Queen’s Law. I wasn’t going to apply but Mike — from the Eyeopener, and the shredded papers, remember? — was working there and said I totally should. So I did. I became the first director of marketing & communications at the school’s law faculty, despite not knowing a thing about law. From there, I got to grow a team that included alumni and advancement staff to turn it from a modest law school with no digital presence to arguably the most online law school in Canada. I got to expand from marketing and communications to alumni and advancement (university fundraising, for the uninitiated) work. Rare for higher ed, I got to see the full scope of our lifecycle, from the first outreach to high school students to alumni 50+ years out. We built a wildly successful national online undergraduate program in law, reinvented alumni communications, rebuilt our entire web presence, and became polyvalent storytellers on almost every channel we could get our hands on. I delved into research promotion with Canada’s finest legal scholars, and could spend a day rocketing from working on brand development for our pro bono clinics to structuring a Constitutional Law book launch, and develop a fundraising proposal for a new chair in business law over lunch. I learned that law is the secret lever that moves the world: that no matter what you do and where you go, if you live in society, law is the steady thrum that holds all of civilization together. The faculty are staggeringly brilliant, but so were the staff — and the students, who I admittedly had a lot of “law student” stereotypes about, were and are the most considerate, thoughtful, passionate and driven people I’ve ever met.
It was the best job I ever had.
Until four hours ago.
I’ve just put a pin in Queen’s Law, and starting tomorrow I’m officially the Director of Marketing and Communications at Queen’s Faculty of Engineering and Applied Science. On paper it’s a lateral move, but as somebody who’s never made a choice based on titles or money, it’s a creative step into a thrilling unknown. It’s going to broaden my scope from law (which is itself a cosmos) to a dizzying array of sciences I can barely wrap my head around. I’m working with the people who build, and rebuild, the world. It’s the crackling excitement of students testing the frontiers of what they’re capable of, in Tony Stark labs with genius mentors urging them on. It’s reactors and robots and biomechanics and chemistry. It’s the technology that’s going to improve our lives, and possibly save them all. It’s literally the gosh-darn future sitting there waiting for stories to be told about it.
Tax-ratio fallacies are the first and greatest refuge of the Tax Whiner.
But what’s wrong with tax-ratio arguments?
TLDR: they’re vanity metrics.
We get jiggy with the logic below.
Why tax-ratio arguments are fallacies
So you’re chatting with somebody who has a compelling statistic. The city has higher taxes per person than another place, for instance, or a higher average amount paid per income, or… well, it could be anything, really. Taxes versus square kilometre of territory. Taxes per number of dwellings. Taxes per total number of daschunds. Taxes per average height of a citizen.
Ultimately, tax ratio arguments, “our taxes are the highest or lowest per ______________”, are kind of like IQ tests. If you have a great score, you can feel really good about it, and it’s fun to brag about at parties, but for any practical purposes, it’s trivia.
Explaining why it’s trivia takes a bit of math and a bit of civics and a certain amount of “if A, then B” logical thought. Oh, and just a smidge of Greek mythology. Buckle up!
Let’s start with a question of control.
There’s one element under municipal control, as far as taxes go: what they charge. Their rate.
Where does that rate come from?
Here’s the math part; it’s a pretty simple two-part formula, but worth repeating:
Part one:
municipal services
x
cost
=
revenue required
Part two:
revenue required
/
taxable assets in your territory
=
tax rate
This is grossly oversimplified and doesn’t take into account a lot of things, but it’s a napkin sketch of how taxes happen.
So why is this important to know?
The key thing is to look at this using common sense.
To manage a situation and to effect change, you have to look at what is under your control.
In the municipal case, it’s “services”.
The outcome of the two-step equation is “tax rate.”
It doesn’t account for population size*, or local income, or the number of weiner dogs in the territory.
*except to determine the scope of services it needs to provide above, but you knew that.
Why can’t it?
The better question is “how could it?”
It can’t, for a number of pretty common-sense reasons, chief among them this valuable bit of context:
Large municipalities require planning.
Municipal organizations are complex networks in charge of life-sustaining services, and planning happens (or should happen) on a scale of years to decades, not days to weeks.
Major infrastructure like water, roads, and waste needs to be planned and maintained. Large numbers of service groups like police, fire, garbage, and utilities need to be hired, trained, and managed. Parks and sporting infrastructure needs to be maintained. Finances have to be meticulously kept. Public transit needs to run. Tourists need to be attracted.
These aren’t “snap decision” kinds of areas, and when cities see disaster, it’s usually because somebody with a “runs like a business”2 mentality has tried to apply what is perfectly sound thinking for running a bait shack to running a municipality. The systems aren’t compatible.
So what happens when you try to apply “taxes as a percentage of average income” or other ratio-based arguments to a discussion about municipal taxes?
You’re introducing trivia to the conversation in the form of non-actionable information.
We’ll use “average tax paid, as a percentage of income” as a f’rinstance, but this applies to any ratio model, including square km, number of people who own ducks, total count of refrigerators – any datum that can provide a number to put on the right side while taxes are on the left.
So you’re talking to somebody that says “this town’s taxes are out of control! We have one of the highest average taxes paid, compared against income! Why, 5% of a citizen’s average income goes to taxes, and the average across the province is only 4.8%!”
To be fair, that legitimately sounds outrageous if you don’t think about it very much.
But let’s invest some thinkin’ time.
First assume good faith, and that the person in question is actually trying to have a helpful conversation and not just kvetching.
The key question becomes:
What, in this scenario, is in the municipality’s power to directly change?
They can’t increase local revenue (well, not directly*). Unlike the above equation, which starts with “services,” this is the ratio argument equation:
average income
/
taxes paid
=
taxes paid per average income
In the first equation, we started with “services”, which municipalities control. “Municipal services” is the starting point in a linear path to “tax rate.”
But here, there’s no municipal-adjustable equivalent. Even with the very best wishes and a spectacular wizard hat, municipal government can’t magically increase local revenue.*
They can adjust tax rates, but as we’ve shown above, tax rates are a direct derivative of services, and as the clear-eyed have noted, “services” represent a vast range of things that are more like a cruise ship than a unicycle – they take forethought, vision, and long-range planning to manage effectively. Radical changes to services to immediately slash tax rates generally read as “panic” and don’t end well, as a rule. “Income has fallen 0.5% so let’s not have police for three months” is not a great way to run things.
In the “average income” flavour of this argument, a good question to ask is “does the municipality charge income tax?” and if the answer is “no,” the follow-up question “so what does income have to do with our tax rate, exactly?” will usually flip the light switch.
*”Municipal government can’t increase local revenue” is actually not entirely true.
Municipalities make a huge difference in local revenue by making themselves attractive to new citizens, tourism, and employers. How do they do that?
By having great communities where people and businesses want to be, which requires fun things like good water, functioning sewers, police and fire, etc. These are “services,” and they’re what drive taxes. So if you want your tax-to-revenue ratio to improve – even though it’s a vanity metric – you should actually want to pay taxes for world-class services, to attract people and businesses, and improve revenue.
But they can’t directly affect total revenue, which is kind of the whole point.
Anyway, the above applies to any argument that relies on the forumula
tax rate
/
[VARIABLE]
=
tax rate per [VARIABLE]
whether it be average income, counting women named Barbara, total km of city streets, number of babies born per year, etc.
All right, sooooo…
So when you stake your whole argument on one of these ratios, you’re not actually complaining about taxes any more. You’re complaining about [VARIABLE].
And it’s all well and good to think that there aren’t enough daschunds in the city, or homes cost too much, or homes cost too little, or people don’t make enough money, but at that point you’re essentially saying [VARIABLE] is a problem, but you still think you’re upset about taxes, because you don’t understand how taxes work.
To put it another way…
The tax ratio fan can’t argue that the taxes aren’t fair (in Kingston’s case), because they are. That’s just math n’ geography. They’re upset about [VARIABLE], but they don’t really understand that [VARIABLE] is the problem… not the taxes.
So what’s the problem with these ratio arguments? They’re silly, but harmless. It’s just trivia, right?
Meh. One problem is that they get people who don’t have a firm grasp on math or civics all ginned up about something that doesn’t ultimately mean anything, which is a huge waste of energy and helps propagate a pervasive I-read-half-an-Ayn-Rand-novel “taxation is bad” fallacy that erodes a general understanding of civics. Shutting these things down helps foster a nuanced understanding of how society functions.
More practically, the ratio arguments also passively promote a model where municipalities should, say, continually adjust rates according to chicken count or total number of Dairy Queens or average income or people’s heights; they have the gloss of facts, but when you think about the facts of civics and the math underlying taxation, it’s a bonkers worldview to put forward.
Consider the kind of government you’d need to run to index crucial long-term service decisions based on the number of people named “Dave” in your catchment, which changes weekly (Daves come and go). But then somebody complains about the daschund ratio, and then the average height, and then, and then, and then…
If you don’t pay much attention, the ratio arguments are compelling, and next thing you know you’ve got a mayor who wants to “run things like a business” and ten years later you’re wondering how everything went to hell and why you’re on a boil water advisory.
So it’s worth time and energy to shut tax ratio arguments down as meaningless. Hey, I wrote this whole thing! Clearly I think it’s worthwhile.
So ratio presentations of taxation are useless?
No! They’re fun trivia, as mentioned above. If you’ve got, say, the lowest taxes paid per total number of swans in the city’s pond, you can put that on your website and the easily gulled will think you have low tax rates, regardless of what your tax rates actually are. You may have the highest tax rates and also the highest number of swans, but a sucker is born every minute.
The results can also derive some interesting ways to look at [VARIABLE], as long as it’s clear you’re on an investigation of [VARIABLE].
If you find Greek gods named “Zeus” are taxed more than anywhere else in the country, for instance, you may want to see if the Greek goddess Hera is working in your tax office.*
*That’s the Greek mythology, folks! Don’t forget to tip your waiter.
But tax rate is still the only rational metric of whether a city’s taxation is fair?
Yes. It’s pretty straightforward. Again, it takes a bit of math, some civics, and… well, honestly, you didn’t really need the Greek mythology. But it’s fairly linear after all.
1. A good test of “is my municipal government doing okay?” is to inverse this relationship. If the tax rate is fair, relative to comparable other places, and the services are adequate, the city’s doing a good job. If the tax rate is out of step with other municipalities, or the services are dismal, the city’s doing a bad job. In Kingston’s case, the services seem good and the tax rate is fair (see previous page), so I deem the City do be doing okay. There are always things to improve, but taking to the ramparts about taxation is a non-starter and a waste of everyone’s time.
2. One more time… If somebody’s answer to “should government be run like a business?” is anything other than “no, that is insane, a business’ ideal model is to maximize benefits for a tiny number of owners or shareholders, and a government’s ideal model is to maximize benefit for everyone, which is literally the exact opposite, so while it’s fine to say governments should pursue efficiency or not be wasteful, business is a ludicrous model, governments should be run like very good governments, and you should feel bad for even asking that question”, you can safely ignore anything they have to say about government, civics, economics and politics. Send them to this page and if they call you a “snowflake” or a “Neo-Marxist,” tell them I said they owe you a quarter.
Really? Somebody online insists that they’re, like, the highest tax rates anywhere ever.
S/he’s wrong. Probably also says things like “government should be run like a business”.1
Methodology
Let’s start with “what’s a comparable city?”
Population size is the clearest metric here. Nothing else really makes sense. A tiny village isn’t a fair comparison. Nor is a borough of a major city, nor is a city more than twice Kingston’s size. Size matters. Municipal taxes pay for municipal services for the population the municipality serves. Something weird seems to happen with taxes for all mid-sized cities, too (see below), which makes comparisons that don’t account for this doubly inappropriate.
In short, population size is the common-sense metric for determining “comparable” in a tax scenario. But hey, if you don’t like population size, there are two other ways to measure this below. Stay tuned!
Setting a comparative range based on population size
15 municipalities is a reasonable basis for comparison, so let’s move up and down seven slots on either side of Kingston:
Municipality
Population
Clarington
92,013
Brantford
97,496
Chatham-Kent
101,647
Waterloo
104,986
Thunder Bay
107,909
Milton
110,128
Ajax
119,677
Kingston
123,798
Whitby
128,377
Cambridge
129,920
Guelph
131,794
St. Catharines
133,113
Barrie
141,434
Oshawa
159,458
Greater Sudbury
161,531
And now: LET’S TALK TAX RATES!
What’s our basis of comparison?
We’re using “Residential”. If there are varying rates by region, we’re going to use “Central” or the closest equivalent. All rates from 2018.
All amounts are per $1000 evaluated. Links to the actual tax rates are next to the city and amount. First, here are the municipalities again ordered by population size:
Where you might expect to see a correlation there – especially since large centres like Toronto and Ottawa have rates closer to the Milton end of the spectrum – there doesn’t seem to be much of a ratio mapping population size to tax rate.
Kingston is #9 on the list of 15. From the dead middle of a list of 15, it moves up one place in that same list.
So Kingston doesn’t have astonishingly high taxes when compared to other Ontario municipalities of similar size?
Nope.
Kingston’s tax rate is proveably and conclusively average?
A smidge higher than average but not even in the top five in its weight class.
Why are mid-sized city tax rates higher than those of megacities and tiny towns?
It’s an interesting thing I noticed while working on this. Major centres have much lower rates, as do tiny towns. I don’t know why for a fact, but my theory is that mid-size cities have all the fiscal disadvangages of large cities – obligation to provide city water and full services, a cultural life that needs to be supported, sophisticated transit and library systems, and sports infrastructure – without the economies of scale that kick in once you’re at the million-citizen mark. Small towns don’t have to do this at nearly the same scale. There’s probably some soft population number at which these things spike, and another where they drop again.
Milton, for instance, is our outlier here. The suspicion is that as essentially a borough they can lean into Toronto as a sports/culture/transit mecca, so they can offer a dramatically lower tax rate than some of their peers in size. The other cities on the list are “standalones”, and essentially are providing Toronto-level services but to much smaller populations.*
Again, that’s just a theory. If you’ve got facts, I’d love to update this page.
A reader, connected to somebody once in Milton’s municipal services department, provides some context: “Milton has been able to get away with not providing (and paying the full freight for) what we might call a mature suite of municipal services for a number of reasons, and the current mayor (now Canada’s longest-serving, at 13 terms) takes it as an article of faith that property taxes shall not rise for any reason (more or less), and he will likely be re-elected until he’s carried from his office….the other thing to note about Milton is that it also has a municipal tier above it (the regional municipality of Halton, which, pending the provincial review of regional muncipalities, may or may not change dramatically), so certain costs are shared out between municipalities large and small within the region (e.g., Halton Regional Police Service).”
Let’s try a different comparison method! How about similar-ish cities?
Sounds great! This time, let’s map Kingston against cities that might be less similar in population (we’re still excluding places that are less than 30% as big, or over 200% larger) but share most of Kingston’s key attributes:
A large and dynamic downtown
Multiples of various ‘city’ indicators – movie theatres, sports complexes, schools
At least one major educational institution (a university or two or more colleges)
Well developed tourism infrastructure
To make this list, I reached out to a number of people – Tourism Kingston, the City of Kingston, and Kingston Economic Development. They have a firm sense of the city and who our “competitors” are. With their help, I arrived at the following list:
*Muskoka is an interesting case, where it seems there’s a regional tax rate and then a town rate that attaches to that. Huntsville, one of the towns, comes in at the middle of the tax rates and incorporates the regional rate into its own. I think. It’s a bit hard to understand. It might be as high as $17.40 if Muskoka levies an additional bill to the town bill.
**A tie!
How does Kingston do in our second test?
Here, Kingston is just under halfway down the list – 6/12 (I’m awarding it the tie with Sault Ste-Marie, because who can honestly say they’d prefer the Sault?).
So in two tests vs. comparable cities or municipalities, Kingston is… average?
Slightly over in the first, slightly under in the second.
Comparisons by average home price
This is a toughy. It involves doing a ton of clicking around on the CREA National Price Map (https://www.crea.ca/housing-market-stats/national-price-map/), and even that gives huge areas, not specific municipalities. So “Kingston” covers what I think of as Kingston, but also includes Napanee, Gananoque, probably Yarker, possibly Pontypool, etc. “Oakville-Milton” is insane because it has a bunch of boroughs in its catchment and is even more expensive than the GTA region. I can’t find a source more granular than this.
So this really is fudging something in search of a better way of doing it, but without home price averages (ideally for single-home residences, to align with our tax category) for individual municipalities instead of huge catchments, it’s hard to find a better way.
So here are average real estate prices circa February 2019:
Municipality
Average real estate price
Barrie & District
$458,600
Brantford
$427,322
Cambridge
$477,754
Durham Region
$576,702
Greater Toronto
$767,800
Guelph
$527,300
Hamilton-Burlington
$587,300
Kingston
$366,334
Kitchener-Waterloo
$490,484
London & St. Thomas
$394,121
Niagara Region
$393,500
Oakville-Milton
$961,000
Ottawa
$400,800
Peterborough/Kawarthas
$435,964
Quinte
$334,420
Sudbury
$250,495
Thunder Bay
$219,458
Windsor/Essex
$313,146
They’re big regions, so let’s just grab three on either side for a field of seven:
Seven regions with comparable average real estate prices to Kingston
Municipality
Average real estate price
Sudbury
$250,495
Windsor/Essex
$313,146
Quinte
$334,420
Kingston
$366,334
Niagara Region
$393,500
London & St. Thomas
$394,121
Ottawa
$400,800
And, I don’t know, the most comparable city in each region for…
*I’m not thrilled about it either – it’s too big a city to be a valid comparator – but since Mike Harris jammed mega-mergers down everyone’s throat a while back, we don’t have the sensible comparator, Nepean, to stack against.
**Ottawa doesn’t post its tax rates! It’s the only city that doesn’t seem to do that.
***Another tie! Again, I’m going to give it to Kingston, because, I mean, Trenton.
Where does Kingston land this time?
When you stack the most comparable cities in the regions with the closest average real estate prices, Kingston is second lowest in a field of seven for tax rates.
Huh.
Yup.
That’s three different ways to compare Kingston fairly to other places and see how the tax rates stack up.
It is indeed.
And just one last time: Kingston doesn’t have amazingly high tax rates compared to similar municialities?
One last time: nope. Squarely in the mid-range. Low, by some measures.
So will these Actual Facts stop all the complaining?
Oh, my sweet summer child, no. Tax Whiners tend to wind up in a Venn diagram that strongly overlaps with people that say things like “the facts don’t care about your feelings,” so one might expect that exhaustively researched facts will keep them from repeatedly venting their feelings, but I’m… not optimistic. I’m probably going to get called a “Neo-Marxist” by people who don’t know what Marxism is. Yes, that’s a whole thing now.
Hey, that Internet Person is now going on about tax rates per capita / tax rates per income / tax rates per building / whatever.
Ugh. The ratio fallacy. It’s a kind of a combination of a lack of math and a not-great grasp on civics. That takes quite a bit of unpacking so I’ve put it on its own page.
1. If somebody’s answer to “should government be run like a business?” is anything other than “no, that is insane, a business’ ideal model is to maximize benefits for a tiny number of owners or shareholders, and a government’s ideal model is to maximize benefit for everyone, which is literally the exact opposite, so while it’s fine to say governments should pursue efficiency or not be wasteful, business is a ludicrous model, governments should be run like very good governments, and you should feel bad for even asking that question”, you can safely ignore anything they have to say about government, civics, economics and politics. Send them to this page and if they call you a “snowflake” or a “Neo-Marxist,” tell them I said they owe you a quarter.