Breaking down the coffee bean
No matter what lies ahead and how the day is intended to unfold, a good chunk of the world's population NEED to begin their day with … coffee! That uplifted persona after the very first sip is nothing short of fascinating. What is it about this beverage that kickstarts us? This project is the commencement of my journey on comprehending the characteristics of a great "Cup of Joe"!
As soon as I began my search for knowing more, I was quickly humbled by how much lies behind what might be considered just another commodity… Taking baby steps, I steered my focus to to two simple aspects: what are the main components of coffee and on what dimensions do coffee connoisseurs evaluate coffee. I found both, among more, on Coffeereivew.com and used Scrapy to obtain the data I needed for my initial analysis.
Coffee Review conducts blind, expert cuppings of coffees across the globe and report their findings in the form of 100-point reviews, while educating readers about coffee with in-depth tasting reports each month, themed around coffee origins, issues, and factors that influence coffee quality and character.
The data elements required for the analysis were present in the Advanced Search page of the website where coffees were listed in reverse chronological order by review date. Each listing on this page contained the product that was reviewed along with key fields such as roaster, review date and price. The complete review along with other characteristic fields were a click away labelled "Read Complete Review".
Having deciphered the pattern to derive all pages contained in the search as well as the urls for the complete review page corresponding to each coffee review, I chose Scrapy as the framework over Selenium.
I developed a Scrapy items script to capture the elements required and a Scrapy spider to crawl the html pages present in the Advanced Search section. The overall package also contained the code for the settings and pipelines scripts to execute the workflow for the scrapping process.
Elements were finally extracted in a csv file that was them imported into Python dataframes to cleansing and analysis. Visualizations were created using Matplotlib and Seaborn.
At a glance...
Essential to any coffee, these characteristics were the primary focus of the reviews conducted by Coffee Review. These traditional set of 5 are the standard descriptive categories evaluated.
Aroma: Indicative of how intense and pleasurable is the fragrance when the nose first descends over the cup
Acidity: At best it is a sweetly tart vibrancy that lifts the coffee and pleasurably stretches its range and dimension. Without acidity coffee is dull and lifeless.
Body: the sensation of heaviness, richness, or thickness and associated texture when one tastes coffee
Flavor and Aftertaste: Include everything not suitably described under the categories aroma, acidity and body.
Not surprisingly, all the characteristics discussed above showed a strong correlation to the rating. However, acidity and flavor stood out in their correlations to the rating, relative to others. For each for 5 characteristics, ratings were reflective of both quantity (intensity) and quality (pleasantness).
Roast concentration of top-rated coffees
A highly rated coffee secured a review rating of 94 and above. Curious to see the breakdown of such coffees based on roast, I generated this bar plot to help aid the analysis. By a significant margin, Medium-Light seems to be the most frequently occurring roast in highly rated coffees, followed by the Medium roast while Dark constituting the least occurring roast among such highly rated coffees.
Another lens on these roast categories as compared to their respective review rating reveals that the degree or darkness of roast dramatically affects a coffee's flavor profile. Interesting to note on the Medium-Light aroma is the rating's almost equal distribution on each side of its median. A majority of the coffees reviewed have their ratings lying between the late 80's and early 90's, with a handful among the top 20. for perspective, I've positioned some of our favorite household brands along this distribution, the likes which contain Starbucks, Folgers, Peet's Coffee, Maxwell House and Stumptown.
Review Score Concentration
A majority of the coffees reviewed have their ratings lying between the late 80's and early 90's, with a handful among the top 20. for perspective, I've positioned some of our favorite household brands along this distribution, the likes which contain Starbucks, Folgers, Peet's Coffee, Maxwell House and Stumptown.
Some of my immediate next steps to further this initial assessment and study include:
- What makes up acidity? Analysis of its components and identification of biggest drivers.
- Investigate how coffee contributes to flavor. Interesting to see how perception data can be collected and analyzed…
- Incorporate location data to investigate bean characteristics that are determined by environmental conditions
So... What's your cup of tea?!
Coffee Review: coffeereview.com