Introduction

I like frozen pizzas. They’re easy to store, easy to cook, and delicious. They also happen to be a convenient and inexpensive way to get some nutrition on a day when I don’t feel like cooking something from scratch. I wanted to see if there were ways Regork could get as much value out of frozen pizzas as I do, so I decided to investigate them from numerous different angles.

Business Problem

How can Regork gain more value from selling frozen pizzas? Should they run seasonal promotions, product-based promotions, advertisements targeting different demographics, or other activities to help boost sales of frozen pizzas?

How I Addressed the Problem

Using the CompleteJourney dataset, I examined data on frozen pizzas, looking at what products are offered, how often they’re bought, and who is buying them. I identified trends in the product data by employing different organization and visualization methods.

Why does this matter?

Frozen pizzas take up a lot of space on Regork’s shelves, so Regork should know that they’re getting as much value as possible from these products. Executives deserve to know how their products are performing and if there are ways to help this performance.

Analyses

Required Packages

  • completejourney: contains the necessary datasets to investigate Regork
  • tidyverse: a collection of packages to make data analysis easier
  • dplyr: enables fast data manipulation
  • ggplot2: enables statistical plots of data
  • gghighlight: allows for more advanced coloring of data plots

Weekly Frozen Pizza Sales

Weekly Frozen Pizza Purchases

# quantity
pizza_transactions %>%
  group_by(week) %>%
  summarise(total_quantity = sum(quantity)) %>%
  ggplot(aes(x = week, y = total_quantity)) +
    geom_col(fill = "blue") +  
    labs(title = "Frozen Pizzas Sold Each Week", 
         x = "Week", 
         y = "Frozen Pizzas Sold") +
  annotate("text", x = 32, y = 1050, label = "Week 32")

I highlighted Week 32, which corresponds to early-middle August. Notice how a much higher number of frozen pizzas are bought during this week than the surrounding weeks.


Weekly Frozen Pizza Sales Value

# value
pizza_transactions %>%
  group_by(week) %>%
  summarise(total_sales = sum(sales_value)) %>%
  ggplot(aes(x = week, y = total_sales)) +
    geom_col(fill = "green") +  
    labs(title = "Frozen Pizza Sales Value Each Week", 
         x = "Week", 
         y = "Frozen Pizza Sales Value ($)") +
  annotate("text", x = 32, y = 1800, label = "Week 32")

Look at Week 32 again, and how the massive spike in number of pizzas doesn’t translate into much more revenue. Perhaps people are buying a lot of cheap pizzas in early August?

Weekly Frozen Pizza Promotions

# total pizza promotions
promotions <- get_promotions()
pizza_promotions <- promotions %>%
  left_join(products, 'product_id') %>%
  filter(product_category == "FROZEN PIZZA") 

# promotions by week
pizza_promotions %>%
  group_by(week) %>%
  summarise(total_promotions = n()) %>%
  ggplot(aes(x = week, y = total_promotions)) +
    geom_col(fill = "orange") +  
    labs(title = "Frozen Pizza Promotions Each Week", 
         x = "Week", 
         y = "Frozen Pizza Promotions") +
  annotate("text", x = 32, y = 12800, label = "Week 32")

During Week 32, only a few pizzas were bought as part of a promotion, especially when considering the huge number of pizzas bought during this week.

Frozen Pizza Demographics

# household age
pizza_demos %>%
  group_by(age) %>%
  summarise(total_sales = sum(sales_value)) %>%
  ggplot(aes(x = age, y = total_sales)) +
    geom_bar(stat = "identity", fill = "red") +
    labs(title = "Frozen Pizza Sales by Age",
        x = "Age",
        y = "Frozen Pizza Sales")

# household size
pizza_demos %>%
  group_by(household_size) %>%
  summarise(total_sales = sum(sales_value)) %>%
  ggplot(aes(x = household_size, y = total_sales)) +
    geom_bar(stat = "identity", fill = "yellow") +
    labs(title = "Frozen Pizza Sales by Household Size",
        x = "Household Size",
        y = "Frozen Pizza Sales")

# marital status
pizza_demos %>%
  group_by(kids_count) %>%
  summarise(total_sales = sum(sales_value)) %>%
  ggplot(aes(x = kids_count, y = total_sales)) +
    geom_bar(stat = "identity", fill = "lightblue") +
    labs(title = "Frozen Pizza Sales by Children in Household",
        x = "Children in Household",
        y = "Frozen Pizza Sales")

# household income
pizza_demos %>%
  group_by(income) %>%
  summarise(total_sales = sum(sales_value)) %>%
  ggplot(aes(x = income, y = total_sales)) +
    geom_bar(stat = "identity", fill = "darkgreen") +
    labs(title = "Frozen Pizza Sales by Household Income",
        x = "Household Income",
        y = "Frozen Pizza Sales")

Here are some breakdowns of frozen pizza sales by demographic. We can see that frozen pizzas are most popular among non-senior adults, childless households, and lower-middle to middle class households.

Frozen Pizza Coupons

pizza_coupon_redemptions %>%
  ggplot(aes(x = coupon_disc)) +
    geom_histogram() +
    labs(title = "Frozen Pizza Coupon Redemptions",
        x = "Coupon Discount Rate",
        y = "Number of Redemptions")

An overwhelming majority of frozen pizzas are bought without a discount coupon.

Other Findings

products %>%
  group_by(product_category) %>%
  summarise(quantity = n()) %>%
  filter(quantity > 749) %>%
  ggplot(aes(x = product_category, y = quantity)) +
    geom_col() +
    coord_flip() +
    gghighlight(product_category == "FROZEN PIZZA") +
    labs(title = "Most Common Product Categories",
        x = "Product Category",
        y = "Products Offered")

Here are the most-offered product categories by Regork. Out of hundreds of different product categories, frozen pizzas are in the top 25 by unique products offered.

frozen_pizzas %>%
  group_by(package_size) %>%
  summarise(quantity = n()) %>%
  filter(quantity > 10.49) %>%
  ggplot(aes(x = package_size, y = quantity)) +
    geom_col(fill = "darkorange") +
    labs(title = "Frozen Pizzas by Package Size",
        x = "Package Size",
        y = "Frozen Pizzas")

Here are the most commonly offered sizes of frozen pizza by package weight. Far and away the most commonly offered pizza size is nine ounces, which corresponds to a personal-size pizza one might put in a toaster oven and eat themselves.

Conclusions

How I Addressed the Business Problem

First, I took a look at frozen pizza sales over time to see if there were any clear patterns. I noticed that while there was little seasonal variance, there were some specific outlying times of the year. By looking at different interpretations of “pizza sales over time,” including quantity of pizzas sold, revenue generated from pizzas, and promotions run over the year, I was able to determine if Regork is fully capitalizing on their pizza inventory. Next, I wanted to see who is buying pizzas, to see if there are opportunities to target a new market or expand any current markets. Finally, I checked if coupons were being utilized effectively, since they are one of the best ways a grocery store can generate engagement with a product.

Recommendations

There are some clear opportunities to boost the value returned from frozen pizzas at Regork.

  • Frozen pizzas need to be marketed more effectively. I pointed out Week 32 in the weekly breakdowns because Regorn is potentially missing out on thousands of dollars of revenue by not selling the right pizzas on busy weeks. An outlier in quantity purchased should translate to an outlier in revenue, but that isn’t the case.
  • There is a growth opportunity by marketing pizzas to families with children. Most pizzas are being bought by childless households, and frozen pizzas are significantly cheaper than pizzas from a restaurant, so families with pizza-craving children should know to come to Regork to buy their pizzas.
  • More coupons for pizzas! People buy more when the unit cost is lower, so having a “buy two, get one free” deal or similar would be a great way to boost pizza sales.

Limitations of This Analysis

  • The dataset for this analysis is only for the year 2017. By including multiple years, a data analyst could see how frozen pizza sales change over greater periods of time, how they compare to other product categories, and how people’s habits change depending on circumstances like an economic recession.
  • Other data analysts could try to break down the frozen pizza category by brand, to see things such as what sorts of people buy different pizza brands. I wanted to take a more high-level look at frozen pizzas as a whole, so there is an opportunity for more specific investigations.