Connie Ye
Fall 2019
Frontend, web, Data scraping


In high school, I spent a lot of time reading Sephora reviews in pursuit of the perfect object because I was afraid of wasting my money. When I read the prompt for this dataset, I remembered how extensive the data on Sephora's webiste had been.

A popular metric for a successful waterproof product is whether or not it can withstand tears and emotional turmoil. I remembered seeing a review giving an eyeliner 5 stars for surviving through a teary breakup, and I wanted to see if there would be more. Thus, for this project, I scraped Sephora's website for reviews, and filtered through them for reviews mentioning crying.

I ended up scraping about ~5k reviews, and 105 of them mentioned crying, sobbing or tears, giving a ratio of about 1/50. This is of course a biased number because the products the reviews are for are meant to withstand water, but I was still surprised to find so many. I was also surprised by how confessional and emotional people were willing to be in their reviews; I saw stories about breakups, death of loved ones, weddings, fights and more. However, despite the tragedy underlying many of the stories, the tone was often strangely positive, providing exuberant praise for the product that allowed them to maintain their makeup throughout the tragedy.

Online viewer:

See the dataset on Github


1. 5018 total reviews
2. 13 different products
    a. 5 mascara
    b. 5 eyeliners
    c. 1 face primer
    d. 1 eye primer
    e. 1 setting spray
3. 105 total crying reviews found

In the media

"Reading [the reviews] is a frequently funny and occasionally poignant experience."

on Mashable

on Flowing Data

on Twitter

ヽ(© ▽ ©)ノ Built with React and Gatsby by Connie
Last updated March 2022 (under construction!)