Dog Ownership in Cincinnati [map]

In Cincinnati, there’s a pomeranian named Michelle Obama. There’s also a Beagle named Sarah Palin, a German Shepherd named Obwan Kenobi, and a Pit Bull Terrier named Beyoncé. Actually there’s a total of six dogs named Beyoncé in Cincinnati. Bart Simpson? Check. How about Bruno Mars? Several. Willie Nelson, Willy Wonka, and Winston Churchill? Yes, yes, and yes. How about a Chihuahua named Taco Bell? Yes, face palm… Applesauce, Sriracha, Tabasco, Trumpet, Trombone, Toto, Tripod, Shampoo, and Tony Montana? Yes to all of those! Okay, what about Zombie Wolf? You bet! The creativity of Cincinnati’s dog naming is staggering.

So last month, I wrote a quick Python script to scrape the Hamilton County Dog Licensing database from 2006 to the end of 2015 and ended up with 457,601 dog license registrations. But since dogs are registered yearly, there are only 137,631 unique dogs registered.

Below is a heat map I generated including all of the Hamilton County data.

Hamilton County Ohio dog ownership heat map

Since the area within Hamilton County that’s outside of Cincinnati is a wasteland of suburban nothingness I went ahead and made another heat map of just the good stuff.

Cincinnati Ohio dog ownership heat map

Looks like dog owners prefer Northside. Actually, that’s not entirely correct. Northside does have a high dog ownership concentration near its central business district but only contains 4.55% of Cincinnati based dog owners. Additionally, since Northside includes more land area than just its central business district, it comes in at third place with a dog ownership density of 0.97 dog owners per acre. Westwood claims the title for most dog owners in Cincinnati with 9.62%. West Price Hill on the other hand has the highest density of dog owners with 1.09 dog owners per acre. Below, two plots show which areas have the highest number of dog owners and which areas have the highest density of dog owners. The plots below only include data for dog owners residing within city limits. Therefore, a place like Hyde Park represents 5.49% of Cincinnati dog owners with a density of 0.71 dog owners per acre. Clifton contains 2.74% of Cincinnati dog owners with a density of 0.46 owners/acre. Over-The-Rhine with its relatively small footprint only contains 0.85% of Cincinnati dog owners but has a density of 0.73 dog owners/acre.

Cincinnati neighborhoods by dog ownership

I’m not sure what the dog version of the “crazy cat lady” is but below is the distribution of dog ownership in Hamilton County. Amongst all dog owners, 61% own only a single dog while 3.5% of dog owners own five or more dogs.

Hamilton County dog ownership distribution

Among all the dog registrations, below are the top 15 breeds. Labrador Retrievers get the top spot by a wide margin.

Top dog breeds in Hamilton County Ohio

Below are the top 25 dog names registered in Hamilton County Ohio. So the next time you see a dog and you don’t know its name, start with Max, Buddy, and Lucy. You’ll have at least a 1% chance of getting it right!

Top dog names in Hamilton County Ohio

One thing I noticed early on was how many people named their dog after other animals. Obviously “Bearcat” is an acceptable name, but Tuna? Turtle? Zebra? All are registered dog names here in Cincy. Along with those are Big Moose, Shamoo, Kitty, Kitty Kat, and Bearcat Moose. Yes, someone in Cincinnati bought a dog then named it Kitty Kat. SMH…

Another notable naming variation were the forms of “dog” as in Dog, Doggie, and Doggie Dog. Which leads us into Snoop, Snoop D, Snoop Dawg, Snoop Dog, Snooper, Snoopers, Snoopie, Snoops, and Snoopy. We can keep the rap artist theme going with Dr. Dre, Drake, and 2 Pac. This inevitably brings up the question; what are the worst “questionable” names? How about:

On the flip side of that, what are the best names you ask? Well since everybody would answer that question differently, here are some names that I thought were pretty good. They’re definitely original at the very least…

Yes, someone actually named their dog “Bro”, “Major Storm Warning” and “Dinkosaurus-Rex”. Cincinnati, please don’t ever stop being amazing!


I wrote a Python script to scrape all the dog registrations from the Hamilton County Auditors Dog Registration web page and into an SQL database. I ended up needing the Python Requests library to pass information through the web forms to the server along with the usual boat load of regular expressions. Once I acquired all the registrations I had to convert the address to latitude and longitude coordinates. This was by far the most annoying and time consuming process. The Google Maps Geocoding API (which is awesome!) limits free users to 2500 requests per day which wasn’t enough for this project. I ended up writing another Python script that passed the addresses from my laptop to (this) third party web site one at a time. This same script then retrieved the lat/lon coordinates once converted and updated the original SQL database with the new information. I implemented a 15 second delay between addresses to minimize server loading. After all the lat/lon coordinates were acquired I could dump them into QGIS and create the heat maps. I used the OpenStreetMaps layer for the roads. Lastly, I used matplotlib and Seaborn to create the bar charts.