Coffee Shop Sales: When and Where Maven Roasters Sells Most

Data Analysis
EDA
Power BI
Exploratory data analysis of sales transactions across three coffee shop locations in NYC.
Published

August 14, 2026

Repository: View on GitHub

Problem

Maven Roasters, a fictitious coffee shop chain operating three locations in New York City, needs to understand its sales patterns to make better operational decisions: when are the demand peaks?, which products generate the most revenue?, and on which days and hours should staffing be reinforced?

Methodology

  • Loaded and cleaned transactional data with pandas (date, time, location, product, quantity, unit price)
  • Feature engineering: total_amount (quantity × unit price), day of the week, month, and hour of each transaction
  • Outlier handling: transactions above 300 were replaced with the median, as they were considered artificial/erroneous data points
  • Monthly revenue trend analysis with seaborn
  • Heatmap of transaction counts by day of the week and hour of the day
  • Transaction breakdown by product category
  • Ranking of products by total revenue and transaction count
df["total_amount"] = df["transaction_qty"] * df["unit_price"]
df["day_of_the_week"] = df["transaction_date"].dt.day_name()
df["month"] = df["transaction_date"].dt.month_name()
df["hour"] = pd.to_datetime(df["transaction_time"], format='%H:%M:%S').dt.hour

Results & Discussion

  • Identified the monthly revenue trend, revealing seasons of higher and lower activity
  • The day/hour heatmap revealed the busiest time windows, useful for planning staff shifts
  • Determined which product categories had the most transactions and which individual products drove the most revenue — not always the same as the highest-volume products

Conclusions

  1. Sales volume and revenue generated aren’t always aligned by product — some low-volume products drive more revenue per unit
  2. Day/hour patterns are key for optimizing staff allocation and avoiding bottlenecks during peak hours