Competition - Supply Chain Analytics
  • AI Chat
  • Code
  • Report
  • Beta
    Spinner

    📷 Dashboard screenshot



    Supply Chain Analytics in Tableau


    🧾 Executive summary

    Just in Time: Supply Chain Analytics

    This executive summary provides a comprehensive analysis of the supply chain operations of Just in Time, a fictitious company. The analysis aims to identify areas for improvement and leverage opportunities for increased efficiency and profitability. The key findings are as follows:

    Key Findings

    • Same Day Shipment Mode: The average scheduled shipment time for the Same Day Shipment mode is recorded as 3 days. This raised concerns about meeting customer expectations for prompt deliveries. It is recommended that further investigation be conducted to uncover the underlying causes of this delay and implement corrective measures.

    • Fulfillment Efficiency: The overall average fulfillment time is calculated at 5.33 days. Surprisingly, 8 out of the top 10 best-selling products have an average fulfillment time greater than the company's overall average. The third most sold product experiences an even higher average fulfillment time of 9.4 days. Addressing these extended fulfillment times for popular products is essential to streamline the supply chain and enhance customer satisfaction.

    • Understock and Overstock: Possible reasons for delays in top sales products could include understock and overstock situations. An imbalance in inventory levels can impact the fulfillment process and result in delays. Studying more in depth understock and overstock scenarios will provide valuable insights to improve inventory performance.

    • Customer Distribution: The data indicates that the most common customer countries are the USA, France, and Mexico. Understanding customer distribution allows the company to tailor its supply chain strategies to cater to the demands of these regions more effectively.

    • Profitable Product Categories: Among the various product categories, Cleats, Fishing, Cardio Equipment, Camping and Hiking, Women’s Apparel, Indoor/Outdoor Games, Water Sports, and Men’s Footwear stand out as the most profitable. Focusing on these categories can lead to increased revenue and profitability.

    • Order Quantity and Fulfillment Time: The average order quantity is reported as 2.15 units, while the average fulfillment time is 5.33 days. Analyzing the relationship between order quantity and fulfillment time can provide insights into optimizing inventory management and order processing.

    • Inventory Cost: The average inventory cost per unit is calculated to be $1.24. Understanding inventory costs is essential for efficient inventory control and minimizing holding costs.

    • Period of Discounts: The data reveals that there was a period of increased discounts in the second half of 2015. This discount strategy likely impacted sales and profitability during that time, and further analysis can help evaluate the effectiveness of such discount campaigns.

    Recommendations

    • Investigate Same Day Shipment Mode: The delay in the Same Day Shipment mode needs immediate attention. Conduct a thorough investigation to identify the factors contributing to the delay and take necessary steps to improve delivery efficiency.

    • Optimize Fulfillment for Top-Selling Products: Address the extended fulfillment times for the top-selling products to improve customer satisfaction and increase repeat sales.

    • Dive deeper into Understock and Overstock: Analyze understock and overstock situations to optimize inventory levels and reduce fulfillment delays caused by inventory imbalances.

    • Customer-Centric Strategies: Tailor supply chain strategies to meet the demands of customers in the USA, France, and Mexico, as these countries represent the majority of the customer base.

    • Strategic Focus on Profitable Categories: Allocate resources and efforts to focus on the most profitable product categories to maximize revenue and overall profitability.

    • Inventory Management: Analyze the relationship between order quantity, fulfillment time, and inventory costs to optimize inventory management practices and reduce holding costs.

    • Evaluate Discount Strategies: Assess the impact of discount campaigns during the period of increased discounts in the second half of 2015 to determine their effectiveness in driving sales and profitability.

    Conclusion

    The data analysis offers valuable insights into the supply chain operations of Just in Time. By addressing the issues with Same Day Shipment mode and optimizing fulfillment for top-selling products, the company can improve efficiency and customer satisfaction. Additionally, capitalizing on profitable product categories and understanding customer distribution will enable Just in Time to tailor its supply chain strategies strategically. With a customer-centric approach and continuous evaluation of discount strategies, Just in Time can enhance its competitiveness and profitability in the market.


    🌐 Dashboard Link

    Just in Time Supply Chain Analytics


    📓 Notebook

    Introduction

    Welcome to this notebook! In this analysis, we will be exploring a dataset containing information about orders, products, customers, and shipments. Our goal is to gain insights into shipment and inventory management, supply chain inefficiencies, potential problems, and to identify opportunities for business improvement.

    # Load necessary packages
    suppressPackageStartupMessages(library(tidyverse))
    library(tidyverse)
    
    # Read in `orders_and_shipments.csv` into R environment
    data <- readr::read_csv("data/orders_and_shipments.csv", show_col_types = FALSE)
    data

    Prepare the Data

    To start, the main data file 'orders_and_shipments.csv' has been loaded into R. It appears that there are some misspellings or errors in the Customer Country column, which will need to be addressed. Then we can change the "-" character for "0" in the Discount % column for rows that correspond to items without a discount. Once these invalid characters and data inconsistencies are corrected, we can proceed to examine the data structure and summary statistics using the skimr package. This will provide us with a comprehensive understanding of the variables and their distributions, as well as identify any missing values or outliers that may require attention. By conducting this initial analysis, we can ensure that the data is complete and accurate before proceeding with further exploration and analysis.

    # Filter the `data` dataframe to detect rows where the `Customer Country` column contains the invalid character "�" and create a table of the frequency of each unique value in that filtered column.
    
    data %>% filter(str_detect(`Customer Country`, "�")) %>% select("Customer Country") %>% table()
    # Fix `Customer Country` with invalid characters
    
    data <- data %>%
      mutate(`Customer Country` = str_replace(`Customer Country`, "Algeria�", "Algeria")) %>%
      mutate(`Customer Country` = str_replace(`Customer Country`, "Ben�n", "Benin")) %>%
      mutate(`Customer Country` = str_replace(`Customer Country`, "Cote d�Ivoire", "Cote d'Ivoire")) %>%
      mutate(`Customer Country` = str_replace(`Customer Country`, "Dominican�Republic", "Dominican Republic")) %>%
      mutate(`Customer Country` = str_replace(`Customer Country`, "Israel�", "Israel")) %>%
      mutate(`Customer Country` = str_replace(`Customer Country`, "Per�", "Peru"))
    # Replace "-" with "0" in the `Discount %` column
    
    data <- data %>%
      mutate(`Discount %` = str_replace(`Discount %`, "-", "0"))
    # Load the skimr library
    library(skimr)
    
    # Use the skim function to generate summary statistics for the data dataframe excluding difftime columns that cannot be summarized by skimr
    data %>% select(-`Order Time`) %>% skim_without_charts()

    Based on the summary statistics generated by the skimr package, the data appears to be clean and complete. There are no missing values or obvious outliers that need to be addressed. Additionally, all variables are in the expected format and there are no unexpected values or data types. Therefore, it seems that the data does not require any further preparation or processing before analysis can be conducted.

    Next, we will load the other tables into the R environment. After that, we can conduct an Exporatory Data Analysis to gain a better understanding of the dataset, identify any potential issues or opportunities for further analysis and uncover any hidden outliers.

    # Load `inventory` table into R environment
    inventory <- readr::read_csv("data/inventory.csv", show_col_types = FALSE)
    inventory
    # Read in `fulfillment` table into R environment
    fulfillment <- readr::read_csv("data/fulfillment.csv", show_col_types = FALSE)
    fulfillment