Mastering Multiplicative Seasonality For Business Success
Table of Content
Forecasting is heart. Imagine how useful it would be if you had information about how much sales will happen in the next week or month. Such insight is like a Trumcard which will enable business people make their decision more precisely and will increase the scope of strategies. Would you like to know how to do it? That’s what we are going to learn in this blog. Let’s jump into the topic without any further delay.
First is First. Understand the Business Problem
We need to understand what the business problem is. In our case, the problem is that our client wants to know about the expected sales in the next one year based on which the client will plan their supply chain management, inventory optimization, financial planning and a lot more.
360DigiTMG also offers the Data Science Course in Hyderabad to start a better career. Enroll now!
Let’s import the dataset and understand it in depth to achieve our objective.
We will use publicly available cocacola dataset that has two columns and 42 rows.
Learn the core concepts of Data Science Course video on YouTube:
Since, it’s a time series data, the sequence in which the data has been collected is very important and we need to have fair idea of how the data has been collected. In this example, the dataset has collected in the quarterly interval. The first column talks about the quarter in which the data was collected and second column, sales, talks about sales happened in that quarter.
The very first thing that we must identify is that whether the dataset is stationary or not. This can be done many ways, The easiest and quickest one is to visualise the data. There are many other ways to check it out, some of them are Auto Correlation Function(ACF) or Correlogram, Dickey-Fuller Test and there many other tests to check out the stationarity of the data.
Let’s visualise the data and try to figure out the underlying characteristics of data.
The plot clearly shows presence of Level, Trend and Seasonality. Before we proceed any further, let me give you the clear picture of what is the difference between level, trend and seasonality.
Are you looking to become a Data Scientist? Go through 360DigiTMG's Data Science Course in Chennai
Level: Level means Average
TrendTrend talks about overall performance of the company. It will tell us whether the firm is consistently performing well or not. We can say the company is performing well if the line is continuously moving towards upward direction. In our case, Trend is moving in upward direction.
SeasonalityIn simple term we can say that seasonality means repeated pattens that occur at regular interval. Look our line plot that is placed above, we could see the patterns at the regular interval. There are two major types of seasonality, namely additive seasonality and multiplicative seasonality. A seasonality is categorized as additive seasonality when there is not much change in peaks and troughs of patterns that occur at regular interval. If the change is increasing at each interval, just like our case, then it is called as multiplicative seasonality.
Conclusion about Dataset: It looks like our dataset follows multiplicative seasonality and Linear Trend. So, we must experiment multiple models to make our forecasting precise. Before we build models, lets clean our data.
Looking forward to becoming a Data Scientist? Check out the Professional Course of Data Science Course in Bangalore and get certified today.
Usually, the checks which need to be performed are duplicates, missing values and many more. But fortunately, since our dataset is small, the preprocessing is going to be super easy. There are no duplicates as well as no missing values present in our data. So, Lets split the data. If you trying to forecast using the data that has lot has null values, then you go ahead with imputation techniques such LOCF, NOCB and there are many other techniques.
Let’s import the packages that are required to build to our models. We are about to try and build three different models. Finally, we will go ahead with the model that gives the least error.
WE will create custom defined function to calculate the error. We are going to use Mean Absolute Percentage Error (MAPE) to measure the accuracy of our model. Lesser the error higher the accuracy.
We will proceed with our first model that is Simple Exponential Smoothing.
Simple Exponential Smoothing model gives us the MAPE score of 8.27%.
Now, Let’s check out the MAPE score of our second model that is Holt’s method. Holt’s Method uses two important components such as alpha and beta whose default value are 0.2 and 0.15 respectively.
The MAPE score of our second model is 10.47% which is higher than Simple Exponential Smoothing. Let’s try our third method, Holt’s Winters method, that has the important components such alpha, beta and gamma whose default values are 0.2, 0.15 and 0.05 respectively. This model captures all components such as level, trend and seasonality.
The Holt’s Winters method with additive seasonality gives us the MAPE score of 3.33%. In the beginning of this blog wee discovered that our dataset follows multiplicative seasonality. If Holt’s Winters method with additive seasonality gives us 3.33%, we may get lesser MAPE score for Holt’s Winters method with multiplicative seasonality.
Let’s put all our model’s MAPE score together to compare the performance of each model.
From the above image, it is very clear that Holt’s Winters method with multiplicative seasonality produces the least error of all. So far, we were training our model with train data. Now, we will pass unforeseen data and get prediction of the same.
There are 4 missing values in the newly imported dataset which are nothing but whose values must be forecasted. Note that the last image shows the forecasted values or expected sales for the period of next one year. Successfully we have forecasted the sales for one year, Now based on this numbers the company can optimize their inventories and can make your financial commitments more precise.
Congratulations! Now you have learnt how to forecast sales. Feel free to express your opinion in the comment section, that will encourage us to make more content like this for benefit of public.
Data Science Training Institutes in Other Locations
Agra, Ahmedabad, Amritsar, Anand, Anantapur, Bangalore, Bhopal, Bhubaneswar, Chengalpattu, Chennai, Cochin, Dehradun, Malaysia, Dombivli, Durgapur, Ernakulam, Erode, Gandhinagar, Ghaziabad, Gorakhpur, Gwalior, Hebbal, Hyderabad, Jabalpur, Jalandhar, Jammu, Jamshedpur, Jodhpur, Khammam, Kolhapur, Kothrud, Ludhiana, Madurai, Meerut, Mohali, Moradabad, Noida, Pimpri, Pondicherry, Pune, Rajkot, Ranchi, Rohtak, Roorkee, Rourkela, Shimla, Shimoga, Siliguri, Srinagar, Thane, Thiruvananthapuram, Tiruchchirappalli, Trichur, Udaipur, Yelahanka, Andhra Pradesh, Anna Nagar, Bhilai, Borivali, Calicut, Chandigarh, Chromepet, Coimbatore, Dilsukhnagar, ECIL, Faridabad, Greater Warangal, Guduvanchery, Guntur, Gurgaon, Guwahati, Hoodi, Indore, Jaipur, Kalaburagi, Kanpur, Kharadi, Kochi, Kolkata, Kompally, Lucknow, Mangalore, Mumbai, Mysore, Nagpur, Nashik, Navi Mumbai, Patna, Porur, Raipur, Salem, Surat, Thoraipakkam, Trichy, Uppal, Vadodara, Varanasi, Vijayawada, Visakhapatnam, Tirunelveli, Aurangabad
Data Analyst Courses in Other Locations
ECIL, Jaipur, Pune, Gurgaon, Salem, Surat, Agra, Ahmedabad, Amritsar, Anand, Anantapur, Andhra Pradesh, Anna Nagar, Aurangabad, Bhilai, Bhopal, Bhubaneswar, Borivali, Calicut, Cochin, Chengalpattu , Dehradun, Dombivli, Durgapur, Ernakulam, Erode, Gandhinagar, Ghaziabad, Gorakhpur, Guduvanchery, Gwalior, Hebbal, Hoodi , Indore, Jabalpur, Jaipur, Jalandhar, Jammu, Jamshedpur, Jodhpur, Kanpur, Khammam, Kochi, Kolhapur, Kolkata, Kothrud, Ludhiana, Madurai, Mangalore, Meerut, Mohali, Moradabad, Pimpri, Pondicherry, Porur, Rajkot, Ranchi, Rohtak, Roorkee, Rourkela, Shimla, Shimoga, Siliguri, Srinagar, Thoraipakkam , Tiruchirappalli, Tirunelveli, Trichur, Trichy, Udaipur, Vijayawada, Vizag, Warangal, Chennai, Coimbatore, Delhi, Dilsukhnagar, Hyderabad, Kalyan, Nagpur, Noida, Thane, Thiruvananthapuram, Uppal, Kompally, Bangalore, Chandigarh, Chromepet, Faridabad, Guntur, Guwahati, Kharadi, Lucknow, Mumbai, Mysore, Nashik, Navi Mumbai, Patna, Pune, Raipur, Vadodara, Varanasi, Yelahanka