User preference analysis - Kiehl's Facial Cream products

Posted on Nov 13, 2018


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 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.


  • 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.

About Author

Chaoran Chen

Problem solving oriented. Always ready for challenges. Chaoran has 7 years work experience in the data analysis, programming and tech support areas with her solid technical background. She likes to cook. She is also a big fan of...
View all posts by Chaoran Chen >

Related Articles

Leave a Comment

No comments found.

View Posts by Categories

Our Recent Popular Posts

View Posts by Tags

#python #trainwithnycdsa 2019 2020 Revenue 3-points agriculture air quality airbnb airline alcohol Alex Baransky algorithm alumni Alumni Interview Alumni Reviews Alumni Spotlight alumni story Alumnus ames dataset ames housing dataset apartment rent API Application artist aws bank loans beautiful soup Best Bootcamp Best Data Science 2019 Best Data Science Bootcamp Best Data Science Bootcamp 2020 Best Ranked Big Data Book Launch Book-Signing bootcamp Bootcamp Alumni Bootcamp Prep boston safety Bundles cake recipe California Cancer Research capstone car price Career Career Day citibike classic cars classpass clustering Coding Course Demo Course Report covid 19 credit credit card crime frequency crops D3.js data data analysis Data Analyst data analytics data for tripadvisor reviews data science Data Science Academy Data Science Bootcamp Data science jobs Data Science Reviews Data Scientist Data Scientist Jobs data visualization database Deep Learning Demo Day Discount disney dplyr drug data e-commerce economy employee employee burnout employer networking environment feature engineering Finance Financial Data Science fitness studio Flask flight delay gbm Get Hired ggplot2 googleVis H20 Hadoop hallmark holiday movie happiness healthcare frauds higgs boson Hiring hiring partner events Hiring Partners hotels housing housing data housing predictions housing price hy-vee Income Industry Experts Injuries Instructor Blog Instructor Interview insurance italki Job Job Placement Jobs Jon Krohn JP Morgan Chase Kaggle Kickstarter las vegas airport lasso regression Lead Data Scienctist Lead Data Scientist leaflet league linear regression Logistic Regression machine learning Maps market matplotlib Medical Research Meet the team meetup methal health miami beach movie music Napoli NBA netflix Networking neural network Neural networks New Courses NHL nlp NYC NYC Data Science nyc data science academy NYC Open Data nyc property NYCDSA NYCDSA Alumni Online Online Bootcamp Online Training Open Data painter pandas Part-time performance phoenix pollutants Portfolio Development precision measurement prediction Prework Programming public safety PwC python Python Data Analysis python machine learning python scrapy python web scraping python webscraping Python Workshop R R Data Analysis R language R Programming R Shiny r studio R Visualization R Workshop R-bloggers random forest Ranking recommendation recommendation system regression Remote remote data science bootcamp Scrapy scrapy visualization seaborn seafood type Selenium sentiment analysis sentiment classification Shiny Shiny Dashboard Spark Special Special Summer Sports statistics streaming Student Interview Student Showcase SVM Switchup Tableau teachers team team performance TensorFlow Testimonial tf-idf Top Data Science Bootcamp Top manufacturing companies Transfers tweets twitter videos visualization wallstreet wallstreetbets web scraping Weekend Course What to expect whiskey whiskeyadvocate wildfire word cloud word2vec XGBoost yelp youtube trending ZORI