
Apply data science and supply chain analytics with Python to automate decisions for supply chain professionals and connect ERP data for optimization beyond spreadsheets.
Learn coding to drive your supply chain with data-driven inference, beyond software outputs, and use scalable pipelines and models in Python, R, or Julia to optimize operations.
Explore three modules: supply chain overview, data in supply chain, and Python-driven applications. Learn Python fundamentals, segmentation, simulations, forecasting, inventory management, optimization, pricing, and machine learning with Excel-to-Python workflows.
Follow a plan of attack to learn data science and supply chain analytics with Python, coding along with the instructor, completing section assignments, and using Python and supply chain resources.
Explore how the supply chain flows from suppliers to customers, highlighting information flow, forecasting, and omnichannel fulfillment to optimize costs and service.
Define supply chain management as oversight of products or services from inception to consumption, and explain material, financial, and information flows upstream to downstream while balancing service level and cost.
Define service level by quality, on-time delivery, and after-sales support, and show how delays affect satisfaction; relate product perishability, value, regularity, and seasonality to inventory policies like min-max.
Understand simple and aggregate supply chain views, including supplier and customer relationship management, tiered suppliers, channels, and the flow of material and information across upstream and downstream.
Examine the financial flow in supply chains, detailing money movement from downstream to upstream and payments like a letter of credit, credit cards, wire transfers, and PayPal.
Explore why supply chains remain complex, driven by uncertainty, demand variability, life cycle shifts, performance metrics, political dynamics, and the bullwhip effect; learn how data sharing and resilience address disruptions.
Explore how ERP, database, and unstructured data power supply chain decisions, merging tables to analyze suppliers, products, customers, locations, footfall, and brand sentiment—data as the new oil.
Explore how data fuels supply chains, comparing structured and unstructured data, the four data dimensions: volume, velocity, variety, veracity, and how sensors, RFID, and online transactions enable forecasting and tracking.
Explore supplier data types in the supply chain, including item cost, strategic items, shelf life, storage mechanisms, and lead times, to optimize cost and quality.
Analyze production data such as labor hours, units produced, and batch sequencing to evaluate capacity utilization, maintenance, and machine runtime, while using input data on machine utility to predict breakdowns.
Analyze stock data from warehouses to optimize space and costs. Track fast and slow moving items, out of stock, overstock, dead stock, obsolete items, and SKU policies to improve service.
Analyze invoice amounts, bill volume, time of sale, seasonality, and customer data to reveal buying patterns and enable customized promotions across locations.
Explore three analytics types: descriptive analytics, predictive analytics, and prescriptive analytics—and learn how visualizations with R and ggplot describe data, forecast outcomes, and optimize decisions.
Explore Python's role in data science and its diverse uses, and learn to install and use Anaconda with Jupyter Notebook and Spyder for analysis.
Practice downloading and installing the Anaconda individual edition across Windows, Mac, or Linux by navigating to the download page, selecting the Mac version, and running the installer.
Install Anaconda from the downloaded file, follow the prompts for a quick 2-3 minute setup, then explore inside Anaconda to discover the available applications.
Explore the Jupiter notebook overview, compare it with Spyder in anaconda, and learn to create notebooks, run code in cells, and save work for a supply chain data science project.
Explore how Python libraries enable data science tasks like data manipulation, arrays, and visualization using pandas, numpy, and matplotlib within Jupyter or Spyder in Anaconda.
Practice basic Python arithmetic and data structures in a Jupyter notebook, creating variables for addition and multiplication, building a list of prime numbers, and learning zero-based indexing.
Learn how to work with Python lists and slicing, starting from index zero and using end-exclusive ranges. Apply subsetting to lists and data frames with string elements and named examples.
Explore arrays in Python with NumPy, compare them to lists and dictionaries, learn one-dimensional, memory-efficient arrays and their element-wise arithmetic.
Learn to subset data frames with iloc and loc, selecting rows and columns by indices or names, and add a new currency column using a simple euro-to-dollar conversion example.
Define a Python function named status (using def) to classify a person as child, teenager, or adult using if-elif-else, with proper indentation and returning or printing the result.
Apply a Python map function to a list, then convert the map object to a list to view each status in data science and supply chain analytics.
Learn how for loops perform iteration in Python, compare their output to map, and print each age from a class list.
Demonstrates looping a function with a for loop, switching prints to returns, and building a status list to apply the status function to ages, comparing for loop and map.
Define a function to test if a country is United Kingdom, then map this across the data frame to create a new UK column and inspect the true/false counts.
Learn python fundamentals and boolean conditions, including and/or logic, then subset data with loc/iloc, load data with pandas read_csv, and create new columns using map and for loops.
solve a Python assignment on cars dataset, computing rows, columns, and horsepower metrics; rename the column to car name and create a pricing subset with budget, suitable, and expensive categories.
Rename the car name column, create a car pricing subset, and implement a pricing_category function to classify prices into budget, suitable, and expensive, applying it across the dataset.
Explore how statistics quantify supply chain uncertainty by using mean and median, standard deviation and quartiles, and correlation and regression to analyze distributions of demand, lead times, and procurement.
Explore measures of centrality and spread, including mean, median, mode, range, variance, and standard deviation, and apply Python and numpy to interpret percentiles and detect outliers.
Learn to compute the mean and other centrality measures in Python with numpy, using a pineapple juice demand simulation over 500 days with random uniform data.
Compute the mode and standard deviation, define a range as max minus min, derive variance as the square of the standard deviation, using statistics and pandas as approaches.
Learn to calculate percentiles and quartiles, and verify that the 50th percentile equals the median with example values: 25th at 112, 50th at 243, and 75th at 373.
Explore correlations by subsetting the cars dataset in pandas, examining horsepower, city mpg, and highway mpg, while using describe and info to summarize continuous variables.
Explore correlation thresholds from low to perfect, detailing positive and negative ranges (low 0–0.29, moderate 0.3–0.49, high 0.5–1) to predict feature effects.
Identify outliers and anomalies as observations beyond the distribution pattern in sales data. Apply the 1.5× IQR rule to detect high and low outliers and adjust inventory decisions.
Detect outliers using the IQR rule (q3 minus q1, 1.5 times IQR) with NumPy, implement a function to return upper and lower outliers across distributions, noting two upper outliers.
Explore linear regression to model the relationship between one independent and one dependent variable, using examples like price and sales. Understand residuals and extend the idea to multiple regression.
Explore simple linear regression by modeling the relationship between two variables, identifying dependent and independent variables, and estimating the intercept and slope using a practical price and demand example.
Learn to perform linear regression in Python with the sklearn library, loading pricing data from Excel and defining X and Y to build a linear model.
Learn to fit a linear model for price and demand with numpy reshape for a single feature, and use model.predict to interpret the coefficient and intercept against actual demand.
Characterize distributions to determine stock cover and service levels in supply chain, recognizing discrete vs. continuous types and roles of intermittent, lumpy, smooth and erratic demand.
Apply the chi-square test to compare a sample distribution with a normal reference, test null versus alternative hypotheses, and judge normality with a p-value threshold of 0.05.
Learn to perform a chi square test in Excel, build a histogram for apple juice, compute the mean and sample standard deviation, and create a frequency and cumulative observation table.
Explore chi-square testing by computing cumulative distribution functions for normal data, estimating probabilities for buckets and intervals, and comparing observed versus expected counts to validate a distribution.
The lecture characterizes demand as normal, verifies it with a chi-square test, and uses the inverse normal to stock 127 apple juice to cover 90% of daily demand.
Explore distributions in python with scipy.stats, perform a kolmogorov-smirnov test on apple juice data to check for normality, and loop through many distributions to identify the best fit by p-value.
Use the get attribute function to retrieve each distribution's parameters and fit them to the apple juice data in a for loop, then select the best by p-values.
Explore centrality and spread measures—mean, median, range, standard deviation, quartiles—and analyze correlations with a correlation plot, then fit linear regression and chi-square tests in Excel for normal distribution probabilities.
Design a python script in Spyder to analyze pineapple juice demand and price, fit to a distribution, compute p-value, and run regression with sklearn’s LM to outline coefficients and intercept.
Identify normality of pineapple juice demand with a normality test p-value 0.87, and present a linear model with slope -50 and intercept 200.
Unify diverse data shapes in Python for supply chain analytics using pd.concat and joins like pd.merge. Group by multiple criteria, compute averages, create new columns, and index to subset data.
Clean retail data by dropping unnecessary columns and duplicates, imputing missing values, and converting the invoice date to datetime for time-based analysis.
Learn to filter data by date ranges such as august and perform imputations by changing values in columns such as country and stock description, using filtering and column operations.
Learn to index data frames with row and column indices, create single and multi-level indexes like country and date, and use set_index and reset_index to filter data.
Reshape and analyze sales data with pivot tables, melt, and group by to prepare time-series forecasts; compute mean and spread measures in Python.
Group data by country and description using pandas, compute total sales and mean values for each group, and observe how grouping turns features into indices for further aggregations.
Use aggregate with named columns to compute mean quantity, mean price, and median price while preserving the identity of every column, including the country column, and optionally resetting the index.
Use pivot tables in pandas to reshape supply chain data, turning country into columns and date into rows with quantity values, and create time-series views for the United Kingdom.
Explore data science and supply chain analytics by using an aggregate function in a pivot table to sum quantity and average price by country and date, with np.sum and np.mean.
Join level zero and level one columns with an underscore to create a single level. Melt country pivoted data into long format using date as id and measure as value.
Perform a left join to combine the sales and department tables using a common key, preserving all left-table rows and pulling matching department values, with nulls where no match exists.
Explore inner joins to match keys between tables and full joins to combine all records, illustrated with sku, sales, and department in Python data science for supply chain analytics.
Learn to join two data frames in Python using inner join, outer (full) join, and left join, combining names, designation, and age data with Pandas.
Explore inner, left, and full (outer) joins using the merge function to combine tables by common keys, bringing right table data into the left.
Develop data manipulation skills in pandas, including cleaning with dropna and drop, grouping and aggregation, pivoting and melting, indexing with dates, and performing various joins for supply chain analytics.
Import datasets with pandas and read flights, planes, airlines, and airports csv files. Review columns such as year, departure delay, air time, and distance to tackle the assignment in Python.
Count flights from New York by destination, group and sort to identify Chicago O'Hare International as the most popular destination, after mapping airport names with a left join.
Analyze flight data to identify the longest average air time by origin and destination, using group by and join steps, and report Frontier as the worst in delays.
Analyze flights and planes data to identify the carrier with the highest total seats by tail number (United Airlines) and the most-used airplane model, Airbus A320-232, from Airbus.
Learn to work with dates in Python using pandas to_datetime, parse formats, and extract components with dt. Resample and apply rolling averages to reveal trends for forecasting and stock analysis.
Learn to clean and analyze dates in Python using pandas and datetime, including dropping duplicates, handling missing data, converting to datetime, extracting components, formatting, and computing date durations.
Group by each customer to get their last purchase date using the max function. Compute recency as max date minus last purchase date, then visualize with a histogram.
Analyze recency with a histogram by converting time delta to days and extracting its components to reveal recent purchase patterns and long gaps in purchases.
Model inter-arrival time by identifying unique customers, building a date-based data frame from invoice dates with strftime to year-month-day, and preparing a per-customer previous date via shifting.
Group data by each customer, compute the previous date with a one-step shift, and concatenate per-customer results to model inter-arrival times before adding duration.
Resample data in Python by converting daily observations to weekly, monthly, or yearly series. Use a date index and aggregations like mean, first, last, and std for analysis.
Explore rolling time series by computing moving averages with rolling windows and resampling, using stock data such as MSFT to illustrate seven-day and fourteen-day horizons.
Apply rolling time series analysis to smooth data with weekly and monthly averages and resample MSFC values; use short vs long horizon moving averages to signal buys or sells.
Convert dates with pd.to_datetime and extract week, day, and month to infer busy times, then use resampling and rolling means for stock analysis, forecasting, and bull/bear insights.
Preprocess the 2011 subset by dropping duplicates, ensuring invoice date is datetime, extracting weekday and month-year, then compute recency and last purchase date and apply two-week and one-week moving averages.
Import and clean 2011 retailer sales data, drop duplicates, convert invoice dates to datetime, compute week, day, month, year, last purchase date, recency, and resample weekly with moving averages.
Explore core visualizations for data-driven supply chain analysis, including line plots, box plots, pair plots, bar plots, count plots, and distribution plots, using Python with matplotlib and seaborn.
learn how to create line plots with matplotlib, including single and four-panel subplots for stocks like Apple, Microsoft, Cisco, and IBM, using time series data and index as the x-axis.
Use scatter plots to reveal the relationship between two continuous variables in the cars dataset, such as horsepower and price, with cylinders treated as categories.
Explore bar plots and count plots in Seaborn to compare country data. Clean retail data by removing duplicates and missing values, then use count plots to show country counts.
Learn to build bar plots to visualize sales by day of week and country, using Python, with data prep, day-of-week mapping, and total quantity aggregation.
Learn to create distribution plots for Iris sepal and petal measurements using Seaborn KDE plots, compare species distributions, and filter by species to reveal differences.
Explore box plots to summarize data with quartiles and identify outliers, using iris and cars datasets to compare sepal length and horsepower.
Create histograms with plt.hist and seaborn to visualize the distribution of a continuous variable, showing frequency counts, adjustable bins, and optional kernel density estimates.
Explore Python visualizations with Matplotlib, including box, line, pair, dist, and count plots, using subplots for clear inventory, forecasting, machine learning, linear programming, and supply chain insights.
Visualize sales and features with matplotlib and seaborn, filtering for United Kingdom. Create line, scatter, distribution, and box plots, plus iris pair plots.
Import datasets with pandas and seaborn, parse the invoice datetime to a date, filter for the United Kingdom, compute daily sales, and plot sales per day.
Filter sales by Denmark, Canada, Eastern Ireland; pivot to country-by-date totals and reshape with a pivot table. Visualize price versus horsepower, iris distribution, and cylinder box plots with seaborn.
Explore product, supplier, and customer segmentation in data science and supply chain analytics, using ABC analysis and the Kraljic matrix to prioritize items and vendors.
Explore the Pareto law, the 80/20 rule, and the vital few in supply chain analytics, showing how a few products and customers drive most spend.
Apply abc analysis to optimize assortment planning, warehouse placement, bundling, and markdowns for fast movers, while reducing slow movers and the long tail, and guiding supplier and customer strategies.
Clean and restructure sales data with pandas and numpy, drop duplicates and missing values, compute 2011 total sales and revenue per SKU, and save to csv for Excel analysis.
Apply ABC analysis in Excel by sorting items by quantity, calculating total and percentage, deriving cumulative percentage, and assigning A, B, or C categories with a Vlookup.
Perform ABC analysis in Python using inventory three, analyze description and total sales, and compare category distributions with plots, replacing Excel workflows.
Apply multi-criteria ABC analysis at store or department level to segment SKUs by sales and revenue, using country and description groupings for division-level insights and service level decisions.
Explore supplier risk analysis using the Krajcik matrix to classify items by risk and value, identifying leverage, strategic, bottleneck, and non-critical categories to inform procurement strategies.
Analyze supplier segmentation in practice by identifying strategic, bottleneck, leverage, routine, critical, and non-critical items, using risk scoring, quadrant mapping, and long-term supplier relationships.
Learn supplier segmentation in Python by scoring criteria such as availability, number of suppliers, price fluctuation, and standard items to compute a supplier risk index and evaluate total value spent.
Compute value as price times quantity and analyze using mean, median, mode, and minimax. Use 50th percentile around 300,000 as a threshold to label items as low or high value.
Visualize supplier value and risk categories by applying a two-argument category function across rows, then plot a seaborn scatter plot to distinguish routine, leverage, strategic, and critical items.
Explore product and supplier segmentation using abc analysis and a four-quadrant matrix (critical, strategic, routine, leverage) to identify margin drivers, volume drivers, and slow movers for inventory and marketing.
Analyze 2011 retailer data with inventories to clean data, compute quantity and revenue per product and country, and apply ABC analysis to determine products in eastern Ireland.
Leverage inventories and pandas to compute sales and revenue per sku, build product mix and store-level insights by country, and highlight the long tail for stock and segmentation decisions.
Learn why forecasting is essential in a multi-stage supply chain, enabling visibility and collaboration from suppliers to customers, while guarding inventory, production, and loyalty.
Explore qualitative and quantitative forecasting, using expert opinion, surveys, and Delphi methods when data are scarce, and apply regression, machine learning, and ARIMA with expert judgment.
Identify and quantify time components—trend, seasonality, and cyclical demand—to improve forecasting in Excel and Python by capturing growth, regular patterns, and irregular cycles.
Prepare weekly 2009-2012 retailer revenue data by cleaning and converting invoice dates to datetime, extracting year, month, and week, and aggregating to a time series for regression and forecasting.
Build an Excel forecast using a multiple linear regression with feature coefficients, compare predictions to actuals, and evaluate errors with mean absolute error and root mean squared error.
complete the assignment by building linear regression models in excel with month dummy variables and a previous observation as independent variable, then assess significance via p-values to identify sales predictors.
Learn to implement a Python linear regression in sklearn by building X from trend and monthly time-series features, one-hot encoding months, dropping unused columns, and fitting Y as total revenue.
Explain extracting coefficient names from X.columns, zipping them with model.coef_ to form a dictionary, and modeling time series with one-hot months and predictions.
Initialize a weekly date range for forecasting by finding the time series max date, using pd.date_range to define start and end dates, then convert results to a dataframe for plotting.
Perform a Python-based forecast of sales—using trend extraction, months, one-hot encoding—and fit a regression model, extending dates 32 weeks ahead to predict history and future sales.
Build a weekly sales time series from retail data, engineer month and trend features with one-hot encoding, fit a linear regression, and forecast 32 weeks.
Compare a simulated 32-week sales forecast with actual values, noting how adding simulation dates keeps the forecast pattern but with a slightly lower trend.
"I attended this course with high expectations. And I was not disappointed. It´s incredible to see what is possible with Python in terms of supply chain planning and optimization. Haytham is doing a great job as a trainer. Starting with explanation of basics and ending with presentation of advanced techniques supply chain managers can apply in real life."
Larsen Block
Director Supply Chain Management at Freudenberg Home and Cleaning Solutions GmbH
New update : Forecast for OTB calculation with AutoML is added (Aug 2023)
After our Data Science and supply chain analytics with R course being dubbed the highest rated course in supply chain on Udemy, we are pleased to Introduce Data Science and supply chain analytics. A-Z with Python !!
" 60000 Professionals are using inventorize across R & Python. Know how to use it only in this course"
It's been seven years since I moved from Excel to data science and since then I have never looked back! With eleven years between working in Procurement, lecturing in universities, training over 70000 professionals in supply chain and data science with R and python, and finally opening my own business in consulting for five years now. I am extremely excited to share with you this course and learn with you through this unique rewarding course. My goal is that all of you become experts in data science and supply-chain. I have put all the techniques I have learned and practiced in this one sweet bundle of data science and supply chain.
As a consultancy, we develop algorithms for retailers and supply chains to make aggregate and item controllable forecasting, optimize stocks, plan assortment and Maximize profit margin by optimizing prices. 20000 people are already using our free package for supply chain analysis "Inventorize" and we can't wait to share its capabilities with you so you can start dissecting supply chain problems...for free!
The motivation behind this project is filling the gap of finding a comprehensive course that tackles supply chains using data science. there are courses for data science, forecasting, revenue management, inventory management, and simulation modeling. but here we tackle all of them as a bundle. Lectures, Concepts, codes, exercises, and spreadsheets. and we don't present the code, we do the code with you, step by step.
the abundance of the data from customers, suppliers, products, and transactions have opened the way for making informed business decisions on a bigger and more dynamic scale that can no longer be achieved by spreadsheets. In this course, we learn data science from a supply chain mindset.
Don't worry If you don't know how to code, we learn step by step by applying supply chain analysis!
*NOTE: Full course includes downloadable resources and Python project files, homework and course quizzes, lifetime access, and a 30-day money-back guarantee.
Who this course is for:
· If you are an absolute beginner at coding, then take this course.
· If you work in a supply-chain and want to make data-driven decisions, this course will equip you with what you need.
· If you are an inventory manager and want to optimize inventory for 1000000 products at once, then this course is for you.
· If you work in finance and want to forecast your budget by taking trends, seasonality, and other factors into account then this course is just what you need.
· If you are a seasoned python user, then take this course to get up to speed quickly with python capabilities. You will become a regular python user in no time.
· If you want to take a deep dive (not just talking) in supply chain management, then take this course.
· If you want to apply machine learning techniques for supply -chain, we will walk you through the methods of supervised and unsupervised learning.
· If you are switching from Excel to a data science language. then this course will fast track your goal.
· If you are tired of doing the same analysis again and again on spreadsheets and want to find ways to automate it, this course is for you.
· If you are frustrated about the limitations of data loading and available modules in excel, then Moving to python will make our lives a whole lot easier.
Course Design
the course is designed as experiential learning Modules, the first couple of modules are for supply chain fundamentals followed by Python programming fundamentals, this is to level all of the takers of this course to the same pace. and the third part is supply chain applications using Data science which is using the knowledge of the first two modules to apply. while the course delivery method will be a mix of me explaining the concepts on a whiteboard, Presentations, and Python-coding sessions where you do the coding with me step by step. there will be assessments in most of the sections to strengthen your newly acquired skills. all the practice and assessments are real supply chain use cases.
Supply chain Fundamentals Module includes:
1- Introduction to supply chain.
2- Supply chain Flows.
3- Data produced by supply chains.
Python Programming Fundamentals Module includes:
1- Basics of Python
2- Data cleaning and Manipulation.
3- Statistical analysis.
4- Data Visualization.
5- Advanced Programming.
Supply chain Applications Module include :
1- Product segmentations single and Multi-criteria.
2- Supplier segmentations.
3- Customers segmentations.
4- Forecasting techniques and accuracy testing.
5- Linear Programming and logistics optimizations.
6- Pricing and Markdowns optimization Techniques.
7- Inventory Policy and Safety stock Calculations.
8- Inventory simulations.
9- Machine Learning for supply-chain.
10- Simulations for optimizing Capacity and Resources.
*NOTE: Many of the concepts and analysis I explain first in excel as I find excel the best way to first explain a concept and then we scale up, improve and generalize with Python. By the end of this course, you will have an exciting set of skills and a toolbox you can always rely on when tackling supply chain challenges. The course may take from 12-16 weeks to finish, 4-5 hours of lectures, and practice every week.
Happy Supply Chain mining!
Haytham
Rescale Analytics
Feedback from Clients and Training:
"In Q4 2018, I was fortunate to find an opportunity to learn R in Dubai, after hearing about it from indirect references in UK.
I attended a Supply Chain Forecasting & Demand Planning Masterclass conducted by Haitham Omar and the possibilities seemed endless. So, we requested Haitham to conduct a 5-day workshop in our office to train 8 staff members, which opened us up as a team to deeper data analysis. Today, we have gone a step further and retained Haitham, as a consultant, to take our data analysis to the next level and to help us implement inventory guidelines for our business. The above progression of our actions is a clear indication of the capabilities of Haitham as a specialist in R and in data analytics, demand planning, and inventory management."
Shailesh Mendonca
Commercial lead-in Adventure AHQ- Sharaf Group
“ Haytham mentored me in my Role of Head of Supply Chain efficiency. He is extremely knowledgebase about the supply concepts, latest trends, and benchmarks in the supply chain world. Haytham’s analytics-driven approach was very helpful for me to recommend and implement significant changes to our supply chain at Aster group”
Saify Naqvi
Head of Supply Chain Efficiency
“I participated in the training session called "Supply Chain Forecasting & Management" on December 22nd 2018. This training helped me a lot in my daily work since I am working in Purchase Dpt. Haytham have the pedagogy to explain us very difficult calculations and formula in a simple way. I highly recommend this training.”
Djamel BOUREMIZ
Purchasing Manager at Mineral Circles Bearings