Scraping Data on Hotels on Miami Beach
The skills I demoed here can be learned through taking Data Science with Machine Learning bootcamp with NYC Data Science Academy.
Miami Beach, located in Florida, US is a world-famous tourist spot in the blue backdrop of the Atlantic Ocean. Data shows South Beach is a part of Miami Beach which attracts millions of tourists for its exquisite view of Ocean view, white sand beach and all other entertainments ideal for a great vacation time.
Primary objective of this project is to web scrape all popular Miami beach hotels from Tripadvisor webpage and create a comparative presentation based on Hotel group categorization, starting price, amenities, location attraction, rating and popular review comments. Tripadvisor doesn’t provide the list of hotels based on different categories like Hotel Chain/Boutique Hotel /Other Local Hotels. This analysis helps to quickly compare the price variation based on hotel category. Sentiment Analysis on popular review comments helps to identify the overall satisfaction level and needs of consumers.
Before going in technical detail, let's define what are the hotel categories to be identified through this project. Hotel categories have been categorized in three main segments based on socio-economic choices of tourists.
- Chain Hotel : Part of a chain or group of hotels operated by the same owner and having same standard in all locations. Hilton, Marriot, IHG, Hyatt are some of the main chains.
- Boutique Hotel : Medium size hotels with one-on-one five-star hospitality service and luxury ambiance to get the private and custom feeling. Lennox, The Betsy, Urbanica – are some hotels of this category in Miami Beach
- Local Hotel: Hotels operated by local owners to meet the demand of local attractions with standard/luxury service and ambiances. Ocean Reef, Venezia ,The Meridian are local in Miami Beach
The primary audience for this project is the tourists getting advantages as:
- To get an idea for counts of Chain Hotel/Boutique Hotel/Local Hotel in the area and choose the hotel based on their choice
- Can compare hotel price per day along with other criteria for these 3 categories of hotels.
- Can compare pricing of Beach-front Hotels in main Miami beach and South Beach hotels.
- Able to decide based on the hotel amenities whether to stay in a luxury/standard/budget hotel.
Scrapy has been used to web scrape the TripAdvisor Page for Miami beach hotels and total 336 hotel records have been scraped. Hotel Name, Start Price, Hotel rating, Hotel reviews, Location attraction, Amenities, Popular review comments and nearby restaurant count data have been collected for 336 hotels and stored in different columns of an Excel.
note: Start Price of Hotel comes is the current day room rate in Trip Advisor. The presentation data has been retrieved on Dec 2020 from Trip Advisor
Pre-Processing & Data Engineering
Missing Data Handling - It’s observed that start price of some of the hotels are blank in trip advisor page. The blank rows have been discarded in pre-processing as no imputed value will help in analysis.
Hotel Group Categorization – Hilton, Marriot, Lexington, IHG, Hyatt, Westgate and other standard groups are the main chains used to identify the Chain hotels. “Boutique Hotel” word have been retrieved from popular review comments to identify the boutique hotels. Rest have been marked as Local Hotels.
Hotel Location Categorization - Popular Review Comment data have been used to identify the word “South Beach” for the categorization of South Beach Hotels. Hotel Amenities data have been used to identify the word “Beach Front” to categorize the Beach Front hotels.
Exploratory Data Analysis
Primary analysis reveals that the Local hotel counts are much higher than Boutique or Chain hotels. Price density also has sharp curve based on different price ranges.
The hotel price statistical analysis explores that Chain and Boutique hotels maintain an average price range whereas local hotel prices vary significantly. The standard deviation on price is 144 for local hotels whereas for Chain and Boutique it's 88 and 63.
The result of analysis on how hotel prices vary with hotel rating reveals that for all 3 types of hotel categories, expensive hotels are mostly having high rating.
No direct relation found between hotel prices based on location attraction or walkable rating from the beach.
Word Cloud Data Analysis
Based on word cloud analysis on the data retrieved from popular review comments, it’s observed that ‘South Beach’ signifies an important role in Miami. So, the next step for data analysis tends to hotel distribution and price comparison in South Beach compared to main Miami Beach.
Sentiment Data Analysis on Popular Review Comments
From the sentiment analysis, it’s observed that for chain and boutique hotels polarity is mostly positive. After analysis of the reason, it’s found that mainly the positive feedbacks have been captured in popular review comments of Trip Advisor page. As in this web scraping project scope, the data source is ‘Popular Review Comments’, the sentiment analysis is coming little biased on positive side.
Data Comparison with South Beach
Interesting observation found when compared the hotel price of Miami beach with the south beach. South beach hotels are more expensive than other places probably because of the attractive white sand beach. Additionally beach front hotels are expensive than the other hotels.
- Local hotel counts are nearly 60% more than the Chain hotel and boutique hotels in Miami beach area.
- Competition is high as 90% of Chain and Boutique Hotel ratings are having high rating compare to low ratings of 30% local hotels.
- Hotel location, Hotel Rating and whether it’s beach front or not – are 3 major factors to vary the hotel prices.
- Chain hotels are fewer and expensive in south beach
- Beach front hotels are few in South Beach
Based on above mentioned data analysis on the Miami hotels, some recommendations can be provided for the tourists to meet the best expectations like:
- The tourists having priority on quality of hotel services – are recommended to choose either Chain or Boutique hotels. Luxury local hotels also will be an option for them.
- The tourists having priority on budget – are recommended to choose local or Chain budget hotels in main Miami Beach.
- South Beach hotels are expensive compare to main Miami beach hotels. Tourists having priority for luxury on holiday – are recommended to choose the Luxury Local/Boutique hotels on South Beach. Ocean Front hotels will be ideal for them.
- The tourists having priority on outside fun more than hotels – are recommended to choose standard or budget hotels of local/chain category.
For Python code, please click here