Data on Liquor Sales Analysis in Iowa

Posted on Mar 19, 2022

The skills I demoed here can be learned through taking Data Science with Machine Learning bootcamp with NYC Data Science Academy.


According to NABCA, National Alcohol Beverage Control Association, Iowa became one of the first Control states in 1934. The state regulates the traffic in alcoholic liquors for the protection of the welfare, health, peace, morals, and safety of the people of the state. Also, the state provides its E license liquor sales data monthly which contains more than 20M transactions records since 2012. Class "E" liquor license (LE) allows for the sale of alcoholic liquor for off-premises consumption in original unopened containers. In other words, this license is designed for customers who purchase alcohol and then take it somewhere else. Therefore, the data can be used in multiple ways to analyze customer behavior for liquor consumption. This project focused on small business owners who are targeting to open a liquor store in Iowa and researched the dataset to suggest the best location and liquor categories to the owners.

Data processing

I used datasets of Iowa_Liquor_Sales and Iowa_Liquor_Products to create a relational database as shown in figure 1, and I took datasets of Iowa county population and us-county-boundaries to perform analysis and visualize the results. In specific, table 1 shows the processes of data cleaning and feature engineering.

Figure 1. Relational Database after data cleaning


Table 1. Data cleaning process and the result

Process Result
1) Applied lower strings in dataset Unified the names of store, county, and city
2) Filled out missing values from identical store number in other rows Reduced the number of missing values about 90%
3) Checked all data in Iowa Removed some transactions of different state
4) Checked misspelled Had the right unique number of county and city
5) Used geocode by Google API Updated all the location coordinates
6) Calculated transaction frequency in date Distinguished active / non-active stores


Data Analysis - Location

I approached this dataset based on the calculation of total sales per store so that I could predict how much total sales a store can earn in 2022 as shown in figure 2. Polk was the top county, Scott, Cerro Gordo, and the other counties were following. Brighter color means it had a higher predicted total sales per store.

Figure 2. Total sales per stores by county


Then, I mapped the active stores’ location on the Polk layout and researched if there’s any specific location popular as shown in figure 3. The pink dots are the stores and the orange lines are the county boundary. A lot of stores were marked near Des Moines which is the biggest city in Polk and some stores from Dallas county, the west county from Polk, were also placed in the same metropolitan area. For that reason, I included those stores in Dallas for this study.

Figure 3. Active stores location in Polk and around the county


In order to see any pattern in store locations, I used K-Means clustering with variables of total sales, proof, and bottle volume size, which are the numeric type from the given dataset. Before I applied K-Means clustering I had to perform standardization for each variable because K-Means clustering is based on Euclidean distance. Otherwise, a high-scale variable may only play a role during the clustering. The elbow method indicated that the dataset could be divided into 3 groups so we performed K-Means clustering with k=3. Unfortunately, it’s difficult to point out that those groups were affected by the store location as shown in figure 4.

Figure 4. K-Means clustering with elbow method


Since I couldn’t find a clustering behavior, I had to apply the same metric to the cities in Polk to determine the best location. As a result, the most sales city was Windsor Heights as shown in figure 5. Then, I investigated Windsor Heights to understand the reason why it had more sales than the other bigger cities. Figure 6 and table 2 revealed that there are dominating food chain stores and department stores in Windsor Heights. I interpreted this as people from the county are coming to Windsor Heights for the big stores but the interest of this study is local small businesses. In consequence, I narrowed down the store types into ‘Convenience, Drugstore, Liquor/Spirits/Wine, and Distillery/Bar/Restaurant’  only and figure 7 shows Des Moines was the top sales for the small businesses. Therefore, we recommended Des Moines to open a new store.

data for liquor store

Figure 5. Total sales per store by city


Figure 6. Windsor Heights size and stores location


Table 2. Windsor Heights is dominated in liquor sales by big companies

data for liquor store

data for liquor store


data for liquor store

Figure 7. Total sales per store by city in small business


Data Analysis - Liquor Category

For the next step, I also looked into item lists for stores by K-Means clustering. I chose k = 3 for clustering as resulted from the elbow method. The items were grouped by size as small, medium vs large first, and by log of the retail cost for the second as shown in figure 8. The purpose of the log scale for the retail cost was to fit the variable for the clustering and the result would be more accurate with normal distributed features. From the clustering, we could observe that the most of high retail cost items are in the medium size of bottles.

data for liquor store

Figure 8. K-Means clustering for liquor items


Then, I compared the category trends between Des Moines and overall Iowa as shown in figures 9 and 10. Figure 9, the overall result, indicated that Whiskey and Vodka were the top consuming in Iowa. Figure 10, the Des Moines result, also shows Whiskey and Vodka were the most popular in the city but I can observe that Brandy took a high percentage in the city as well. This could be interpreted as a specialized store might have competitiveness in the Des Moines liquor market. For example, store number 5600 didn’t follow the general trend of other stores but the store was still in the top 2 in the city because of the specialization in brandy. Figures 11 and 12 show the top and bottom stores of total sales in Des Moines. Figure 11 shows that following the state/city trend or having a specialization liquor could be successful, while figure 12 shows neither they followed the trends nor having specialized liquor type. Even those bottom total sales stores didn’t have all liquor options in their store.

data for liquor store

Figure 9. Overall category trends in Iowa


data for liquor store

Figure 10. Overall category trends in Des Moines


data for liquor store

Figure 11. Top 2 total sales stores in Des Moines


data for liquor store

Figure 12. Bottom 2 total sales stores in Des Moines



For these reasons, I would like to suggest Des Moines, Polk for a new store and the medium bottle size, over 450ml and equal or less than 1750ml, with having all category options. Especially since Whiskey and Vodka are the most popular in Iowa, the new liquor store may want to store these two categories mainly.


Future Work

  1. I assumed that each store has the same size because I didn’t have a resource for the store area. Therefore, future work will explore options to address this limitation.
  2. I will consider the dynamics of stores opening and shutting down into the decision of new store location. This will lead a precise prediction.

About Author

Jungu Kang

Passionate to challenge problems with certification as a Data Scientist and with experience in engineering background and project management in the food industry. Detail-oriented, eclectic, industrious, easy-going.
View all posts by Jungu Kang >

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