User preference analysis - Kiehl's Facial Cream products
Introduction
About the Company:
Kiehl's is an American cosmetics brand retailer that specializes in premium skin, hair, and body care products. In contrast to its market competitors, Kiehl's is distinguished for its simple and straightforward packaging of its natural products.
Analysis Rationale:
It is easy to read a couple customer comments on the website. However, if we want to know the answer of questions such as how most of the customers feel about the product, what the biggest concern of the product is, a more system wised analysis is needed.
Pick the products we want to first focus on. Collect the customer comments from the company's website by using web scraping skill. Analyze the large size of comment data by using Python.
Technical Approach:
- Web scraping - Python Selenium
- Data analysis - Python Numpy, Pandas
- Data visualization - Python Matplotlib
Please click here to connect to my Github repository containing code for this project.
Web Scraping
Selenium:
Selenium Python bindings provide a convenient API to access Selenium WebDrivers like Firefox, IE, Chrome, Remote etc. The Chromedrive is used in this case analysis.
Compare to Python Scrapy , Selenium is sited to no-url change situation. That is, when we try to scrape comments from the website, in most of the case there will be more than one page comment. When we switch to another page of comments the URL of the website doesn't change. Selenium is designed for this kind of no URL change situation while Scrapy scrapes content using different URL.
Product analysis: Facial Cream:
We could use the same scraping code (code can be found in my GitHub repository) and analysis strategy (scrape customer comments from the company's website) to analyze any Kiehl's products.
In this blog the analysis is focused on one specific product - Facial Cream.
Data collection and cleaning
Xpath was used to locate the comment.
Six fields information is collected for further analysis.
- Customer rating value - 1 to 5 stars to show how likely the customer evaluate the product
- Customer location - indicates where the customers are living in
- Comment published date - shows when the customer published the comment
- Comment title - normally customers would summarize the idea in the title
- Comment text - includes details of customer feedback
- Cons - in the comment text part there is an optional field names as Cons, allowing customer to put negative feedback
On the company's website, we have more than 8 years comment data of the Facial Cream product. In total, 445 rows of comments are collected for the Facial Creams.
Based on the raw data , I created two new columns to show published month and years separately. In the data analysis and visualization part we can then analyze the customer behavior according to seasons and years.
Data Visualization
Customer rating trend:
- When we looked at the rating score, we could see that the customer evaluation of the Facial Cream product decreases every year. The entire trend of the rating score is going down.
- After checking the average rating score, we want to see how many comments are there in each year. The counting number shows a similar trend as the rating score. Started from 2012 the comment number decreased year by year.
- We want to see how the main complaints of the product are. Analyzed the Cons comment using World Cloud. The most frequent complain keywords are: Oily, SPF, Expensive, Heavy, Summer, Smell, Think. Based on this analysis results, customer complained about the texture of the cream. It is too heavy and oily, no SPF. It seems the cream is not a perfect option in the Summer time.
- In order to verify whether the different seasons play a role of the customer experience, we analyzed the comment rating score and rating number based on seasons. We noticed that in the Summer time we only have 1/3 ratings compare to Autumn and Spring time. This verified our finding that people interested less in this product in the Summer time.
Summary
- Based on the rating score trend and comment numbers, customers give more negative feedback about the product than old days. With a lower rating score , we also got fewer customer commented on the product in more recent years. We can make an assumption that the fewer comment it is, the fewer orders of the product the company had.
- People live in the warmer area may not be the best target customers for this product.
- In the summer time, the company may not want to put too much advertisement on this product, instead a more lightweight fresh cream may earn a better customer feedback.
- The analysis based on locations is not completed yet. Since we also have the location info, a further analysis based on different locations information may give us some clearer insight, so we can tell which cities customers like this Facial Cream better.
- We can follow the same analysis procedure to analyze more Kiehl's products.