Skip to content

Repository files navigation

Gulp: Finding What Beers Does the World Enjoy? 🍻

🎉v2.0 is here🎉

With API use and adding geospacial visualization, read more about the newest update below.

Overview

This project started as a personal interest to find the highest-rated beers worldwide. The goal was to analyze what beers are the highest rated regarding several attributes, such as: style, abv, and reviews based on a 1-5 scale system. Finally, an interactive dashboard was created for users to find recommendations for what beer they should shop for next.

Data Sources 📊

The data was retrieved from the Kaggle dataset here.

Tools Used 🛠️

  • Excel - Cleaning

  • PostgreSQL - Analysis

  • Tableau - Graph Visualization

  • Python

    • Streamlit
    • Pandas
    • Plotly

Data Cleaning & Preparation 🧼

Cleaning and preparing the data involved:

  1. Loading and inspecting the data.
  2. Looking for any missing values/bad data.
  3. Creating appropriate formatting and adding columns.

Visualization 🖼️

Results were visualized using Tableau.

What Questions Need Answered? 💭

  • What styles of beer are most popular?
  • Do consumers enjoy higher abv compared to lower abv?
  • What style beers should you avoid buying?

Key Findings 🔍

Predominately European style beers were most well-received. 🇪🇺

This may not come as a surprise, given Europe's history with the alcoholic beverage is naturally older than the West. These are styles not commonly seen from the macro-breweries like Anheuser Busch or Coors.

There was a correlation between higher ABV and higher reviews. 📈

This is logical as most of the top 10 styles are historically brewed at higher ABV percentages.

What kinds of beer should be avoided? ❌

The answer to this is, frankly, none of them. While looking at the top 10 worst-rated beers, even the worst still received an average 3.4/5 rating. While there's certainly room for improvement, no notable styles have an average rating below this modest figure.

Cleaning & Preparing 🧼

After loading the Beer_Profile_And_Ratings.csv into Excel, some initial adjustments were made.

The “style” column often contained extensions to the names that would be more suited for “sub_styles”. To quickly achieve this, two new columns were inserted. To make the process of separating the "style" into main and sub styles quickly over hundreds of rows, the following formulas were used:

Only include the first, "main" style in first new column.

=IFERROR(LEFT($B2,FIND(“-“,$B2)-1), "$B2")

Only include the secondary, "sub" style in second new column.

=IFERROR(REPLACE($B2,1,FIND("-",$B2),””), "")

Adding Columns

The original style column was removed after copy/pasting as values for the new main and sub style columns.

Importing, Querying, Analyzing in SQL 🕵️

For all SQL queries, refer to "gulp.sql" in the Assets folder.

Launching the Web Application 🚀

Gulp was conceptualized at a crossroads between beginning my initial journey in data analytics and trying to implement an easy way for anyone to find good beer. After concluding my findings earlier, I realized that I was left with nearly 2,000 notable beers I had never tried or heard of. Using streamlit and other Python libraries, an easy to use web app was created with the purpose of giving quick recommendations to those looking for their next favorite beer.

Access the web application here.

v2 📣

A dynamic Folium map was added to provide geospatial vizualization to help aid the user as a reference for what may be local to their area, and to simply establish an index of where the breweries are located at.

Google Geocode API

Google's Geocode API was implemented to first assign ZIP codes for each brewery name. After establishing the ZIP codes, coordinates were established with the API based on the ZIP codes. See get_adress and get_coordinates. After obtaining the coordinates, the dataset was updated and the folium map was created.

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages