Data Scraping and Exploring +600,000 Indeed Company Reviews
The skills the author demoed here can be learned through taking Data Science with Machine Learning bootcamp with NYC Data Science Academy.
Out of curiosity about overall US work environments (and as an exercise in using Scrapy, BeautifulSoup4, and pyplot), I decided to scrape and analyze data from Indeed.com company reviews.
Using the following link paths, I was able to make an automated web crawler using Scrapy and XPATH's to save down up to 5,000 reviews (spread evenly over the company's review history) with the information as seen in the info key.
Info Scraped:
Then it was a matter of finding company home pages on Indeed, using BeautifulSoup4. I focused on the Fortune 500, which represent a huge portion of the market:
In total, the scrapy "spider" gathered +600,000 reviews spanning the time period from 2011, when Indeed first began enabling company reviews, to October 2017.
Exploratory Data Analysis:
The below graphics only touch on the surface of these reviews. Hopefully it can serve as an interesting first look at the data, as I follow a few threads like rating distribution, word clouds of the reviews, industry trends, and the top and bottom 10 companies:
Word Clouds: Overall Reviews
After removing "stop" words, which are common but uninteresting words like "the", "a", "that", and the like, I ran a few word counts and word-clouds to get a sense of the reviews:
As you'd expect, typical workplace concerns!
By Review Rating:
And the one I find most interesting, a cloud on the separate pros and cons sections of the reviews:
Who doesn't love benefits and free lunch?
The cons speaks for itself: "hours", "short", "breaks", "management". Ouch.
And here, a quick dive into the overall trends by industry both by activity on Indeed and average rating:
As an intro to the counts and distribution of the reviews: the chart on the left is the count of reviews by rating; the chart on the right is the count of companies by mean overall rating.
Indeed is getting way more reviews on its site in 2017! Also of note: more reviews during the weekdays, but less happy reviews on the weekend:
Let's look at it by industry and through time: 2012 to 2017. As you can see, way more reviews in 2017, driven primarily by the retail industry (both in volume and the dive in average rating):
And to revisit what employees care about, you'll notice that the correlations between overall rating and the sub-category ratings match up somewhat with the wordclouds seen earlier. I think it highlights that management, culture, and work-life balance matter slightly more to overall score than compensation, benefits, and job security/advancement.
And finally:
Top and Bottom 10 Companies by Mean Rating (Sorry about the formatting!)
Thank you!
Please let me know if you are interested in learning more about the techniques used in creating this project, or visit my github repo to see the code.