Use Case

May 10, 2024

How Beverages Giant uses Sales Analytics using python

Step by step Sales Analysis Use Case to implement effective sales strategies to maximize revenue & market share?

But before we begin, if you're someone who wants to build projects for Data Science Portfolio then keep your tabs on what's happening in the world of Data Science & Businesses, and Hit EARLY ACCESS if you haven't already. 

If you already have Early Access, you can just go ahead and read our Data Story! 😀

The global Beverage market size reached USD 207 billion in 2023 and is expected to grow to USD 459 billion by 2027, with an average annual growth rate of 14.22%. Beverages include both soft drinks like sodas and juices and alcoholic drinks like beer and wine. 

This growth shows that more and more people are buying drinks, influenced by their changing tastes and lifestyles. Soft drinks are for those who don't drink alcohol, while alcoholic drinks include beer, wine, and spirits. As people look for drinks that are easy to buy and healthier, companies are coming up with new flavours and packaging. This growth means there are good opportunities for companies to make and sell drinks that people want.

About Dataset 

Alright, let's take a closer look at our Dataset: Beverage Sales Dataset

So, we've got this awesome Beverage Sales Data. We can see what drinks are selling where, whether it's online or in vending machines. You've got everything from transaction dates to retailer details to product specifics. It covers all sorts of beverages and sales channels, like online or vending machines.

And the best part?

This data is super helpful for spotting trends, figuring out what customers like, and seeing how well new drinks are doing and best suitable for sales analysis.

Each row in the dataset corresponds to an order made by a customer. We have the following features:

Sales Information
Transaction Information
Column Name Data Type Unique Values Description
SalesChannel String 11 The platform or method through which the sale was made.
ChannelType String 4 Categorizes the sales channel (e.g., Online, Retail).
OrderQty Integer 250 The quantity of items ordered in the transaction.
SalesValue Float 2481 The total value of the sales transaction.
Discount Float 4 The discount amount offered on the MRP for the transaction.
Country String 13 The country where the transaction occurred.

Product Information
Transaction Information
Column Name Data Type Unique Values Description
ProductItemID String 153 Unique identifier for the product.
Category String 2 The category to which the product belongs.
Brand String 16 The brand of the product.
SpecificProductName String 39 The specific name of the product.
Packaging Type String 5 Details about the product's packaging (Type, Quantity, Category).
Packaging Quantity Integer 23 Details about the product's packaging (Type, Quantity, Category).
Packaging Category String 2 Details about the product's packaging (Type, Quantity, Category).
PackagingQty_N_ml Integer 23 The quantity of the product in milliliters for standardized comparison.
MRP_UnitPrice Float 16 Maximum Retail Price per unit of the product.
Product_Launch_Date Date 152 The date when the product was launched in the market.
IsNewProduct Boolean 2 Indicator whether the product is new (True) or not (False).

Financial Information
Transaction Information
Column Name Data Type Unique Values Description
CostPerUnit Float 23 The cost incurred per unit of the product.
MarginPercentage Float 3 The percentage of margin made from the transaction.
Profit Float 2272 The profit earned from the transaction.

Retailer Information
Transaction Information
Column Name Data Type Unique Values Description
RetailerId String 650 Unique identifier for the retailer.
RetailerName String 263 The name of the retailer.
State String 53 The geographical location of the retailer (State, City).
City String 57 The geographical location of the retailer (State, City).
Lat Float 206 Latitude and longitude coordinates of the retailer's location.
Long Float 205 Latitude and longitude coordinates of the retailer's location.

Transaction Information
Transaction Information
Column Name Data Type Unique Values Description
SrNo Integer 25000 Serial number of the transaction.
TransactionDate Date 1492 The date when the transaction occurred.

How to improve sales using Sales Analytics for businesses?

When initiating the sales analysis to boost beverage sales, it's crucial to adhere to the 5 essential factors of Data Analysis:

1. Determine Stakeholders: Start by identifying the key users or stakeholders who will utilize the dashboard.

2. Create Empathy Map: Develop an empathy map to understand users' goals, challenges, and pain points effectively.

3. Identify Vital Metrics: Pinpoint the most important metrics or Key Performance Indicators (KPIs) crucial for measuring success.

4. Define Objectives: Gain a clear understanding of the objectives and goals that the analysis aims to achieve.

5. Pose Business Questions: Ask pertinent business questions that will guide the analysis and provide valuable insights for decision-making.

Step 1: Identify the users or stakeholders for the analysis.

Define the User or stakeholder  who will use the Beverages dataset . In our case, We’ll use a Sales Manager. Recognizing their diverse needs, challenges, and priorities becomes the cornerstone for tailoring an effective data story. 

User Persona: Sales Manager

This individual is responsible for steering the sales team towards meeting revenue targets and expanding market share. Understanding the background, roles, responsibilities, needs, and pain points of this persona allows us to tailor the sales dashboard to meet their specific requirements effectively.

Responsibilities:

  • Analyze market trends, competitor strategies and industry dynamics to support strategic decision-making.
  • Provide insights and recommendations based on thorough analysis of internal and external data.
  • Evaluate risks and opportunities to assist in the formulation of strategic plans and objectives.
  • Develop and implement strategic initiatives to drive business growth and competitive advantage.
  • Collaborate with cross-functional teams to align strategic objectives and ensure effective implementation.

Needs:

  • Access to comprehensive and up-to-date market data for informed decision-making.
  • User-friendly analytics tools and dashboards for efficient data analysis and visualization.
  • Advanced analytical capabilities to identify trends, patterns, and potential opportunities.
  • Insights into emerging market dynamics, competitive threats, and industry disruptions.
  • Timely and relevant information to support proactive strategic planning and execution.

Challenges:

  • Keeping pace with rapidly changing market dynamics and competitive landscape.
  • Balancing short-term tactical objectives with long-term strategic goals.
  • Managing and interpreting vast amounts of data to extract actionable insights.
  • Ensuring alignment and buy-in from stakeholders across the organization.
  • Adapting strategies to address unforeseen challenges and market shifts effectively.

Step 2: Design Empathy Map 

Understanding the Strategic Analyst is important, and that's where an empathy map comes in handy. This tool helps us grasp their feelings, goals, and challenges, giving us insights into their work beyond the usual tasks.

By putting ourselves in their shoes, we can create a data story that not only works well but also connects with them on a personal level. It's about finding the right balance and designing our analysis with their perspective in mind.

Step 3: Identify the Key Performance Indicators (KPI’s)

Key Performance Indicators (KPIs) serve as the compass guiding our persona's journey towards revenue growth and market expansion. These metrics provide tangible benchmarks for measuring success and identifying areas for improvement. Identify KPIs such as

KPI Name Columns Used Formula Description
Sales Volume OrderQty Sum(OrderQty) Total units sold, reflecting market demand.
Market Penetration Rate IsNewProduct, OrderQty (Sum(OrderQty of New Products) / Sum(OrderQty)) * 100 Percentage of new products sold compared to all products, indicating success of launches.
Discount Impact Discount, SalesValue, Profit Average(Discount), Correlation(Discount with SalesValue and Profit) Average discount provided and its effect on sales volume and profitability.
Product Mix Diversity ProductItemID, OrderQty Count(Distinct ProductItemID), Sum(OrderQty) per ProductItemID Variety of products sold, indicating market reach and consumer preference diversity.
Geographic Market Share State, City, SalesValue Sum(SalesValue) per State/City Sales distribution across different regions, showing market dominance.
Sales Channel Effectiveness SalesChannel, OrderQty, Profit Sum(OrderQty) and Sum(Profit) per SalesChannel Performance of different sales channels in terms of volume and profitability.

By tracking these KPIs through the sales dashboard, our persona gains real-time visibility into the health and performance of the sales organization.

Step 4: Understand the Goals & Objectives of User

Now, based on the insights from the Empathy Map and KPIs, we need to define the goals and objectives of the Strategic Analyst user persona. This ensures that our data story aligns with their needs for effective decision-making.

 Objective :
  • Provide strategic insights and recommendations based on comprehensive market analysis and data-driven insights.
  • Identify emerging trends and evaluate market opportunities.
  • Support strategic decision-making to drive business growth and competitive advantage.
Goals :
  • Enhance organizational performance and competitiveness.
  • Deliver actionable insights and recommendations for strategic initiatives.
  •  Analyze market trends and evaluate competitive dynamics.
  • Identify growth opportunities to support strategic planning and execution.
  • Collaborate with cross-functional teams to align strategic objectives and drive successful implementation of strategic initiatives.

Based on the defined goals & objectives, your next step will be to provide actionable insights to make a mark on Business Decisions.

Step 5: Ask Relevant Data Question

Finally, to conclude your analysis, you need to ask right questions. These questions should be directly tied to the objectives and goals identified earlier and should guide our exploration of the data. By asking insightful questions, we can uncover hidden patterns, identify areas for improvement, and generate actionable insights that drive informed decision-making. Here are following Business Questions to ask:

1.  How have the Sales been over the Years?
  • Metric: Sales and Transaction Date
  • Insights: This showcases the year on year sales of beverages and their trajectory.

Python Code: Sales over the Years

#Set date column to datetime format and extract year
df['TransactionDate'] = pd.to_datetime(df['TransactionDate'])
df['Year'] = df['TransactionDate'].dt.year

#Aggregate Sales by Year
sales_by_year = df.groupby('Year')['SalesValue'].sum().reset_index()

#Set the style and figure
sns.set_style("whitegrid")
plt.figure(figsize = (10,6))

#Create the chart
sns.barplot(x='Year',y='SalesValue', data = sales_by_year)
plt.title("Beverage Sales by Year")
plt.xlabel('Year')
plt.ylabel('Sales')
plt.show()

Visualization:

2. What are the top 5 countries by Sales and Profit?
  • Metric: Countries, Sales, Profit
  • Insights: This Showcases the top 5 countries that with highest sales and profits over the world.

Python Code: Top 5 Country by Sales & Profit

#Aggregating the data by Country
country_agg = df.groupby('Country').agg({
    'SalesValue': 'sum',
    'Profit': 'sum'
}).reset_index()

#Top countries by Sales
top_countries = country_agg.nlargest(5, 'SalesValue')

#Setting the style and figure
sns.set_style("whitegrid")
plt.figure(figsize=(14, 6))

# First subplot for Sales
plt.subplot(1, 2, 1)  # 1 row, 2 columns, 1st subplot
sns.barplot(x='Country', y='SalesValue', data=top_countries)
plt.title('Top 5 Countries by Sales')
plt.xlabel('Country')
plt.ylabel('Total Sales')
plt.xticks(rotation=45)

# Second subplot for Profit
plt.subplot(1, 2, 2)  # 1 row, 2 columns, 2nd subplot
sns.barplot(x='Country', y='Profit', data=top_countries)
plt.title('Top 5 Countries by Profit')
plt.xlabel('Country')
plt.ylabel('Total Profit')
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()

Visualization :

3. What Packaging Impact on Sales in India 
  • Metrics: Sales and Packaging
  • Insights: This Pie Chart hints on the impact of the packaging on the sales of beverages. Checking if the change in packaging affects the sales.

Python Code: Packaging Impact on Sales in India 

#Aggregating Sales in INDIA
india_sales = df[df['Country'].str.upper()== 'INDIA']
india_sales_packaging = india_sales.groupby('PackagingType')['SalesValue'].sum().reset_index()

# Setting the style
sns.set_style("whitegrid")

# Create the pie chart
plt.figure(figsize=(8, 8))
plt.pie(india_sales_packaging['SalesValue'], labels=india_sales_packaging['PackagingType'],
        autopct='%1.1f%%', startangle=140)
plt.title('Sales by Packaging Type in India')
plt.show()

Visualization :

4. Compare the products by Sales and Cost per unit?
  • Metrics: Sales, Products, Cost per Unit
  • Insights:  This showcases the various beverage companies and their sales according to cost per unit.

Python Code: Compare the products by Sales and Cost per unit

#Aggregating the Sales and Cost per Unit by Brand
brand_data = df.groupby('Brand').agg({
    'SalesValue':'mean',
    'CostPerUnit':'mean'
})

#Set the style and figure
sns.set_style("whitegrid")
plt.figure(figsize = (10,6))

#Create a scatterplot
sns.scatterplot(x="SalesValue", y= "CostPerUnit", data = brand_data,
                hue = "Brand", style = 'Brand', palette ='viridis',s=200)

#Create Quandrant Axis
median_sales = brand_data['SalesValue'].median()
median_cost = brand_data['CostPerUnit'].median()

plt.axhline(y=median_cost, color ='red', linestyle = '--')
plt.axvline(x=median_sales, color ='red', linestyle = '--')

#Set the title,labels and legends
plt.title("Sales and Cost per Unit by Brands")
plt.xlabel("Sales")
plt.ylabel("Cost per Unit")
plt.legend(title='Brands', bbox_to_anchor=(1.05, 1), loc='upper left')
plt.show()

Visualization :

Outcomes:

  • With this analysis, we were able to observe the total sales of beverages and sales being constant over the years. We can assess the need for more strategic campaigns as sales have been stagnant in recent years.
  • As most of the sales are coming only from India, the focus on the other countries with market potential should be prioritized.
  • With some of our beverages performing poorly despite having low cost per unit is a big concern. The strategies should be made for those products as they are not contributing significantly to overall sales.

Explore Sales Analytics Data Story Here👇

Slideshow Demo
Sales Analysis Project

By framing this data story in alignment with business goals, organizations can get deeper insights that drive impactful decisions.

Conclusion

Creating a strong strategy for the beverages market is a team effort.

We need to understand what the strategic analyst cares about and ask the right questions. This helps us make a strategy that not only meets but also exceeds the strategic analyst's expectations. This is how we stay ahead in the competitive beverage market.

Ready to get started?

Join Data Analysts who use Super AI to build world‑class real‑time data experiences.

Request Early Access