As data scientists at Regork, the goal is to leverage data analytics to uncover insights into customer behavior, market trends, and purchasing tendencies. We are tasked with identifying a potential area of growth where the company could invest future resources to increase revenue and profits.
Our analysis uncovered an opportunity to further increase product purchases by leveraging coupons in the demographic range of 45-54 years old. The demographic is already heavily invested in coupon use, so diversifying our coupon options and offering seasonal coupon bundles could increase overall revenue and product sales.
By analyzing sales data, customer demographics, and purchasing patterns, we aim to pinpoint opportunities for expansion that will drive financial growth and enhance the competitive position of Regork in the grocery market. By better leveraging the coupon demand for the age demographic of 45-54, we can utilize their purchasing tendencies to increase product sales and revenue.
For this analysis, we utilized transactions, promotions, products, demographics, and coupons to identify trends signifying areas for improvement. By joining them into one vector, the data is easily cross-referenced for trend identification.
suppressMessages({
library(completejourney)
library(tidyverse)
library(lubridate)
library(ggplot2)
})
transactions <- get_transactions()
promotions <- get_promotions()
products <- products
demographics <- demographics
coupons <- coupons
tppdc <- suppressMessages(transactions %>%
inner_join(products, by = join_by(product_id), relationship = "many-to-many") %>%
inner_join(promotions, by = join_by(store_id, product_id, week), relationship = "many-to-many") %>%
inner_join(coupons, by = join_by(product_id), relationship = "many-to-many") %>%
inner_join(demographics)
)
First, we looked at the total coupon purchases made by each age demographic to determine which age group utilizes coupons the most frequently. According to the graph, our target demographic for coupons will be ages 45-54.
coupon_by_age <- tppdc %>%
group_by(age) %>%
summarize(total_coupons = n())
ggplot(coupon_by_age, aes(x = age, y = total_coupons, fill = age)) +
geom_bar(stat = "identity") +
scale_y_continuous(breaks = scales::pretty_breaks(n=10)) +
labs(title = "Coupon Purchases by Age Demographic",
x = "Age Demographic",
y = "Total Coupon Purchases",
fill = "Age Demographic") +
theme_minimal()
We are now going to analyze the top 10 products purchased using coupons by the 45-54 age demographic. By focusing on boosting the sales of the less popular items, ranked #6-10, to levels comparable with the top 5 items, we can significantly increase our revenue.
filtered_data <- tppdc %>%
filter(age == "45-54")
top_products <- tppdc %>%
group_by(product_category) %>%
summarise(total_purchased = sum(quantity)) %>%
arrange(desc(total_purchased)) %>%
head(10)
ggplot(top_products, aes(x = reorder(product_category, -total_purchased), y = total_purchased)) +
geom_bar(stat = "identity", fill = "forestgreen") +
labs(title = "Top 10 Products Purchased Using Coupons (Age 45-54)",
x = "Product Category",
y = "Total Purchases") +
theme(axis.text.x = element_text(angle = 20, hjust = 1, size = 8)) +
scale_y_continuous(breaks = seq(0, max(top_products$total_purchased), by = 10000))
Here we are analyzing the purchases of the #6-10 most popular coupon items over the course of a year. By understanding the trends and patterns behind these items, we aim to optimize our coupon marketing strategies to align with their historically peak sales periods. Bundling products at their peaking sales times with products that are in a slump will incentive customers to buy both products, increasing overall sales.
filtered_data_45_54_6_10 <- tppdc %>%
filter(age == "45-54", product_category %in% c("BEEF", "FRZN VEGETABLE/VEG DSH", "EGGS", "ICE CREAM/MILK/SHERBTS", "REFRGRATD JUICES/DRNKS"))
sales_over_week <- suppressMessages(filtered_data_45_54_6_10 %>%
group_by(week, product_category) %>%
summarise(total_sales = sum(quantity)) %>%
ungroup()
)
ggplot(sales_over_week, aes(x = week, y = total_sales, color = product_category, group = product_category)) +
geom_line() +
labs(title = "Sales of Coupon Products #6-10 Over the Calendar Year (Age 45-54)",
x = "Week",
y = "Total Sales",
color = "Product Category") +
theme_minimal() +
scale_x_continuous(breaks = scales::pretty_breaks(n = 10)) +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
We determined that analyzing the most commonly purchased coupon items would be highly beneficial. By marketing our coupons as bundles or offering greater savings when bundling the most popular items, we can attract more customers. Additionally, by pairing these frequently bought coupon items with less popular ones, we can boost overall product sales.
coupon_transactions <- tppdc %>%
filter(coupon_disc > 0) %>%
group_by(product_category) %>%
summarise(total_coupons = sum(quantity)) %>%
arrange(desc(total_coupons)) %>%
head(10)
ggplot(coupon_transactions, aes(x = reorder(product_category, total_coupons), y = total_coupons, fill = product_category)) +
geom_bar(stat = "identity") +
labs(title = "Top 10 Products Purchased with Coupons",
x = "Product Category",
y = "Total Purchases with Coupons") +
theme_minimal() +
theme(
axis.text.x = element_text(angle = 45, hjust = 1, vjust = 1, size = 8)
)
Regork tasked us with finding growth operations within their current sales. Our analysis focuses on the purchasing behavior of customers, specifically in relation with coupon usage to find out where we can invest our time and marketing efforts.
Our analysis highlights a huge opportunity for Regork within the 45-54 year old age demographic, which exhibits the highest sales with coupons. By expanding our coupon offerings and tailoring them to this market, Regork can gain additional sales and retain more customers.
Coupon Usage by Age: The 45-54 age group is the most active with coupons, which makes them the most valuable target for strategic enhancements.
Top Products Purchased with Coupons: The top 10 most frequently purchased items with coupons were identified, with the potential to boost sales for the lower performing items.
Seasonal Trends in Purchases: We examined purchasing patterns of all of the lower performing items, so that we could find the most optimal time to employ marketing strategies and targeted promotions.
Bundling Opportunities: We looked at items that were frequently purchased with coupons, suggesting that if we were to bundle the coupon offerings with other items, we could increase the revenue per customer transaction.
Expand Coupon Offerings for the 45-54 Demographic: Prioritize categories that are underperforming yet still rank relatively high on the total sales list. By targeting these areas, we can tap into their potential and drive increased sales within this key demographic
Introduce Seasonal Promotions: Every item we analyzed exhibited seasonal peaks. By strategically sending out targeted coupons during these peak periods for each category, Regork could significantly boost sales across all categories.
Leverage Product Bundling Discounts: Promote larger purchases by offering discounts on bundled items that are usually bought with coupons but less typically bought together. This strategy can boost total sales while enhancing customer satisfaction and loyalty.
By developing a new coupon strategy based on our insights, Regork can tap into an underserved market segment. This market is already engaged and contributing to daily sales. By strengthening our approach and addressing all customer wants and needs, we can create a competitive advantage and drive even greater success