Place for Your Pet: What the Data Reveals Apartment that Allow Animals
As a dog owner, I noticed it can be quite challenging to find an apartment where pets are welcome. Sites like Zillow and StreetEasy do not actually provide pet information for their apartment listings, indicating you have to ‘contact the broker’ in order to find the details. On the other hand, listings on Craigslist actually do indicate whether or not an apartment allows pets on the listings. Therefore, I decided to scrape all Craigslist rental listings for all major U.S. cities in hopes to answer the questions below:
- Which city is the most pet friendly?
- Do renters need to pay hidden pet premium for the ‘pets allowed’ apartments?
- Which city is the most expensive to live in relative to income?
- If one must live in NYC, which neighborhood is the most pet friendly?
- Are the apartments ons Craigslist really cheaper than other rental listing websites?
I scraped two websites: Craigslist and Renthop using Selenium and Scrapy respectively. When using Selenium, I find that having helper functions really helped organize the code better because it doesn’t come with a ready-to-use package like Scrapy. In the craigslist_selenium folder you will find the following files: __init__.py, craigslist.py, data, listings.py, selenium_scraper.py. Craigslist.py is the main file that needs to be run, and listings.py, selenium_scraper.py are class modules with class methods to be imported in the main code, craigslist.py. The data folder is created to easily organize the data scraped. On the other hand, the scrapy package is a lot easier to use, and many things are already built for us when we create a new project. The xml path in Scrapy is a lot more comprehensive even for those who do not have much knowledge on HTML. After exploring web scraping with both techniques, I find that Scrapy is much faster and more robust than Selenium. Selenium’s main benefit is working around the infinite scroll websites where the urls do not change while the information updates, which is a shortcoming in using Scrapy.
A Word cloud of the most frequently used words on the listing titles.
So, what are my discoveries? Not surprisingly, New York is the most expensive city for apartment rentals. Based on Craiglist’s rental listings, one needs to put down $2,757 on average for one month's rent. San Francisco came in a close second with an average rent of $2,745. The third most expensive city is Boston with an average rent of $2,405. In light of the fact that, the average salary is not the same in all cities, you need more contextual information than a straight comparison of the average rent .. Accordingly, I normalized the average rent with Average Tech Worker Salary from https://hired.com/page/state-of-salaries. The following graph displays what percentage of the annual gross salary (before tax) on average, would go into the rent for a renter working in the tech field in these cities.
Now we know that New York is the most expensive place to live in, which city is the most pet friendly? For the purpose of this project, I measured pet friendliness of a city by looking at the proportion of the pets allowed listings in the total listings for that city. It’s not hard to tell that Austin and Seattle are the most pet friendly metropolitan cities in the US, with more than 80% of the rental listings allowing pets, followed by Denver with over 70% pet friendly listings on Craigslist.
My next question was - does it cost more to own a pet when looking for apartments? The answer is yes, though it depends on which city you are in. In New York and Chicago, pet friendly apartments are rarer and more expensive than other apartments. If you specify ‘pets allowed,’ the average rental listings price in these two cities is 25% higher than it is for apartments with no pet specification. On the other hand, Seattle is the second most pet friendly city and landlords do not charge pet owners a noticeable ‘pet premium.’
Another interesting finding is that most cities have more cats allowed listings than dogs allowed listing. Also the premium for dogs allowed listings are higher than cats allowed listings, meaning that average listing price for dogs allowed apartments is higher than average listing price for cats allowed apartments.
Diving into NYC, unsurprisingly, Manhattan ranks highest in terms of average rent at $3,365. What’s surprising is that Manhattan is also the most pet friendly borough in NYC with close to 75% of the rental listings allowing pets on Craigslist. The graphs below show the pet friendliness of the different neighborhoods in Manhattan.
Finally, I compared the median rent listing price on Craigslist and Renthop. Rental listings in all neighborhoods with the exception of Soho, Flatiron, and Nolita are 5https://flic.kr/p/2iteCDR to 30% cheaper on Craigslist. This finding is in line with expectations, given that Craigslist is not the official rental listing website and can include some scam and faulty listings. However, if you’d like to take a chance and score an apartment on Craigslist, I find that most listings are posted between 10AM to noon.
Given more time, I’d like to build a model by incorporating machine learning techniques to classify whether or not an apartment listing is a scam. I’ve scraped many additional data points that could be used to train this model, and I believe it would be an interesting project to explore and in which to practice my machine learning skills. This does mean that I would have to attend numerous open houses to obtain my accurate training datasets, which could be an interesting experiment.