Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH
DATA VISUALISATION AND DEMAND FORECASTING
YONG JING XIAN BACHELOR OF COMPUTER SCIENCE (SOFTWARE
DEVELOPMENT) WITH HONOURS UNIVERSITI SULTAN ZAINAL ABIDIN
2021
S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH
DATA VISUALISATION AND DEMAND FORECASTING
YONG JING XIAN
BACHELOR OF COMPUTER SCIENCE (SOFTWARE DEVELOPMENT) WITH HONOURS
Universiti Sultan Zainal Abidin
2021
i
DECLARATION
I hereby declare that the report is based on my original work except for quotations and citations, which have been duly acknowledged. I also declare that it has not been previously or concurrently submitted for any other degree at Universiti Sultan Zainal Abidin or other institutions.
_______________________________ Name: Yong Jing Xian Date: 25 January 2021
ii
CONFIRMATION
This is to confirm that: The research conducted and the writing of this report was under my supervision.
_______________________________ Name: En. Abd Rasid bin Mamat Date: 27 January 2021
iii
DEDICATION
First of all, I would like to thank my supervisor, Encik Abd. Rasid bin Mamat because
with his guidance, the advice, and the thoughtful ideas are given to me; therefore, I can
prepare this report successfully.
Besides, my gratitude is also to my fellow friends who share their ideas, opinions,
knowledge, and reminders. They helped me by answering every question that was
important to me in completing this report.
Thanks to my beloved mother and father, always supporting and their motivation
encouraged me during the whole process of preparing this report for Final Year Project.
I would like to take the opportunity to thank all lecturers of the Informatics and
Computing Faculty for their attention, guidance, and advice in helping and sharing ideas
and opinions in making this report successful.
Thank you.
iv
ABSTRACT
Inventory Management System (IMS) is widely used to increase the efficiency of
managing item flow in and out from inventory. The traditional IMS method used in
some small and medium-sized enterprises (SME) involved much paperwork such as
spreadsheet and order list which will be difficult to manage. Besides that, deciding on
inventory replenishment can be difficult; thus, the need for demand forecasting
capability in an inventory management system. Therefore, this project aims to develop
a web-based inventory management system, S-IMS. The purpose of S-IMS is to help
SMEs in managing their inventory efficiently. A hybrid of Kanban and incremental
model is used as the methodology of this project development lifecycle. Double
exponential smoothing, a time series based method is used to do the demand forecasting.
This project's expected result is that the successful development of S-IMS and the
system is expected to serve its functions, helping SMEs manage their inventory with its
capabilities in data visualisation and demand forecasting.
v
ABSTRAK
Sistem Pengurusan Inventory (IMS) digunakan secara meluas untuk meningkatkan
kecekapan dalam menguruskan aliran stok masuk dan keluar daripada inventori.
Kaedah tradisional pengurusan inventory yang digunakan oleh sebahagian perusahaan
kecil dan sederhara (SME) melibatkan banyak dokuman seperti spreadsheet,
menyebabkan kesusahan dalam pengurusan. Selain daripada itu, keputusan untuk
mengisi semula stok dalam inventori adalah sesuatu tugas yang mencabar. Hal ini
menunjukkan bahawa keperluan terhadap fungsi peramalan perminataan dalam sistem
pengurusan inventory. Oleh sebab itu, projek ini bertujuan untuk membangukan satu
sistem pengurusan inventori yang berasaskan web, S-IMS. Tujuan S-IMS adalan
menbantu SME dalam mengurus inventori mereka secara efisien. Kanban dan model
pembangunan secara berperingkat digunakan bersama sebagai methodologi kitaran
hayat pembangunan projek ini. Pelicinan eksponesial berganda, satu kaedah
berdasarkan siri masa akan digunakan untuk melakukan peramalan permintaan. Hasil
yang diharapkan dari projek ini adalah kejayaan pembangunan S-IMS dan sistem
diharapkan berfungsi mengikuti jangkaan, membantu SME untuk menguruskan
inventori mereka dengan kemampuannya dalam visualisasi data dan peramalan
permintaan.
vi
CONTENTS
PAGE
DECLARATION i CONFIRMATION ii DEDICATION iii ABSTRACT iv ABSTRAK v CONTENTS vi List of Tables viii List of Figures ix List of Abbreviations x CHAPTER 1 INTRODUCTION 1
1.1 Introduction 1 1.2 Problem Statement 3 1.3 Objectives 5 1.4 Scopes 6 1.5 Limitation of Work 7 1.6 Expected Result / Contribution 8 1.7 Report Structure 9
CHAPTER 2 LITERATURE REVIEW 10 2.1 Introduction 10 2.2 Existing Solutions 10
2.2.1 eStockCard 11 2.2.2 QNE Inventory Version 12 2.2.3 SAGE UBS Inventory and Billing 12 2.2.4 Summary of Existing Solutions and Comparison 13
2.3 Data Visualisation 14 2.3.1 What is Visualisation 14 2.3.2 Importance of Data Visualisation 14 2.3.3 Data Visualisation Process 16 2.3.4 Data Visualisation in Support of Executive Decision
Making 16 2.3.4.1 Example 1: Inventory Management 18
2.3.5 Tools Available in Market 20 2.3.5.1 D3.js 21 2.3.5.2 FusionCharts 21
2.4 Demand Forecasting 21 2.4.1 What is demand forecasting 22 2.4.2 Forecasting Data and Methods 22
2.4.2.1 Time Series Approaches 22 2.4.3 Case Study 24
2.4.3.1 Moving Average Model 24 2.4.3.2 Simple Exponential Smoothing 26
CHAPTER 3 METHODOLOGY 29 3.1 Introduction 29 3.2 Software Development Life Cycle 29
vii
3.2.1 Phases in Software Development Methodology 31 3.2.1.1 Requirements Gathering 31 3.2.1.2 Architecture Design 31 3.2.1.3 Iterations of Analysis/Design, Development and Testing
32 3.2.1.4 Validation 33 3.2.1.5 Delivery 33
3.3 Justification for Methodology 33 3.3.1 Workflow Control Using Kanban 34
3.4 Requirement Analysis Process 35 3.4.1 Requirement Elicitation 36 3.4.2 Requirement Analysis 36 3.4.3 Requirement Specification 36
3.5 System Design 38 3.5.1 Architecture Design 38 3.5.2 Process Model 39 3.5.3 Data Model 45
3.6 Algorithms 49 3.6.1 Double Exponential Smoothing 49 3.6.2 Implementation of the algorithm in Java 51
References 53
viii
LIST OF TABLES
Table No. Title Page
Table 2.1 Summary of Existing Solutions and Comparison 13
Table 2.2 Comparison of Related Visualisation Fields 17
Table 3.1 Data Dictionary for "account_authentication" entity in ERD 47
Table 3.2 Data Dictionary for "account_role" entity in ERD 47
Table 3.3 Data Dictionary for "item_listing" entity in ERD 48
Table 3.4 Data Dictionary for "inventory_listing" entity in ERD 48
Table 3.5 Data Dictionary for "sales_history" entity in ERD 48
Table 3.6 Data Dictionary for "restock_history" entity in ERD 49
ix
LIST OF FIGURES
Figure No. Title Page
Figure 2.1 Data Visualisation Process 16
Figure 2.2 Front Store and back store distribution of articles over time 19
Figure 2.3 Information visualisation evaluation by purchasing and sales (incl. visual merchandise) departments 20
Figure 2.4 Total number of guest visiting the Republic of Macedonia from 2012-2016 in a quarterly interval (Ivanovski, Milenkovski, & Narasanov, 2018) 25
Figure 2.5 Result of Forecasting using Weighted Moving Average Model (Ivanovski, Milenkovski, & Narasanov, 2018) 26
Figure 2.6 Comparison between Forecasted Number and Actual Number of the Visitor in 2017 (Ivanovski, Milenkovski, & Narasanov, 2018) 26
Figure 2.7 Jute Yarn Demand Data from the year 2010 to 2013 (Karmaker, Halder, & Sarker, 2017) 27
Figure 2.8 Comparison Between Forecasted Sales and Actual Sales Number (Karmaker, Halder, & Sarker, 2017) 28
Figure 3.1 Kanban 29
Figure 3.2 Incremental Model 30
Figure 3.3 Architectural design of S-IMS 38
Figure 3.4 Use Case Diagram of S-IMS 40
Figure 3.5 Data Flow Diagram (Level 0) of S-IMS 44
Figure 3.6 Data Flow Diagram (Level 1) of S-IMS 45
Figure 3.7 ERD of S-IMS 46
Figure 3.8 Code Snippet of Double Exponential Smoothing in Java 51
Figure 3.9 Code Snippet of Double Exponential Smoothing in Java 52
x
LIST OF ABBREVIATIONS
GAAP Generally Accepted Accounting Principles
JIT Just In Time
JIC Just In Case
MRP Material Requirement Planning
EOQ Economic Order Quantity
DSI Days Sales of Inventory
SKU Stock Keeping Unit
KPI Key Performance Indicator
SME Small and Medium-Sized Enterprise
WIP Work In Progress
IEEE Institute of Electrical and Electronics Engineers
API Application Programming Interface
HTTP Hypertext Transfer Protocol
ERD Entity Relationship Diagram
1
CHAPTER 1
INTRODUCTION
1.1 Introduction
Inventory management is the general process of monitoring the flow of items into and
out of the inventory of an existing business. This process usually involves two major
types of operation: transferring units into the inventory to ensure all the items in the
appropriate stock count for business fluency and transferring out the items out from the
inventory for sales. According to Generally Accepted Accounting Principles (GAAP),
the primary framework for financial accounting standards, inventory is a current asset.
In particular, inventory represents "tangible personal property which is held for sale in
the ordinary course of business; are in the production process for such sale; or, are to be
currently consumed in the production. In other words, inventory (in the form of "work-
in-process", "raw materials" or finished goods") is an asset because it represents a
property that is likely to be converted to revenue, as the ultimate goal of inventory is to
facilitate sales for an organisation. (Waller & Esper, 2014)
Inventory is an essential asset to carry out the business's normal activities, which
involves satisfying demand by providing supply, especially if the sales activity of the
business is product-based, such as businesses in the retail industry. It is an essential
asset because inventory's turnover rate represents one of the primary sources of revenue
or profit generation and subsequent earnings for the business. In retail, manufacturing,
food service and other inventory-intensive industry, finished products are the core of its
2
business. A shortage of inventory when it is needed, or it is in demand lead by a wrong
strategy made in inventory management can be fatal to a business.
3
1.2 Problem Statement
Managing the inventory of a business can be a tedious task, especially if it is done
manually. It is ineffective and inefficient, and poor inventory management is among the
top reasons why small business fail.
For businesses with complex supply chain, balancing the risks of inventory gluts and
the out-of-stock situation is especially difficult. To achieve that, existing solutions of
inventory management system often implement few major methods to do the task in
managing inventory, such as Just-In-Time (JIT), Just-In-Case (JIC), Material
Requirements Planning (MRP), Economic Order Quantity (EOQ), Days Sales in
Inventory (DSI) and qualitative analysis of inventory.
The Just-In-Time (JIT) method is a management strategy that aligns raw-materials order
from supplier with the production or manufacturing schedules. This strategy involves
ordering and receiving inventory for production and customer sales only as it is needed
to produce finished goods, and not before. The benefits of this strategy are to increase
efficiency and decrease waste by receiving inventory only as they need then for the
manufacturing process, which reduces inventory costs. It provides many benefits, but
is not without its downsides, because of the nature that inventory for production is
ordered on an as-needed basis, it relies heavily on factors such as a strong, fast and
efficient network of suppliers. If a raw materials supplier has a breakdown and cannot
deliver the ordered inventory on time, this could stall the business's entire production
line. Besides that, JIT inventory management strategy can be risky, if demand
unexpectedly spikes, the manufacturer may not be able to secure the inventory it needs
to meet that demand, causing an outage and damaging its reputation with customers.
4
In contrast, Just-In-Case (JIC) method is a strategy that keeps large inventories on hand
to minimise the probability that a product will sell out of stock. A business practising
this strategy essentially incurs a great amount of cost at holding the inventory in the
warehouse in return for a reduction in the number of sales lost due to sold-out-inventory.
Besides that, complex data in the form of rows and columns are difficult for end-users
to digest. Keeping track of several spreadsheets is difficult and complex data in
spreadsheets are difficult to process, let alone garner insights on a business's
performance.
An inventory management system's main goal is to avoid a business having overstock
and understock situation to ensure the business is running without issues and prevent
unnecessary loss on revenue. For example, in the case of a business whose main activity
is retailing a broad range of food products with relatively short shelf life, an overstocked
scenario of these items will result in a direct loss since expired items have to be castoff.
Understocking items, on the other side, causing a loss in revenue because of losing
potential sales. Effective inventory management can generate more sales for the
company, which directly affects the company's performance. (Mohamad, Suraidi,
Rahman, & Nabihah & Suhaimi, 2016) An effective inventory management system
should be able to present a visualisation of data to facilitate business owner on doing
better decision making and able to do demand forecasting, so a business can have a
suitable amount of inventory on hand to handle demand while not losing potential sales
due to out-of-stock.
5
1.3 Objectives
The objectives of this project are as following:
• To study the current issues and requirements in the conventional inventory
management system.
• To design a web-based inventory management system that digitalises the
process of inventory management.
• To develop the web-based inventory management system.
6
1.4 Scopes
The project's scope is to develop a web-based inventory management system designed
to help convenience stores digitalise the process of managing inventory, monitoring the
stock count for each product in the inventory to ensure that every product has sufficient
quantity to handle the demand. Besides that, the system is designed to provide data
visualisation to support executive decision-making and demand forecasting to make
inventory replenishment decisions.
a) Inventory Administrator
i. Inventory Administrator can log in into the system.
ii. Admin can view the metrics/KPIs in a visual form, which the
data will be presented in a line graph or pie chart form.
iii. Admin can view the demand forecasting on each product in
the inventory, showing the product's forecasted demand in
the near future.
b) Inventory Manager
i. Inventory Manager can log in into the system.
ii. Inventory Manager can perform CRUD operations on
products in the system.
iii. Inventory Manager can perform restocking operation on
products in the system.
iv. Inventory Manager can view the demand forecasting on each
product in the inventory, showing the product's forecasted
demand in the near future.
7
1.5 Limitation of Work
Usage of this inventory system requires an internet connection, therefore if there is an
internet outage happened, end-user would be unable to access the web-based inventory
management system for the period of that internet outage.
Besides that, the demand forecasting functionality of this inventory management system
would require historical sales data, for example in order to predict the demand for a
product in the inventory for the next three months, at least three months of historical
sales data of that product would be required to perform the forecasting. This
requirement of having historical data would make the system unsuitable for new-
opening business or business that do not store historical sales data digitally.
The data visualisation functionality would have a similar requirement with the demand
forecasting. Metrics or KPIs need a certain range of periodical data in order to present
the insights on the inventory in visual form to end-users.
8
1.6 Expected Result / Contribution
Based on this project's objectives, the expected outcome would be an inventory
management system equipped with functionalities of data visualisation and demand
forecasting would be developed.
To the end-user of the system such as inventory manager of a business, can manage the
inventory effectively, able to have insights of the inventory without the need to digest
complex information involving rows and columns of data in a spreadsheet, With the
help of data visualisation, this kind of information will be presented in an intuitive form
which is in a visual form such as line graph or pie chart.
Lastly, helping the end-user of the system to make a decision on restocking with the
demand forecasting functionality.
9
1.7 Report Structure
This report's body consists of four chapters, Chapter 1 giving an overview of an
inventory management system, problem statement, the objectives of this project, the
limitation of work of this project, and the expected result of this project. Then, Chapter
2 discusses the literature review of the subjects involved in this project, the current
inventory management systems in the market, and a comparison among these existing
solutions. Chapter 2 also discusses data visualisation, including its importance, the data
visualisation process, the significance of data visualisation in support of executive
decision-making, and the tools capable of doing it, continuing with an introduction to
demand forecasting and its and case study on these techniques. Chapter 3 discuss the
methodology used in this project, including the software development methodology, its
justification, requirement analysis process, the system design and the algorithms.
10
CHAPTER 2
LITERATURE REVIEW
2.1 Introduction
This chapter would discuss the existing solutions and techniques related to the
development of this inventory management system, S-IMS.
Section 2.2 would be comparing the existing solution and discussing their strengths and
weaknesses. In Section 2.3, we would discuss the overview of visualisation, the
importance of data visualisation, data visualisation process, how it acts as a support in
executive decision-making, and tools available in the market to do data visualisation.
Lastly, Section 2.4 would discuss the overview of forecasting, demand forecasting,
techniques that can be implemented into the system to do demand forecasting for a
product in the inventory and finally, some case study on these techniques.
2.2 Existing Solutions
This section will be looking at some existing solutions available in the market, a brief
introduction on their capabilities or features offered. Lastly, in Subsection 2.2.4
Summary of Existing Solutions and Comparison would give an overview of their
features and compare these existing solutions.
11
2.2.1 eStockCard
eStockCard by Chronos is an inventory system with barcode tracking for SMEs to
manage sales, purchasing and warehouse inventory operations. It can help improve
business's inventory accuracy, reduce stock holding, track item shelf life and FIFO
usage, improve sales picking & invoicing process, reduce purchasing workload, and
alert the person-in-charge for any inventory abnormality detected. (Chronos Process
Integration, 2018)
Features of eStockCard:
• Manage Incoming Stocks
• Manage Outgoing Stocks
• Barcode Labelling
o Details on products can be checked by scanning the
barcode label generated by the system, helping in product
tracking and management.
• Data Backup
• Report Generation
o Report generation to help in analyse and control the
inventory effectively.
• Bin Management
o Bin management can help in quickly identify and track
the physical locations of the inventory items in the store
or warehouse. The system shows the inventory location
using the Location Code.
12
2.2.2 QNE Inventory Version
QNE Inventory Software allows users to manage their inventory easily like creating
invoices, invoice management, stock balance management, goods management, goods
category management, staff records management and staff permission management,
backup and restore stock. (QNE, 2017)
Features of QNE Inventory
• Password Protection
o Every user in QNE Inventory should log in with their
username and password with the authorised access right.
• Powerful Search Engine
o Search all the details of a customer. For example,
customer name, phone number, contacts person, fax,
current balance, area, salesman.
• Support six costing method.
o FIFO, LIFO, Weighted Average, Last Purchase Price and
FIFO with the future cost.
• Multi-level Access Control
o QNE uses multi-level access control to further control the
user accessibility to each modulus of QNE. Different
kind of users will be given different access rights to use
QNE, thus providing higher security control.
2.2.3 SAGE UBS Inventory and Billing
UBS Inventory and Billing software which handles all kinds of inventory transactions
and stays up-to-date with stock. Through the simple order entry module, it generates
13
the Sales Order, Purchase Order, Delivery Order, Invoices, Credit and Debit Notes.
UBS Inventory and Billing software include the bill of the material, and it uses cost
valuation methods such as Fixed Cost, FIFO, Monthly Moving Average and Moving
Average. It also has different levels of security for user access. (iDynamics, 2020)
Features of SAGE UBS Inventory and Billing
• Different levels of data access security
• Multi-Currency Transactions entry
• 14-character stock code
• Supports graded stocks
• Track the reorder quantities and generate a forecast based on the
order
• Invoice
• Sales Order
• Transaction Summary by the quantity
• Location Stock Card
• Stock Aging Report
2.2.4 Summary of Existing Solutions and Comparison
Table 2.1 below shows the summary of existing solutions mentioned in the previous
subsection and compares these solutions.
Table 2.1 Summary of Existing Solutions and Comparison
Advantages Disadvantages Similarities
eStockCard Barcode labelling on batch Data backup
Report generated is in spreadsheet form.
Managing inventories Password protection
14
Report generation Bin management
Without data visualisation. No functionality on demand forecasting
QNE Inventory Version
Multi-level access level Equipped with a powerful search engine Six costing method available Data exporting features
No demand forecasting Report generation with limited visual form support focused on invoice and sales.
Managing inventories Password protection
SAGE UBS Inventory and Billing
GST compliance SMS alert Data backup
No demand forecasting
Managing inventories Password Protection Data visualisation
2.3 Data Visualisation
In this section, we would take a look at what visualisation is, its importance and tools
available in the market to do data visualisation.
2.3.1 What is Visualisation
Definition of visualisation is "the process of representing data as a visual image,"
(Latham, 1995) The purpose of visualisation is not to replace good solid quantitative
analysis, but instead to allow the quantitative analysis to be focussed. Visualisation of
data allows decision-makers to user their natural spatial/visual abilities to find the
information in the data.
2.3.2 Importance of Data Visualisation
Data visualisation is critical to fulfilling widely held goals for expending the
organisation's analytics culture and driving more decisions with data. Across
organisations, employees who are subject matters experts in areas such as marketing,
customer service, online engagement, finance and more need to interact with data and
15
analyse it for significant patterns, trends and anomalies. Data visualisation can
contribute significantly to the fruitful interpretation and sharing of insights from
analytics, enabling non-technical SMEs to perform data discovery in a self-directed
fashion. Implementation of chart engine and the growth of number and variety of
visualisation available in graphic libraries are supporting new sophistication in visual
analysis, allowing users to go beyond simple bar and pie charts to express more
advanced insights about quantitative information. (Stodder, 2013)
"Graphics reveal data," wrote Edward Tufte in his seminal work, The Visual Display of
Quantitative Information. "Indeed, graphics and be more precise and revealing than
conventional statistical computation." (Tufte, 2001) Phycologists and brain scientists
have extensively studied how humans respond to visual stimuli and how we use short-
term and long-term memory to bring previous experiences to bear on the processing of
information. "We acquire more information through vision than through all of the other
senses combined." Our visual system, a flexible pattern finder, coupled with an adaptive
decision-making mechanism, a visualisation of data has become an external artefact
support decision making. (Ware, 2004)
One of the most significant benefits of data visualisation is the sheer quantity of
information that can be rapidly interpreted if it is presented well. (Ware, 2004)
16
2.3.3 Data Visualisation Process
Figure 2.1 Data Visualisation Process
As shown in Figure 2.1, the first step in the visualisation process is to acquire data from
various sources, data collected from heterogeneous sources may be unstructured/semi-
structured, so it has to be parsed into a structured format. All the data may not be
necessary for visualisation; the next step is to filter out the unimportant data. Useful
patterns are then extracted and represented in the form of charts and graphs so as to
reveal hidden information. (Chawla, Bamal, & Khatana, 2018)
2.3.4 Data Visualisation in Support of Executive Decision Making
Over time, and as information technology has evolved, increasing volumes of data have
been generated from varying sources, creating a data explosion (McAfee &
Brynjolfsson, 2012) which has resulted in increased organisational anxiety on how to
effectively manage it for beneficial use, such as formulating, implementing strategic
decisions.
According to Jack G Zheng (2017), business data visualisation has some unique features
compared to some related fields or methods that also utilise general visualisation
techniques including information visualisation, illustration, scientific visualisation and
simulation.
Data Acquisition
Parsing and Filtering
Mining Hidden
PatternsRefinement Data
Visualisation
17
Table 6.1 Comparison of Related Visualisation Fields (Zheng, 2017) is shown in Table
2.2 below.
Table 2.2 Comparison of Related Visualisation Fields
Content Visual Forms/Tools Purpose
Business Data Visualisation
Quantitative data, metrics, KPIs
Charts, Diagrams, Dashboards
Data exploration, analysis, decision-making
Information visualisation
All kinds of information, quantitative and qualitative
Infographics, illustrational, diagrams
Information seeking, artistic illustration, casual communication, storytelling
Illustration
Processes, structures concept, ideas
Diagram, image, graphics
Making the content more vivid and engaging, easier to understand the complexity
Scientific visualisation
Real-world object or phenomenon, mathematical, functions and formulas
Computer-generated graphics, 3D virtual reality
Recreate or simulate the real-world object or phenomenon, or visualise an algorithm effect.
Simulation
Calculated data based on formulas or rules
Animated diagram or virtual reality
Demonstrate the effect of scenarios under certain rules
Dashboard, a term originally came from operational status monitoring on machines
which provides a visual display for quick reading. It has been expanded to a
visualisation of digital data associated with business performance on screens.
The data on the dashboard primarily consists of metrics, KPIs and textual information.
Metrics are numerical values that measure various aspects of the business activities; a
KPI is a metric that compares to its target and other comparable benchmarks
(performance intervals, historical periods or industry averages) (Barr, 2009) A well-
designed dashboard allows decision-makers to see the most relevant data that reflects
18
business status and support a decision. It is a highly summarised and centralised
snapshot that saves a user's time by eliminating the need to run multiple reports or get
data through different sources. It also allows the user to understand data and respond
promptly at one place quickly.
A few researchers have done a research to illustrate how, for a major European apparel
retailer, the visualisation of performance information plays a critical role in improving
business decisions and extracting insights from Radio-Frequency Identification (RFID)
based performance measures. (Al-Kassab, Ouertani, Shciuma, & Neely, 2017)
This paper highlighted three fundamental managerial functions of information
visualisation, namely as: a communication medium, a knowledge management means,
and a decision-support instrument. We would only discuss the function of information
visualisation as a decision-support instrument here, as it is the topic concerned with this
project.
A decision-support instrument, this managerial function of information visualisation is
illustrated through two different examples, provided to evidence the benefit of
information visualisation, based on real industrial case evidence. One of the examples
is discussed in Section 2.3.4.1 Example 1:Inventory Management
2.3.4.1 Example 1: Inventory Management
The collected data can be used to calculate the back store and front store inventory
levels on an article group level – in real-time as well as for any given point of time. A
list can be generated for an article group, for each day of the year and be plotted (see
Figure 2.2). (Al-Kassab, Ouertani, Shciuma, & Neely, 2017) This analysis and its
19
information visualisation support the retailer in reducing the number of "out-of-shelf
but in stock" or "stock-out" situations, which are responsible for lost sales and reduced
customer satisfaction.
Figure 2.2 Front Store and back store distribution of articles over time
As outlined by the example above, the visualisation of information has provided
managerial function to support business performance management in the department
store. Two workshops are later then conducted with managers of the retailer's holding
company. The managers agreed that the new level of transparency, conveyed by
traditional and innovative visualisation techniques, supported them from moving from
an experienced-based to fact-based decision making.
Figure 2.3 below (Al-Kassab, Ouertani, Shciuma, & Neely, 2017) provides an overview
of the qualitative evaluation regarding the importance, usefulness and potential benefits
for the purchasing (P) as well as sales (S; including visual merchandise) departments,
using the following evaluation scheme:
20
Black = absolutely important and beneficial, a major driver for
RFID technology and the corresponding information
visualisation,
Grey = rather important, not a major driver,
White = no important benefit/application for RFID technology
and its information visualisation; just a "follower".
Figure 2.3 Information visualisation evaluation by purchasing and sales (incl. visual merchandise) departments
2.3.5 Tools Available in Market
We will now take a look at some tools in that market that can help in doing data
visualisation.
21
2.3.5.1 D3.js
D3.js is a JavaScript library for manipulating documents based on data. D3 helps the
user to encapsulate data in HTML, SVG and CSS files.
2.3.5.2 FusionCharts
FusionCharts is the most comprehensive JavaScript charting library. FusionCharts
integrates easily with libraries like jQuery, frameworks like AngularJS and React and
languages like ASP.Net and PHP.
2.4 Demand Forecasting
The predictability of an event or a quantity depends on several factors, including:
i. how well we understand the factors that contribute to it;
ii. how much data is available
iii. whether the forecasts can affect the thing that we are trying to forecast.
Forecasting situations vary widely in their time horizons, factors determining actual
outcomes, types of data patterns, and many other aspects. Forecasting methods can be
simple, such as using the most recent observation as a forecast (which is called the naive
method), or highly complex, such as neural networks and econometric systems of
simultaneous equations. (Hyndman & Athanasopoulos, 2018)
Quantitative forecasting can be applied when two conditions are satisfied:
i. numerical information about the past is available
22
ii. it is reasonable to assume that some aspects of the past patterns will
continue into the future.
Most quantitative prediction problems use either time-series data (collected at regular
intervals over time) or cross-sectional data (collected at a single point of data).
2.4.1 What is demand forecasting
Forecasting the demand for the products generally hinges on the product characteristics
and industry's properties. (Kolassa & E.Siemsen, 2016) For example, demand
forecasting in the apparel and footwear industry is extremely challenging due to the
volatile demand, strong seasonality.
Forecasting product demand is crucial to any supplier, manufacturer, or retailer.
Forecasts of future demand will determine the quantities that should be purchased,
produced, and shipped. Most firms cannot merely wait for demand to emerge and then
react to it.
2.4.2 Forecasting Data and Methods
In this subsection, we would discuss the approaches that can be used to do forecasting
on data.
2.4.2.1 Time Series Approaches
Time series procedures are applied to demand data that are longitudinal rather than
cross-sectional. That is, the demand data represent the experience that is repeated over
time rather than across items or locations. The approach's essence is to recognise ( or
assume) that demand occurs over time in patterns that repeat themselves, at least
23
approximately. If we can understand the pattern, then we can use this to form the basis
of a forecast.
• The Simple Moving Average In a moving average, the forecast would be calculated as the
average of the last "few" observations as illustrated in Equation
1 below. If we let M equal to the number of observations to be
included in the moving average, then:
Equation 1 Simple Moving Average
Equations 1 shows the formula for Simple Moving Average.
• The Weighted Moving Average
In a weighted moving average, we will place relatively more
emphasis on recent data and relatively less emphasis on less
current experience or observations. Equation 2 below shows the
equation of the weighted moving average.
Equation 2 Weighted Moving Average
where the last M observations are averaged together, but they are
not given equal weight in the average.
• Simple Exponential Smoothing
24
In a simple exponential smoothing, we make a forecast for the
next period by forming a weighted combination of the last
observation and the last forecast. Equation 3 below shows the
equation for simple exponential smoothing.
Equation 3 Simple Exponential Smoothing where α is a parameter called the "smoothing coefficient". Values
of α are restricted such that 0 < α < 1. In this form, α can be
interpreted as the relative weight given to the most recent data in
the series. For example, if an α of 0.2 is used, each successive
forecast consists of 20% "new" data and 80 "old" data, since the
prior forecast is composed of recursively weighted combinations
of prior observations.
2.4.3 Case Study
A case study is carried out in this subsection and discusses a few cases that used
approaches mentioned in the previous subsection to do the forecasting.
2.4.3.1 Moving Average Model
Few researchers have used the Moving Average Model to perform the time series
forecasting. (Ivanovski, Milenkovski, & Narasanov, 2018)
They have analysed quarterly for the total number of guests for the five-year period
from 2012-2016 that have visited the Republic of Macedonia and done a forecast using
25
Weighted Moving Average model on the number of guests who will visit the Republic
of Macedonia in next year. Figure 2.4 shows the total number of guests visiting the
Republic of Macedonia from 2012 to 2016 in a quarterly interval. Figure 2.5 shows the
result of the forecast using the model. Figure 2.6 shows the comparison between the
forecasted number and the actual number of visitors in the year 2017.
Figure 2.4 Total number of guest visiting the Republic of Macedonia from 2012-2016 in a quarterly interval (Ivanovski, Milenkovski, &
Narasanov, 2018)
26
Figure 2.5 Result of Forecasting using Weighted Moving Average
Model (Ivanovski, Milenkovski, & Narasanov, 2018)
Figure 2.6 Comparison between Forecasted Number and Actual
Number of the Visitor in 2017 (Ivanovski, Milenkovski, & Narasanov, 2018)
2.4.3.2 Simple Exponential Smoothing
A few researchers used various models on predicting and forecasting in a real case
demonstration. A practical case study on Akij Jute Mills, Akij Group Ltd in Noapara,
Jessore was conducted. (Karmaker, Halder, & Sarker, 2017) Eight forecasting methods
were used, and one of the methods are using Simple Exponential Smoothing model.
27
They used the model to forecast the jute yarn demand using demand data from 2010 to
2013. Figure 2.7 below shows the jute yarn demand data from 2010 to 2013. Then
Figure 2.8 shows the comparison of the forecasted sales numbers and the actual sales
numbers.
Figure 2.7 Jute Yarn Demand Data from the year 2010 to 2013 (Karmaker, Halder, & Sarker, 2017)
28
Figure 2.8 Comparison Between Forecasted Sales and Actual Sales
Number (Karmaker, Halder, & Sarker, 2017)
29
CHAPTER 3
METHODOLOGY
3.1 Introduction
This chapter will be discussing the methodology used for the project development
lifecycle, which is all the phases of planning, designing, developing and testing. Various
diagrams would be used to illustrate the data flow of the system, processes in the system
such as Use Case Diagram, Data Flow Diagram, Entity Relationship Diagram, etc.
3.2 Software Development Life Cycle
The methodology that will be used to the software development life cycle is a hybrid of
Personal Kanban and incremental model. Figure 3.1 below shows how a Kanban looks
like.
Figure 3.1 Kanban
Backlog Planning/Design Developing Testing Done
30
In a Kanban system, there are a fixed number of cards (Kanban) which corresponds to
the decided capability of cards in the system. Each card represents one piece of work.
When a card is available, the free card adds a piece of work which sticks with it through
the whole system. If there are no available cards, no more pieces of work can be started
until another card is free. When a piece of work is done, the card is recycled, and a new
piece of work can be attached and put into the queue to go into the system. This kind of
system is called a pull-system since new pieces of work are pulled in the system when
they can be handled.
Then, we will talk about the incremental model. Figure 3.2 below illustrates the overall
structure of an incremental model.
Figure 3.2 Incremental Model
In an incremental model. the cost of accommodating changing requirements is reduced.
The amount of analysis and documentation that has to be redone is much less if
31
compared to other models such as the waterfall model. Further elaboration on the phases
of this methodology will be discussed in Subsection 3.2.1 Phases.
3.2.1 Phases in Software Development Methodology
This subsection will discuss the phases in the software development methodology
mentioned, which is the incremental model.
3.2.1.1 Requirements Gathering
Requirement gathering is the first step in the methodology. Requirements are collected
to help define the project scope. Requirements are the expectations of the project's
outcomes. Therefore, it needs to be collected accurately so that this project's deliverable
would satisfy the needs or expectations. Further details on the requirements analysis,
such as the methodology of doing so will be discussed in Section 3.4 Requirement
Analysis Process.
3.2.1.2 Architecture Design
The system's requirements should transform into an architecture that describes the
system's top-level structure and identifies its components. This is established through
architectural design which acts as the preliminary "blueprint" from which system can
be built.
32
Institute of Electrical and Electronics Engineers (IEEE) defines that architectural design
as the "process of defining a collection of hardware and software components and their
interfaces to establish the framework for the development of a computer system."
Further details on the architecture design of the system will be discussed in Subsection
3.5.2 Architecture Design
3.2.1.3 Iterations of Analysis/Design, Development and Testing
The incremental model's core idea is that it is a process of software development where
requirements are divided into multiple stand-alone modules of the software
development life cycle. When a module is developed, the first increment of the system
is built. In this model, each increment goes through the analysis/design, developing and
testing phases. Every subsequent increment adds new functions or modules to the
previous increment. The iteration goes on until the complete system is developed based
on the requirement specifications established.
White box testing approach is used in the testing phase in each increment. It inspects
and verifies the inner workings of the system. Two forms of white box testing are used,
which is the unit testing and integration testing. Unit testing's main objective is to test
that each module or components are working as expected, and integration testing checks
integration points between internal modules or components in the system.
33
3.2.1.4 Validation
Validation is done to determine if the system complies with the requirements
specification and performs functions for which it is intended and meet the requirements
and needs.
3.2.1.5 Delivery
The final phase of the model, the system is developed completely with its functionality
meets with the requirement specifications established. The system is ready to put into a
production environment or production-ready, capable of solving stakeholder's needs.
3.3 Justification for Methodology
Kanban is a Japanese word meaning a signboard, and it is used in manufacturing as a
scheduling system. It is a flow control mechanism for pull-driven JIT production, in
which the downstream process demand signals trigger the upstream processing
activities. The Kanban method is software development was originated in 2004 when
David J. Anderson was assisting a small IT team at Microsoft that was operating poorly.
The Kanban method in software development drives teams to visualise the work
workflow, limit Work-In-Progress (WIP), and provides visibility to the software
process. (Ahmad, Markkula, & Oivo, 2013) Kanban is implemented on top of the
incremental model as a mean of managing the workflow.
An incremental model is a process where the system's requirements are broken down
into multiple modules that serve its own functionality. Incremental development is done
in steps that consist of planning, analysis/design, development and testing. Each
34
iteration passes through the requirements, design, developing and testing phases. And
each subsequent modules that are developed in an incremental fashion by adding
function to the previous increment until all the required modules are developed to
produce the final system which is the deliverable of this project, S-IMS, the inventory
management system.
3.3.1 Workflow Control Using Kanban
Application of Kanban method in software processes is expected to yield certain
positive results. Kanban limits WIP according to team capacity, which balances
demands against the throughput of the team delivered work. It helps to visualise process
problems, decrease defects and maintain a steady flow. (Ahmad, Markkula, & Oivo,
2013)
The visualisation of tasks with Kanban makes it clearer for developers or members in a
team to understand the overall direction of work, and helps them to manage the flow.
The "limit work in progress" principle of the Kanban method minimises context
switching and lead time. It also helps an individual work better as he/she only work on
the assigned tasks and focus only on it. Therefore, resulting in faster delivery and
improvement in the quality of work.
The Kanban method would be used as a "plug-in" with the incremental model for the
whole software development life cycle.
35
3.4 Requirement Analysis Process
Since the beginning of the software engineering era, the inability to produce a complete,
accurate, and unambiguous software requirements remains as one of the major causes
of software development failure.
Therefore, requirement analysis process has become a critical process in the software
engineering field and an essential part of successful software development. To perform
requirement analysis, we must first understand what a requirement is. IEEE defines a
requirement as the following:
i. A software capability needed by the user to solve a problem or achieve an
objective.
ii. A software capability that must be met or possessed by a system or system
component to satisfy a contract, specification, standard, or other formally
imposed documents.
The requirement analysis process is broken into a number of phases. It consists of five
main activities which are, requirement elicitation, requirement analysis, requirement
specification, requirement verification and requirement management. (Thayer &
Dorfman, 1997) Requirement elicitation would be discussed on Subsection 3.4.1
Requirement Elicitation, then requirement analysis on Subsection 3.4.2 Requirement
Analysis, lastly requirement specification on Subsection 3.4.3 Requirement
Specification. Requirement verification and requirement management are omitted for
the sake of simplicity.
36
3.4.1 Requirement Elicitation
Requirement elicitation is the practice of researching and discovering the requirements
of a system from the stakeholders. This practice is sometimes called "requirement
gathering".
The requirement elicitation was done by carrying out brainstorming session and analysis
on existing solutions in the market.
3.4.2 Requirement Analysis
The requirements gathered from the requirements gathering phase are analysed to see
if it is fit to use to develop the system.
Firstly, the requirements gathered are analysed against existing solutions in the market
to determine which requirements are essential in developing an inventory management
system.
3.4.3 Requirement Specification
Requirement specification can be view as the representation process after the analysis
process.
The summary of the functional requirements of the system is as follows:
i. The system shall allow the inventory administrator and inventory manager to
log in to the system.
37
ii. The system shall allow the inventory administrator and inventory manager to
log out from the system.
iii. The system shall allow the inventory administrator to view the metrics/KPIs and
the overview of the inventory.
iv. The system shall allow the inventory administrator and inventory manager to
view the listing of items in the inventory.
v. The system shall allow the inventory administrator and inventory manager to
view an item's details with its turnover rate, days in inventory, and the forecasted
demand for the item.
vi. The system shall allow the inventory manager to add a new item into the
inventory.
vii. The system shall allow the inventory manager to edit or update an existing item
in the inventory.
viii. The system shall allow the inventory manager to remove an existing item from
the inventory.
ix. The system shall allow the inventory manager to restock for an item in the
inventory.
38
3.5 System Design
In this section, we would discuss the system's design in various aspects, such as its
architectural structures, the process involved in the system, the data flow in the system,
and the system's logical data model.
3.5.1 Architecture Design
This subsection would be discussing the architectural design of the system. Figure 3.3
below illustrates the architectural design of the system.
Figure 3.3 Architectural design of S-IMS
39
The architecture of S-IMS is a layered architecture. In a layered architecture, the layers
can be used in a strict way, where a layer only know the layer directly beneath it, or in
a more flexible approach where a layer can access any layer beneath it.
First, the front end of S-IMS will be built using Angular, and it communicates with the
backend web application programming interface (API) sending a Hypertext Transfer
Protocol (HTTP) request and receiving a response from it. Client-side endpoints will be
interacting with the system using an internet connection, and the Angular frontend will
be the presentation layer of the system. The presentation layer is responsible for render
the web interface to the users, allowing users to interact with the application and
translating the user's inputs into application commands.
Then, the backend of the system consists of a web API and a database server, the
database server stores all information needed by the system in a centralised fashion.
The web API consists of three-layer, which is the application layer, domain model layer
and persistence layer. The application layer orchestrates Domain Objects to perform the
task required by the user, and the domain layer is the layer that contains all the business
logic. The persistence layer acts as a kind of intermediate layer between a database
server and business logic, allowing easier migration to other database servers, for
example migrating from MySQL server to the PostgreSQL server.
3.5.2 Process Model
This subsection will discuss how the requirements definition and use cases can be
further clarified through a process model. A process model is a graphical way of
representing how a business system should operate. It illustrates the processes or
40
activities that are performed and how data move among them. (Dennis, Wixom, &
Tegarden, 2012)
Figure 3.4 Use Case Diagram of S-IMS
Figure 3.4 above is the use case diagram for S-IMS that model the system's functionality
using actors and use cases. Use cases are a set of action, services, or functions that the
system need to perform. Use case diagram is used to visualise the roles or external
41
entities and how those roles interact with the system. In S-IMS, the actor or external
entity that interact with the system is the inventory administrator and inventory
manager. In this context, we refer the external entities as inventory administrator and
inventory manager, but any role name can be used as long as their responsibilities in the
business are managing the inventory because an actor is not a specific user, but a role
that a user can play while interacting with the system.
There are three use cases connected to the actor of Inventory Administrator through an
association relationship which is as follows:
i. Login
This use case is the process of the system when the user of the system is trying to login
to the system. In the diagram, we can see that it use the functionality of another use case
which is the use case labelled with "verify credentials", it verifies the login credentials
given by the user to determine if the user has the authority to use the system. Besides
that, it extends the functionality of another use case labelled with" login error" which
when the credentials given are invalid, it tells the user that the login attempt failed.
ii. View Inventory
This use case is the process of the system when the user of the system is viewing all the
items in the inventory in a tabular form. It uses the functionality of other four use cases
labelled with "View item", "Turnover rate", "Inventory days", and "Demand
forecasting". The "View item" use case allows the user to view the details of the item,
42
while the other three use cases display their value on the information panel along with
the details of the item.
iii. View Dashboard
This use case is the process of the system when the user of the system is viewing the
dashboard, which displays the metrics or KPIs that shows that performance of the
inventory. It uses the functionality of the other two use cases labelled with "Expenses
on inventory" which shows the total expenses on the inventory of the business and
"Inventory in category" shows all the item in inventory grouped by categories.
There are four use cases connected to the actor of Inventory Manager through an
association relationship which is as follows:
i. Login
This use case is the process of the system when the user of the system is trying to login
to the system. In the diagram, we can see that it use the functionality of another use case
which is the use case labelled with "verify credentials", it verifies the login credentials
given by the user to determine if the user has the authority to use the system. Besides
that, it extends the functionality of another use case labelled with" login error" which
when the credentials given are invalid, it tells the user that the login attempt failed.
43
ii. Manage Inventory
This use case is the process of the system when the user of the system is managing the
inventory of the system. It uses the functionality of other four use cases labelled with
"Add a new item", "Edit/Update an item", "View item", and "Remove an existing item".
iii. View Inventory
This use case is the process of the system when the user of the system is viewing all the
items in the inventory in a tabular form. It uses the functionality of other four use cases
labelled with "View item", "Turnover rate", "Inventory days", and "Demand
forecasting". The "View item" use case allows the user to view the details of the item,
while the other three use cases display their value on the information panel along with
the details of the item.
iv. Restock
This use case is the process of the system when the user of the system is doing restock
on the inventory of the system. It uses the functionality of the other use case labelled
with "Update the quantity of an item" which allow the user to do restocking operation
on the inventory.
44
Figure 3.5 Data Flow Diagram (Level 0) of S-IMS
Figure 3.5 above is the data flow diagram (Level 0) or also known as the context
diagram of S-IMS, which act as a high-level map of the system. The system context
diagram's objective is to focus attention on external factors and events that should be
considered in developing a complete set of system requirements and constraints.
(Kossiakoff, Sweet, Seymour, & Biemer, 2011)
In the diagram, the oval shape is used to represent the external entities which is the
inventory administrator and inventory manager. The rounded rectangle shape is used to
represent the system box, which is the S-IMS. A whole system is represented as a single
process in a context diagram. The diagram shows the input and output flows of data to
and from the system and external entities.
45
Figure 3.6 Data Flow Diagram (Level 1) of S-IMS
Figure 3.6 above is the data flow diagram (Level 1) for S-IMS. There are four symbols
in the data flow diagram language ( processes, data flows, data stores and external
entities) represented by a different graphic symbol. Gane and Sarson style symbols are
used in the data flow diagram above.
3.5.3 Data Model
This subsection would discuss the data model, which is a formal way of representing
the data that are used and created by a business system. The data model in this
subsection is a logical data model which shows the logical organisation of data without
indicating how data are stored, created, or manipulated.
46
Figure 3.7 ERD of S-IMS
Figure 3.7 above is the entity-relationship diagram (ERD) of the system. It shows the
information that is created, stored and used by the system. Crow's Foot notation is used
in the ERD. There is total of six entities in the logical data model, which is
"account_authentication", "account_role", "item_listing", "item_inventory",
"sales_history" and "restock_history".
The data relationship between "account_authentication" and "account_role" is one-to-
any, means that an account can have one or more roles in the system. Then, the data
relationship between "item_listing" and "inventory_listing" is one-to-one, means that
an item in the listing can only have one record in the inventory listing. Then, the data
47
relationship of "item_listing" to "sales_history" and "restock_history" is zero, one or
many, means that an item can have zero, one or many sales records and restock records.
Table 3.1 below is the data dictionary for the "account_authentication" entity in the
logical data model.
Table 3.1 Data Dictionary for "account_authentication" entity in ERD
Attributes Data type Description Example account_id int unique identifier for an
account 1,2,3,...
account_usern varchar(64) unique username for an account, for the login purpose
“inveAdmin1”,”inveManager2”,...
account_passw char(64) hashed password from plaintext
Table 3.2 below is the data dictionary for the "account_role" entity in the logical data
model.
Table 3.2 Data Dictionary for "account_role" entity in ERD
Attributes Data type Description Example account_usern varchar(64) unique username for an
account, for the login purpose
“inveAdmin1”,”inveManager2”,...
role varchar(64) role of the account "Admin"
Table 3.3 below is the data dictionary for the "item_listing" entity in the logical data
model.
48
Table 3.3 Data Dictionary for "item_listing" entity in ERD
Attributes Data type Description Example item_id varchar(255) unique identifier for an item 1,2,3... item_SKU varchar(64) Stock Keeping Unit for an
item “FDSA23123D231”, “JKFD53245R233”,...
item_name varchar(64) Name of the item "SimNong Honey Butter Chips",...
item_dimensions varchar(64) Dimensions of the item in Length(cm) x Width(cm) x Height (cm)
“60x40x50”,...
item_weight numeric(16,5) Weight of the item "2.50"," 4.00",... item_volume numeric(16,5) Volume of the item "1.50"," 3.00",... item_description text Description of the item item_unit_price numeric(16,5) Price of the item per unit "35.80"," 18.90",...
Table 3.4 below is the data dictionary for the "inventory_listing" entity in the logical
data model.
Table 3.4 Data Dictionary for "inventory_listing" entity in ERD
Attributes Data type Description Example item_SKU varchar(64) Stock Keeping Unit for an
item “FDSA23123D231”, “JKFD53245R233”,...
item_inventory_quantity
int4 Quantity of the item in inventory
45,56,90,...
last_restock_date date Date of last restock operation on the item
"2020-12-24",...
stock_level enum Count level of the item in inventory
"Low", "Normal",...
Table 3.5 below is the data dictionary for the "sales_history" entity in the logical data
model.
Table 3.5 Data Dictionary for "sales_history" entity in ERD
Attributes Data type Description Example item_SKU varchar(64) Stock Keeping Unit for an
item “FDSA23123D231”, “JKFD53245R233”,...
sales_date date Date of the sales record "2020-12-24",... sales_time time Time of the sales record "04:05",...
49
sales_quantity int4 Unit quantity of item in the sales record
3,5.6,...
transaction_amount numeric(16,5) Total amount for the sales record
“156.00”,...
Table 3.6 below is the data dictionary for the "restock_history" entity in the logical data
model.
Table 3.6 Data Dictionary for "restock_history" entity in ERD
Attributes Data type Description Example item_SKU varchar(64) Stock Keeping Unit for an
item “FDSA23123D231”, “JKFD53245R233”,...
restock_date date Date of the restock "2020-12-24",... restock_quantity int4 Quantity of the restock
(unit) 12,15,50,...
restock_unit_cost numeric(16,5) Cost of the restock item per unit
“28.80”,”15.40”,...
account_usern varchar(64) unique username for an account, to record who did the restock operation
“inveAdmin1”,”inveManager2”,...
3.6 Algorithms
In this project, double exponential smoothing method is used as the time series-based
method to forecast the demand for an item in the inventory.
3.6.1 Double Exponential Smoothing
Exponential smoothing is a technique for smoothing time series data using the
exponential window function. Exponential functions are used to assign exponentially
decreasing weights on past observations over time. Simple exponential smoothing does
not do well when there is a trend in the time series data. To solve this, recursive
application of an exponential twice, thus the name of "double exponential smoothing".
50
The basic idea behind this method is to introduce a term to take into account the
possibility of a series exhibiting some form of trend. The slope component is itself
updated via exponential smoothing.
The raw time series data is represented by 𝑦𝑦𝑡𝑡, beginning at 𝑡𝑡 = 0. 𝑆𝑆𝑡𝑡 is used to represent
the smoothed value for time 𝑡𝑡 and 𝑏𝑏𝑡𝑡 is the best estimate of the trend at time 𝑡𝑡. The
output of the algorithm is now written as 𝐹𝐹𝑡𝑡+𝑚𝑚 an estimate of the value of 𝑦𝑦𝑡𝑡+𝑚𝑚 at time
𝑚𝑚 > 0 based on the raw time series up to time 𝑡𝑡.
There are two equations associated with double exponential smoothing.
𝑆𝑆𝑡𝑡 = 𝛼𝛼𝑦𝑦𝑡𝑡 + (1 − 𝛼𝛼)(𝑆𝑆𝑡𝑡−1 + 𝑏𝑏𝑡𝑡−1)
where 0 ≤ α ≤ 1 is the level smoothing factor.
𝑏𝑏𝑡𝑡 = 𝛽𝛽(𝑆𝑆𝑡𝑡 − 𝑆𝑆𝑡𝑡−1) + (1 − 𝛽𝛽)𝑏𝑏𝑡𝑡−1
where 0 ≤ β ≤ 1 is the trend smoothing factor.
The m-period-ahead forecast is given by
𝐹𝐹𝑡𝑡+𝑚𝑚 = 𝑆𝑆𝑡𝑡 + 𝑚𝑚𝑏𝑏𝑡𝑡
51
3.6.2 Implementation of the algorithm in Java
The double exponential smoothing algorithm is then implemented in Java.
Figure 3.8 Code Snippet of Double Exponential Smoothing in Java
Figure 3.15 above implemented the equations associated with double exponential
smoothing in Java.
𝑆𝑆𝑡𝑡 = 𝛼𝛼𝑦𝑦𝑡𝑡 + (1 − 𝛼𝛼)(𝑆𝑆𝑡𝑡−1 + 𝑏𝑏𝑡𝑡−1)
where 0 ≤ α ≤ 1 is the data smoothing factor.
52
𝑏𝑏𝑡𝑡 = 𝛽𝛽(𝑆𝑆𝑡𝑡 − 𝑆𝑆𝑡𝑡−1) + (1 − 𝛽𝛽)𝑏𝑏𝑡𝑡−1
where 0 ≤ β ≤ 1 is the trend smoothing factor.
Figure 3.9 Code Snippet of Double Exponential Smoothing in Java
Figure 3.16 above shows how to perform m-period-ahead forecast using the formula of
𝐹𝐹𝑡𝑡+𝑚𝑚 = 𝑆𝑆𝑡𝑡 + 𝑚𝑚𝑏𝑏𝑡𝑡
53
REFERENCES
Ahmad, M. O., Markkula, J., & Oivo, M. (2013). Kanban in Software Development: A Systematic Literature Review. Software Engineering and Advanced Applications (SEAA), 9-16.
Al-Kassab, J., Ouertani, Z. M., Shciuma, G., & Neely, A. (2017). Information Visualisation to Support Management Decisions. International Journal of Information Technology & Decision Making, 407-428.
Barr, S. (2009, November 2009). What Does "KPI" Really Mean? Retrieved from Dashboard Insight: www.dashboardinsight.com/articles/digital-dashboards/fundamentals/what-does-kpi-really-mean.aspx
Chawla, G., Bamal, S., & Khatana, R. (2018). Big Data Analytics for Data Visualsation: Review of Techniques. International Journal of Computer Applications, 37-40.
Chronos Process Integration. (2018). eStockCard Inventory Software. Retrieved from eStockCard Inventory Software: http://www.estockcard.com/
Dennis, A., Wixom, B. H., & Tegarden, D. P. (2012). Systems Analysis and Design: An Object-Oriented Approach with UML. New York: Wiley Publishing.
Grinstein, G., & Ward, M. O. (2001). Introduction to Data Visualization. Information visualisation in data mining and knowledge discovery, 21-45.
Hyndman, R., & Athanasopoulos, G. (2018). Forecasting: Principles and Practice. OTexts: Melbourne, Australia.
iDynamics. (2020). Sage UBS Inventory & Billing. Retrieved from Sage UBS Inventory & Billing: https://idynamics.com.my/sage-ubs-inventory-billing/
Ivanovski, Z., Milenkovski, A., & Narasanov, Z. (2018). TIme Series Forecasting Using A Moving Average Model for Extrapolation of Number of Tourist. UTMS Journal of Econimics, 121-132.
Karmaker, C. L., Halder, P. K., & Sarker, E. (2017). A Study of Time Series Model for Predicting Jute Yarm Demand: Case Study. Journal of Industrial Engineering.
Kolassa, S., & E.Siemsen. (2016). Demand Forecasting for Managers. New York:Business Expert Press.
Kossiakoff, A., Sweet, W. N., Seymour, S. J., & Biemer, S. M. (2011). Systems Engineering: Principles and Practice. Hoboken, N.J. : Wiley-Interscience. doi:10.1002/9781118001028
Latham, R. (1995). The Dictionary of Computer Graphics and Virtual Reality. Springer-Verlag New York.
McAfee, A., & Brynjolfsson, E. (2012). Big Data: The Management Revolution. Harvard Business Review, 60-68.
54
Mohamad, S., Suraidi, S. J., Rahman, N. &., & Nabihah & Suhaimi, R. (2016). A Study on Relationship between Inventory Management and Company Performance: A Case Study of Textile Chain Store. Journal Of Advance Management Science, 299-304.
QNE. (2017). QNE-Malaysia Inventory Software. Retrieved from QNE-Malaysia Inventory Software: https://www.qne.com.my/inventory-software/
Stodder, D. (2013). Data Visualization and Discovery for Better Business Decisions. TDWI Research.
Thayer, R. H., & Dorfman, M. (1997). Software Requirement Engineering. IEEE Computer Society Press.
Tufte, E. R. (2001). The Visual Display of Quantitative Information Second Edition. Graphics Press.
Waller, M. A., & Esper, T. L. (2014). The Definitive Guide to Inventory Management. In M. A. Waller, & T. L. Esper, Principles and Strategies for the Efficient FLow of Inventory Across the Supply Chain (p. 2). Pearson Education, Inc.
Ware, C. (2004). Information Visualisation: Perception for Design Second Edition. Morgan Kaufmann Publishers.
Zheng, J. G. (2017). Data Visualisation for Business Intelligence. Global Business Intelligence.