Travel Sites Review Web Scraping and Data Analysis
Project GitHub | LinkedIn: Niki Moritz Hao-Wei Matthew Oren
The skills we demoed here can be learned through taking Data Science with Machine Learning bootcamp with NYC Data Science Academy.
Github
Introduction
Millions of travelers take advantage of travel sites to plan and book their trips because they can bring up the best prices for ideal travel dates and routes, hotel vacancies, rental cars, etc. But first they have to decide which site to use.
Travelers usually consider a number of features, which includes discounts availability, price guarantees, travel guides, convenience, and mobile app availability. They also look for reviews because they are a great source that can be referred to and analyzed to derive actionable insights.
To better understand consumers' satisfaction and concern on travel sites, this project scraped reviews of 18 different travel sites from ConsumerAffairs.com, and conducted analyses, including numerical analysis, natural language processing (NLP), and sentiment analysis.
Travel Sites and Web Scraping
Reviews of 18 travel sites were scraped. The studied sites are:
1. BooIt.com | 10. Jestter |
2. CheapOair | 11. Hipmunk |
3. Booking.com | 12. Travelzoo |
4. Expedia | 13. Kayak |
5. Priceline | 14. Orbitz |
6. Hotels.com | 15. Trivago |
7. Airbnb | 16. Travelocity |
8. Hotwire | 17. TripAdvisor |
9. OneTravel | 18. CheapTickets |
As shown in the site screen shot below, the consumer review section consists of 'star rating', 'consumer info' (e.g., name, city and state), 'review text',' helpful', 'verified reviewer', and 'verified buyer'. The term 'verified buyer' indicates that the reviewer purchased the reviewed product or service and provided proof of purchase history to ConsumerAffairs. A 'verified reviewer' has created an account on ConsumerAffairs and confirmed his/her email address through our verification process.
It is worth noting that the percentage of non-text reviews (e.g., review without comments) was only 1.4%. The percentage of verified reviewers and buyers is 80% and 45.7%, respectively.
Some of the most interesting analysis findings are summarized below.
What are the overall review ratings?
Before delving into estimating the review ratings, the number of reviews in each site was identified. The number of reviews varies drastically by site as shown in the bar plot below. Overall, a total of 35,358 reviews were scraped, reviewed and analyzed.
About 46.9 % of the reviews (i.e., 16,574 reviews out of 35,358 reviews) received at least one 'helpful' vote. The total of number of 'helpful' votes was 86,229.
The distribution of 'helpful' vote per rating was examined and the result is shown in the plot below. It was found that a majority of the 'helpful' votes are linked to one star reviews, while one of the five star reviews received the biggest 'helpful' votes (e.g., 115 helpful votes).
The relationship between review length and rating score was investigated, and the result is shown the bar plot below. It was found that longer reviews are found at either one or five star reviews. Overall, consumers tend to leave longer review when they were not satisfied with travel sites' product or service. It is worth noting that the length of the one star reviews ranged between 0 and 1,117 words, and the mean of the review length is 475 words. Meanwhile, the length of the five star reviews ranged between 10 and 1,010 words, and the mean length of the reviews was 211 words.
Overall counts of the review rating is estimated and illustrated in the bar plot below. It shows that the majority of reviewers were not satisfied with the travel sites service.
The rating score was investigated by site and the result is displayed in the FacetGrid bar plot below. It was found that most of the five star reviews are from BookIt.com and CheapOair, and one star reviews are from some of the remaining sites, including Expedia, Priceline, Booking.com Hotels.com, CheapOair, etc.
Since the number of reviews in each vary a great deal, average rating score per site was calculated and shown in the bar plot below. Hipmunk has the highest average rating score (i.e., 4.33), while Hotwire has the lowest score (i.e., 1.07). Note that the average rating score in each of the top 5 sites is over 3.1.
What can be found from review text?
Next, review text was analyzed using Natural language processing (NLP) to thoroughly understand whether consumer reviews are related to travel sites performance or service. To this end, common sequences of words across review text were developed by examining pairs of two consecutive words (e.g, bigram). The most common bigram from the entire reviews is "customer service," followed by "credit card."
The image below is a word cloud generated by the above analysis.
What are the common bigram with rating 1 and 5?
The common bigram was also investigated by rating score. As shown in the two line plots below, the most common bigram with the one star reviews is "customer service," followed by "book trip," while the most common bi-gram with rating 1 is also "customer service," followed by "credit card."
Bigrams from Five Star Reviews
Bigrams from One Star Reviews
The common bigrams in both one and five star reviews were generated and summarized below.
How is the sentiment orientation of review text?
The plot below clearly illustrates that the level of polarity at each rating score. While all types of sentiment (e.g., positive, neutral, and negative) are found at rating 1 (i.e., one star reviews), most of the four and five star reviews are either positive or neutral sentiments.
Furthermore, good and bad reviews were detected by rating score for the reviews with more than 5 words. This is based on Vader, a part of the NLTK module designed for sentiment analysis. The following two tables summarizes the top 10 good and bad reviews.
It was found that some errors occurred for the negative reviews. It seems that Vader interpreted "no" as negative word when it is actually used as positively. For example, both "Had no difficulties booking. Would use again" and "I had no problems booking my trip" texts in the second table took "no" as a negative word.
Top 10 Positive Sentiment Reviews
Top 10 Negative Sentiment Reviews
With the rating scores, all the reviews were classified into bad (i.e., rating score 1 and 2), neutral (i.e., rating score 3), and good (i.e., rating score 4 and 5) reviews. The line plot below shows the distribution of the reviews' sentiments. While good and neutral tend to have positive compound scores, bad reviews have very low compound scores.
Summary of Findings
The results found that the top 5 best travel sites are Hipmunk, BookIt.com, Jetsetter, Travelzoo, and CheapOair. However, the number of reviews are not equally distrusted over the sites. The results also show that longer reviews are found at either one or five star reviews. Overall, consumers tend to leave longer review when they were not satisfied with travel sites' product or service.
The most common bigram found in the reviews is "customer service," followed by "credit card." The results of sentiment analysis show that Vader always interprets "no" as negative word although it is used as positively.
Although the sentiment analysis still has a limitation in interpreting specific words, computed sentiment features will be a good source to develop a model that can make predictions. In particular, the most important thing is to be able to extract the related features from raw text.