Case16.1-Groceryshopping(Group3)(PhucDang)
docx
keyboard_arrow_up
School
Seattle University *
*We aren’t endorsed by this school
Course
5130
Subject
Business
Date
Apr 3, 2024
Type
docx
Pages
15
Uploaded by GeneralScorpionPerson1978
Case 16.1: Grocery shopping
Seattle University
FINC 5130: Financial modeling
Nathan Narayana Minh Dinh
Abhishek Patel Phuc Dang
Ajinkya Teli
Professor: Anya Chowdhury
March 10, 2024
Context
In the context of grocery shopping at a local store, understanding customer behavior and
spending patterns across various product categories is crucial for managing inventory, pricing
strategies, and ultimately maximizing revenue. The store manager is interested in a detailed
analysis of customer spending by product categories: fresh baked goods, meat and dairy,
produce, and frozen food. Each category has its unique purchasing probability and spending
distribution, reflecting the diverse preferences and needs of the store's clientele. Approximately
30% of shoppers are drawn to fresh baked goods, spending between $3 and $19, following a
uniform distribution that suggests a wide range of price points and product selections within this
category. The meat and dairy section see a higher footfall, with 70% of customers making
purchases. The spending here is normally distributed, with an average of $21 and a standard
deviation of $5.27, indicating a central tendency for most customers to spend around the mean
value, albeit with some variability. The produce section is the most frequented, with 80% of
shoppers spending an average of $15, following a normal distribution with a relatively low
standard deviation of $2.31, pointing towards consistent spending habits in this category. The
frozen food aisles attract 65% of the shoppers, where spending is uniformly distributed between
$7.25 and $28.50, highlighting a broad range of products and price sensitivities among
customers.
Given that the store welcomes around 220 customers daily, the manager aims to utilize a
Monte Carlo simulation and risk analysis model. This advanced statistical approach will enable
the simulation of thousands of shopping trips to estimate daily revenue and understand its
fluctuation over time. By meticulously modeling customer spending behavior across these four
key categories, the simulation will provide insights into the daily revenue's potential variability,
helping the manager make informed decisions to enhance store operations, tailor product
offerings, and optimize pricing strategies for improved profitability and customer satisfaction.
Objective
The primary objective of this project is to develop and implement a comprehensive
Monte Carlo simulation and risk analysis model to deeply understand and predict customer
spending behaviors across four major product categories—fresh baked goods, meat and dairy,
produce, and frozen food—within a grocery store environment. Given the variability in customer
preferences and the stochastic nature of shopping habits, this analysis aims to accurately model
the fluctuations in daily revenue, accounting for the distinct purchasing probabilities and
spending distributions specific to each category. By simulating the shopping activities of
approximately 220 customers on a daily basis, the project seeks to offer valuable insights into the
expected daily revenue and its potential variability, providing a robust foundation for strategic
decision-making.
This endeavor will enable the grocery store manager to not only anticipate the average
daily revenue with greater accuracy but also to understand the range of possible outcomes,
thereby facilitating more informed inventory management, pricing strategy, and promotional
efforts. The insights derived from the Monte Carlo simulation will highlight opportunities to
optimize product offerings and tailor marketing strategies to customer preferences, ultimately
enhancing customer satisfaction and store profitability. Furthermore, by identifying the
categories that contribute most significantly to revenue fluctuations, the analysis will guide
resource allocation and operational adjustments to mitigate risks associated with unexpected dips
in revenue. The overarching goal is to empower the grocery store with a data-driven approach to
navigating the complexities of consumer behavior and market dynamics, ensuring that the store
remains competitive, responsive to customer needs, and financially resilient in the face of
uncertainty.
Data Description
num_customers: The fixed number of customers visiting the store daily, set to 220.
num_simulations: The number of days to run the simulation, set to 2.
Probabilities of Purchasing (Each customer has a certain probability of buying from each
category):
prob_baked_goods: Probability of a customer purchasing baked goods, set at 30%.
prob_meat_dairy: Probability of a customer purchasing meat and dairy, set at 70%.
prob_produce: Probability of a customer purchasing produce, set at 80%.
prob_frozen_food: Probability of a customer purchasing frozen food, set at 65%.
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
- Access to all documents
- Unlimited textbook solutions
- 24/7 expert homework help
Spending Distribution Parameters (These parameters determine how much each customer
spends in each category):
baked_goods_range: The range of spending on baked goods, uniformly distributed between $3
and $19.
meat_dairy_params: The average and standard deviation of spending on meat and dairy,
normally distributed with a mean of $21 and a standard deviation of $5.27.
produce_params: The average and standard deviation of spending on produce, normally
distributed with a mean of $15 and a standard deviation of $2.31.
frozen_food_range: The range of spending on frozen food, uniformly distributed between $7.25
and $28.50.
Simulation Process:
The simulation iterates through the number of days specified by num_simulations.
For each product category, it calculates the spending of the simulated number of customers who
decide to purchase, determined by the respective purchase probability.
It adds up the spending from all customers across all categories to get the total revenue for the
store for each day.
Output:
The script prints the total revenue for the first day of the simulation.
If the simulation is run for more than one day, it generates and displays a histogram of the total
daily revenue distribution, showing how frequently different revenue amounts occurred during
the simulation.
Analysis
Total spending by category
import numpy as np
import matplotlib.pyplot as plt
# Set the seed for reproducibility
np.random.seed(
42
)
# Number of customers per day
num_customers = 220
# Probabilities of purchasing from each category
prob_baked_goods = 0.3
prob_meat_dairy = 0.7
prob_produce = 0.8
prob_frozen_food = 0.65
# Simulate the number of customers buying from each category
customers_baked_goods = np.random.binomial(num_customers, prob_baked_goods)
customers_meat_dairy = np.random.binomial(num_customers, prob_meat_dairy)
customers_produce = np.random.binomial(num_customers, prob_produce)
customers_frozen_food = np.random.binomial(num_customers, prob_frozen_food)
# Simulate spending amounts for each category
spending_baked_goods = np.random.uniform(
3
, 19
, customers_baked_goods)
spending_meat_dairy = np.random.normal(
21
, 5.27
, customers_meat_dairy)
spending_produce = np.random.normal(
15
, 2.31
, customers_produce)
spending_frozen_food = np.random.uniform(
7.25
, 28.50
, customers_frozen_food)
# Calculate total daily revenue
total_revenue = np.
sum
(spending_baked_goods) + np.
sum
(spending_meat_dairy) + np.
sum
(spending_produce) + np.
sum
(spending_frozen_food)
# Print the total daily revenue
print
(
f
"Total Daily Revenue: $
{total_revenue
:.2f
}
"
)
# Visualize simulation results
categories = [
'Baked Goods'
, 'Meat & Dairy'
, 'Produce'
, 'Frozen Food'
]
spendings = [np.
sum
(spending_baked_goods), np.
sum
(spending_meat_dairy), np.
sum
(spending_produce), np.
sum
(spending_frozen_food)]
plt.figure(figsize=(
10
, 6
))
plt.bar(categories, spendings, color=[
'blue'
, 'orange'
, 'green'
, 'red'
])
plt.title(
'Total Spending by Category'
)
plt.xlabel(
'Category'
)
plt.ylabel(
'Total Spending ($)'
)
plt.show()
Observation:
In this simulation, we examined the purchasing behaviors of customers across four
categories: Baked Goods, Meat & Dairy, Produce, and Frozen Food, with a total of 1,000
customers. The probabilities of customers purchasing from each category were set at 30% for
Baked Goods, 70% for Meat & Dairy, 80% for Produce, and 65% for Frozen Food. The results
showcased a diverse range of consumer preferences and spending habits, which directly
impacted the total daily revenue of $9372.21.
Specifically, the Produce category, with the highest purchasing probability of 80%, likely
saw the highest volume of transactions, indicative of a strong consumer preference for fresh
fruits and vegetables. Meat & Dairy followed closely with a 70% purchasing probability,
underscoring its importance in consumers' daily diets. Frozen Food, with a 65% probability, also
showed a significant consumer interest, possibly reflecting the convenience factor associated
with this category. Baked Goods, while having the lowest purchasing probability at 30%, still
contributed to the total revenue, highlighting a niche but consistent demand. The spending
distribution further illuminates consumer behavior. Spending on Meat & Dairy and Produce was
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
- Access to all documents
- Unlimited textbook solutions
- 24/7 expert homework help
modeled with a normal distribution, reflecting a consistent spending pattern with less variance,
whereas spending on Baked Goods and Frozen Food followed a uniform distribution, suggesting
a wider range of spending behaviors within these categories. The aggregation of these spending
patterns across the categories culminated in a substantial daily revenue, demonstrating the
critical role of understanding consumer preferences and spending behaviors in maximizing retail
profitability. This simulation underscores the complexity of consumer purchasing patterns and
their significant implications for revenue generation within the retail sector.
Distribution of total spending per customer
import numpy as np
import matplotlib.pyplot as plt
# Set the seed for reproducibility
np.random.seed(
42
)
# Define the number of simulations, which is the number of customers per day
num_simulations = 220
# Define the probabilities and distributions for each category
prob_baked_goods = 0.3
prob_meat_dairy = 0.7
prob_produce = 0.8
prob_frozen_food = 0.65
# Define the spending distributions for each category
spending_baked_goods = {
'low'
: 3
, 'high'
: 19
}
spending_meat_dairy = {
'mean'
: 21
, 'std'
: 5.27
}
spending_produce = {
'mean'
: 15
, 'std'
: 2.31
}
spending_frozen_food = {
'low'
: 7.25
, 'high'
: 28.50
}
# Initialize an array to store the total spending for each simulation
total_spending = np.zeros(num_simulations)
# Perform the Monte Carlo simulation
for i in range
(num_simulations):
if np.random.rand() < prob_baked_goods:
total_spending[i] += np.random.uniform(spending_baked_goods[
'low'
], spending_baked_goods[
'high'
])
if np.random.rand() < prob_meat_dairy:
total_spending[i] += np.random.normal(spending_meat_dairy[
'mean'
],
spending_meat_dairy[
'std'
])
if np.random.rand() < prob_produce:
total_spending[i] += np.random.normal(spending_produce[
'mean'
], spending_produce[
'std'
])
if np.random.rand() < prob_frozen_food:
total_spending[i] += np.random.uniform(spending_frozen_food[
'low'
], spending_frozen_food[
'high'
])
# Calculate the average daily revenue and its standard deviation
average_daily_revenue = np.mean(total_spending)
std_dev_daily_revenue = np.std(total_spending)
# Print the results
print
(
f
"Average Daily Revenue: $
{average_daily_revenue
:.2f
}
"
)
print
(
f
"Standard Deviation of Daily Revenue: $
{std_dev_daily_revenue
:.2f
}
"
)
# Plot the distribution of total spending
plt.hist(total_spending, bins=
20
, color=
'blue'
, edgecolor=
'black'
)
plt.title(
'Distribution of Total Spending per Customer'
)
plt.xlabel(
'Total Spending ($)'
)
plt.ylabel(
'Number of Customers'
)
plt.show()
Observation:
The Monte Carlo simulation, conducted to model customer spending behaviors across
four distinct categories—Baked Goods, Meat & Dairy, Produce, and Frozen Food—over 220
simulated days, reveals insightful data on consumer spending patterns within a retail setting.
With set probabilities for each category (30% for Baked Goods, 70% for Meat & Dairy, 80% for
Produce, and 65% for Frozen Food) and specific spending distributions (uniform for Baked
Goods and Frozen Food, normal for Meat & Dairy and Produce), the simulation aimed to mimic
real-world purchasing behaviors.
The results yield an average daily revenue of $42.68 per customer, with a standard
deviation of $15.29, indicating a moderate variance in daily spending among customers. This
variance is pivotal for understanding the diversity in customer preferences and the elasticity of
their spending habits. The histogram showcasing the distribution of total spending per customer
further elucidates this point, displaying a concentration of spending in a specific range, with tails
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
- Access to all documents
- Unlimited textbook solutions
- 24/7 expert homework help
extending towards both higher and lower ends. This suggests that while a majority of customers
spend within a relatively predictable range, there exists a subset of customers whose spending
patterns significantly deviate from the norm, either due to higher-value purchases or more
conservative spending.
Such insights are invaluable for retail management and marketing strategies, allowing for
more tailored approaches to inventory management, pricing strategies, and promotional
activities. Specifically, the data suggests a potential for segmenting customers based on their
spending patterns, enabling targeted marketing efforts designed to elevate spending in lower-
performing categories or to further capitalize on the categories with higher spending.
Understanding the nuances of customer spending behavior through such simulations can
significantly enhance revenue optimization strategies, ensuring that retail operations are more
closely aligned with consumer demand.
Total daily revenue distribution
import random
import numpy as np
import matplotlib.pyplot as plt
random.seed(
123
)
# Set the number of customers and the number of simulations (days)
num_customers = 220
num_simulations = 2
# For one day
# Probabilities of purchasing from each category
prob_baked_goods = 0.3
prob_meat_dairy = 0.7
prob_produce = 0.8
prob_frozen_food = 0.65
# Spending distribution parameters for each category
baked_goods_range = (
3
, 19
)
meat_dairy_params = (
21
, 5.27
)
# Mean and standard deviation
produce_params = (
15
, 2.31
) # Mean and standard deviation
frozen_food_range = (
7.25
, 28.50
)
# Initialize an array to store the total revenue for each simulation
total_revenue = np.zeros(num_simulations)
# Run the Monte Carlo simulation
for i in range
(num_simulations):
# Simulate customer decisions and spending for each category
baked_goods_spending = np.random.uniform(*baked_goods_range, size=
int
(num_customers * prob_baked_goods))
meat_dairy_spending = np.random.normal(*meat_dairy_params, size=
int
(num_customers * prob_meat_dairy))
produce_spending = np.random.normal(*produce_params, size=
int
(num_customers * prob_produce))
frozen_food_spending = np.random.uniform(*frozen_food_range, size=
int
(num_customers * prob_frozen_food))
# Calculate total revenue for the day
total_revenue[i] = np.
sum
(baked_goods_spending) + np.
sum
(meat_dairy_spending) + np.
sum
(produce_spending) + np.
sum
(frozen_food_spending)
# Output the results
print
(
f
"Total Revenue for the day: $
{total_revenue[
0
]
:.2f
}
"
)
# Plot the revenue distribution if more than one day was simulated
if num_simulations > 0
:
plt.hist(total_revenue, bins=
30
, edgecolor=
'black'
)
plt.title(
'Total Daily Revenue Distribution'
)
plt.xlabel(
'Total Revenue ($)'
)
plt.ylabel(
'Frequency'
)
plt.show
Observation:
Day 1 Revenue: The simulation estimated the total revenue for the first day to be
precisely $9,292.96. This figure results from aggregating individual spending across all four
categories, factoring in the predetermined probabilities of purchase and the spending amount
distributions (uniform for baked goods and frozen food, normal for meat and dairy, and produce).
Day 2 Revenue: The simulation projected a total revenue of $9,277.39 for the second day.
This slight decrease compared to Day 1 suggests variability in daily revenue that can be
attributed to the stochastic nature of customer purchases and spending amounts within the
defined ranges and distributions.
Based on the two-day Monte Carlo simulation with 220 customers, the total revenue
generated for each day is approximately $9,293 and $9,277, respectively. These results provide
insights into the potential daily revenue variability for a business with the specified customer
probabilities and spending distributions across four categories: baked goods, meat and dairy,
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
- Access to all documents
- Unlimited textbook solutions
- 24/7 expert homework help
produce, and frozen food. The histogram visualizes the distribution of total daily revenue across
the two simulated days, showing a very narrow range due to the low number of simulations. With
only two data points, we can't derive a broad distribution, but it's clear that the total revenue
hovers around $9,200 to $9,300 for this specific setup. For more robust insights into revenue
variability, increasing the number of simulations would be beneficial, providing a wider spread
of potential revenue outcomes and allowing for a more detailed analysis of the revenue
distribution.
Actionable Insights and Recommendations
Actionable Insights
Optimizing Inventory for Demand: With produce having the highest purchase probability (80%)
and frozen food being the second-highest in terms of spending range, stocking up more
efficiently on these items can cater to customer demand and drive sales. It is advisable to analyze
the sales patterns to avoid overstocking and reduce waste, especially for perishable goods.
Targeted Marketing for High-Value Categories: Given that meat and dairy have a high purchase
probability (70%) and the highest mean spending, marketing efforts can be focused on these
categories to increase customer spending. Special promotions, loyalty programs, or showcasing a
variety of meat and dairy products could enhance visibility and sales.
Strategic Pricing for Baked Goods: Despite the lower purchase probability (30%), there's
potential in the baked goods category to optimize pricing strategies. Implementing a tiered
pricing structure that encourages buying in bulk or bundling with high-demand categories like
produce could stimulate higher revenue from this category.
Customer Experience Improvement: Investing in the shopping experience, particularly around
high-traffic areas of produce and frozen food aisles, could lead to increased customer satisfaction
and spending. This could include better layout, signage, and information on product origin or
nutritional values.
Revenue Forecasting for Resource Allocation: Utilizing the simulation to forecast revenue can
help in scheduling adequate staffing on expected high-revenue days, ensuring efficient
operations and customer service.
Recommendations
Prioritize stocking and promotional efforts for produce and frozen foods, leveraging their high
purchase probabilities of 80% and 65% respectively. Introduce a range of organic produce and
premium frozen items to tap into the spending power evident in the upper range of $28.50 per
customer. For the meat and dairy section, with a strong purchase probability of 70% and an
average spend of $21, consider implementing 'buy one, get one at half price' offers on select days
to boost the average customer spend. Address the 30% purchase probability for baked goods with
strategic placement and morning deals, such as a '15% off before 10 AM' promotion, to drive
sales during off-peak hours.
Enhance the store's layout, focusing on creating an intuitive flow that naturally guides customers
through high-demand sections, potentially increasing the per-visit spend. Align staff shifts to
coincide with peak shopping times, identified through sales trends, ensuring customer service is
optimized when most needed. Emphasize data-driven decision-making by continuously
integrating new sales data into the revenue simulation model. A regularly updated model can
refine revenue forecasts, leading to better-informed decisions regarding inventory levels,
staffing, and marketing campaigns. This data-centric approach should maintain a degree of
agility within the business strategy, allowing for rapid adaptation to emerging trends or shifts in
consumer behavior.
Conclusion
In conclusion, the Monte Carlo simulation has provided a valuable quantitative foundation for
understanding customer spending behaviors and the resulting revenue implications for each
product category within the store. By strategically focusing on the highest probability areas—
produce and frozen foods with 80% and 65% purchasing likelihoods—and enhancing marketing
for meat and dairy with an average spend of $21, the store can expect to see an increase in
customer spend and overall revenue. Implementing targeted promotions for baked goods, which
currently have a lower purchase probability of 30%, could also yield a positive uptick in sales.
Adjustments to store layout and staffing based on these insights can further optimize operational
efficiency and customer experience.
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
- Access to all documents
- Unlimited textbook solutions
- 24/7 expert homework help
Related Documents
Recommended textbooks for you
Marketing
Marketing
ISBN:9780357033791
Author:Pride, William M
Publisher:South Western Educational Publishing

Purchasing and Supply Chain Management
Operations Management
ISBN:9781285869681
Author:Robert M. Monczka, Robert B. Handfield, Larry C. Giunipero, James L. Patterson
Publisher:Cengage Learning
Recommended textbooks for you
- MarketingMarketingISBN:9780357033791Author:Pride, William MPublisher:South Western Educational PublishingPurchasing and Supply Chain ManagementOperations ManagementISBN:9781285869681Author:Robert M. Monczka, Robert B. Handfield, Larry C. Giunipero, James L. PattersonPublisher:Cengage Learning
Marketing
Marketing
ISBN:9780357033791
Author:Pride, William M
Publisher:South Western Educational Publishing

Purchasing and Supply Chain Management
Operations Management
ISBN:9781285869681
Author:Robert M. Monczka, Robert B. Handfield, Larry C. Giunipero, James L. Patterson
Publisher:Cengage Learning