← Back to Portfolio

Scraping and Analyzing British Airways Customer Reviews

Tech Stack: Python, BeautifulSoup, requests, pandas, matplotlib, seaborn, NLTK (VADER), WordCloud

This project involved scraping thousands of customer reviews for British Airways (BA) from the Skytrax website and analyzing them to extract insights on customer satisfaction, service quality, and sentiment.

Problem Statement

British Airways (BA) is the flag carrier of the United Kingdom, operating daily international and domestic flights. With customer satisfaction being central to its brand, BA relies on customer feedback to inform business strategy and service improvements. It receives thousands of reviews across third-party platforms like Skytrax. These reviews contain valuable but unstructured data on customer experiences. The challenge is to extract, clean, and analyze this data to uncover actionable insights for decision-makers at BA.

Overview

Approach

Data Collection: Used BeautifulSoup and requests to scrape 50 pages of British Airways reviews from Skytrax, extracting review text, country, cabin class, route, traveler type, category ratings, and recommendation status.

Data Cleaning: Addressed missing values using strategies like median imputation and placeholder categories. Dates were parsed and review text was cleaned using regular expressions.

Exploratory Data Analysis: Visualized rating distributions, passenger recommendations, cabin-level satisfaction, and cross-country comparisons. Reviewed category-wise average scores (e.g., food, WiFi, ground service).

Text and Sentiment Analysis: Generated a word cloud to highlight common review themes. Applied NLTK’s VADER sentiment analyzer to classify reviews into Positive, Neutral, or Negative and analyzed the sentiment distribution.

Highlights

Key Insights

🔗 View Code on GitHub