You are on page 1of 108

National University of Computer and Emerging Sciences

Ecom Predictor

Aanish Amir Waseem…………l16-4144


Muhammad Kamran…..………l16-5446
Waleed Ahmad.……………….l16-4053
Tayyab Ali……………………l16-4336

Supervisor: Dr. Saira Karim

B.S. Computer Science


Final Year Project
April 2020
Anti-Plagiarism Declaration
This is to declare that the above publication produced under the:

Title: Ecom Predictor


is the sole contribution of the author(s) and no part hereof has been reproduced on as it is
basis (cut and paste) which can be considered as Plagiarism. All referenced parts have been
used to argue the idea and have been cited properly. I/We will be responsible and liable for
any consequence if violation of this declaration is determined.

Date: 03-June-2020
Student 1
Name: Aanish Amir Waseem

Signature: _______________________

Student 2
Name: Muhammad Kamran

Signature: _______________________

Student 3
Name: Waleed Ahmad

Signature: _______________________

Student 4
Name: Tayyab Ali

Signature: _______________________
Table of Contents i

Table of Contents
Table of Contents .................................................................................................................... i
List of Tables ........................................................................................................................ iv
List of Figures ....................................................................................................................... vi
Abstract ...................................................................................................................................... 1
Chapter 1: Introduction .............................................................................................................. 2
1.1 Goals and Objectives ....................................................................................................... 2
1.2 Scope of the Project ......................................................................................................... 2
Chapter 2: Literature Survey / Related Work ............................................................................ 3
2.1 Smart Corp ....................................................................................................................... 3
2.2 Zoho CRM ....................................................................................................................... 4
2.3 Retention Grid.................................................................................................................. 5
2.4 Clari.................................................................................................................................. 6
2.4.1 Usage Scenario..................................................................................................... 6
2.4.2 Inside Working..................................................................................................... 6
Chapter 3: Requirements and Design ........................................................................................ 7
3.1 Functional Requirements ................................................................................................. 7
3.1.1 Functional requirements for users........................................................................ 7
3.1.2 Functional requirements for admin ...................................................................... 7
3.1.3 Functional requirements for automated predictor ................................................ 7
3.2 Non-Functional Requirements ......................................................................................... 8
3.2.1 Performance ......................................................................................................... 8
3.2.2 Sustainability........................................................................................................ 8
3.2.3 Usability ............................................................................................................... 8
3.2.4 Reliable ................................................................................................................ 8
3.3 Hardware and Software Requirements ............................................................................ 9
3.3.1 Hardware Requirements....................................................................................... 9
3.3.2 Software Requirements ........................................................................................ 9
3.4 System Architecture ....................................................................................................... 10
3.4.1 Component references........................................................................................ 12
3.4.2 Admin Component ............................................................................................. 13
3.4.3 Client Component .............................................................................................. 14
3.4.4 Automated Predictor .......................................................................................... 15
3.5 Architectural Strategies.................................................................................................. 16
3.5.1 Python, React and Node..................................................................................... 16
3.5.2 Future plans for enhancing software .................................................................. 16
3.5.3 User interface paradigms ................................................................................... 16
3.5.4 Error detection and recovery.............................................................................. 16
3.5.5 Database Storage management .......................................................................... 16
3.6 Use Cases ....................................................................................................................... 17
3.6.1 Registration Customer Account ......................................................................... 17
3.6.2 Login Account.................................................................................................... 18
3.6.3 My Profile .......................................................................................................... 19
3.6.4 Reset Password .................................................................................................. 20
3.6.5 General Visualization......................................................................................... 21
3.6.6 Upload Data ....................................................................................................... 21
3.6.7 Sales Forecast..................................................................................................... 22
3.6.8 Market Basket .................................................................................................... 22
3.6.9 RFM Segmentation ............................................................................................ 23
3.6.10 Customer Lifetime Modeling............................................................................. 24
3.6.11 Uplift Modeling.................................................................................................. 24
3.6.12 Market Response Modeling ............................................................................... 25
3.6.13 Churn Analysis................................................................................................... 25
3.6.14 Change Plan ....................................................................................................... 26
3.6.15 Admin Add Customers ...................................................................................... 26
3.6.16 Admin Delete Customers ................................................................................... 27
3.6.17 Actions ............................................................................................................... 27
3.7 GUI................................................................................................................................. 28
3.8 Database Design............................................................................................................. 40
3.8.1 ER Diagram........................................................................................................ 40
3.8.2 Data Dictionary .................................................................................................. 40
3.9 System Requirements..................................................................................................... 44
3.9.1 Hardware Requirements..................................................................................... 44
3.9.2 Software Requirements ...................................................................................... 44
3.10 Design Considerations ................................................................................................. 44
3.10.1 Assumptions and Dependencies ........................................................................ 44
3.10.2 General Constraints............................................................................................ 45
3.11 Development Methods ................................................................................................. 46
3.12 Class diagram ............................................................................................................... 47
3.13 Sequence diagram ........................................................................................................ 48
3.14 Policies and Tactics...................................................................................................... 58
3.14.1 Python 3.6.8 libraries ......................................................................................... 58
3.14.2 Coding guidelines and conventions ................................................................... 58
3.14.3 Testing the software ........................................................................................... 58
3.14.4 Maintaining the software ................................................................................... 58
3.14.5 Accessing the application................................................................................... 58
Chapter 4: Implementation and Test Cases ............................................................................. 59
4.1 Implementation .............................................................................................................. 59
4.1.1 Holt’s Linear Trend Method .............................................................................. 59
4.1.2 ARIMA model ................................................................................................... 60
4.1.3 Frequent Pattern Algorithm ............................................................................... 60
4.1.4 Segmentation of Customer based on RFM scoring ........................................... 61
4.1.5 Customer Lifetime Value Prediction ................................................................. 62
4.1.6 Uplift Modeling.................................................................................................. 63
4.1.7 Churn Analysis................................................................................................... 64
4.1.8 Market Response................................................................................................ 64
4.2 Test case Design and description ................................................................................... 65
4.2.1 Register Customer Account ............................................................................... 65
4.2.2 Register Customer Account (Alternate-4A) ...................................................... 66
4.2.3 Login Account.................................................................................................... 67
4.2.4 Login Account (Alternative-4A)........................................................................ 68
4.2.5 My Profile .......................................................................................................... 69
4.2.6 My Profile (Alternative-4A) .............................................................................. 70
4.2.7 Reset Password .................................................................................................. 71
4.2.8 Reset Password (Alternate-4A).......................................................................... 72
4.2.9 Reset Password (Alternate-7A).......................................................................... 73
4.2.10 Reset Password (Alternate-7B) .......................................................................... 74
4.2.11 General Visualization......................................................................................... 75
4.2.12 General Visualization (Alternate-4A) ................................................................ 76
4.2.13 Upload Data ....................................................................................................... 77
4.2.14 Upload Data (Alternate-6A)............................................................................... 78
4.2.15 Upload Data (Alternate-7A)............................................................................... 79
4.2.16 Sales Forecast..................................................................................................... 79
4.2.17 Market Basket .................................................................................................... 80
4.2.18 Customer Lifetime Modeling............................................................................. 80
4.2.19 Churn Analysis................................................................................................... 81
4.2.20 RFM Segmentation ............................................................................................ 81
4.2.21 Market Response Modeling ............................................................................... 82
4.2.22 Uplift Modeling.................................................................................................. 83
4.2.23 Change Plan ....................................................................................................... 84
4.2.24 Change Plan (Alternate-8A)............................................................................... 85
4.2.25 Login Account as Admin ................................................................................... 86
4.2.26 Login Account as Admin (Alternate-4A) .......................................................... 87
4.2.27 Admin Adds Customer ...................................................................................... 88
4.2.28 Admin Adds Customer (Alternative-6A)........................................................... 89
4.2.29 Admin Delete Customer..................................................................................... 90
4.2.30 Actions ............................................................................................................... 91
4.2.31 Limit on Data Size ............................................................................................. 92
4.2.32 Load Time .......................................................................................................... 92
4.2.33 Uptime................................................................................................................ 93
4.2.34 Chrome, Firefox Compatibility.......................................................................... 93
4.3 Test Metrics.................................................................................................................... 94
Chapter 5: Experimental Results and Analysis........................................................................ 95
Chapter 6: Conclusion.............................................................................................................. 96
References ................................................................................................................................ 97
List of Tables iv

List of Tables

Table 1: Component references ............................................................................................... 12


Table 2: Registration Customer Account................................................................................. 17
Table 3: Login Account ........................................................................................................... 18
Table 4: My Profile .................................................................................................................. 19
Table 5: Reset Password .......................................................................................................... 20
Table 6: General Visualization ................................................................................................ 21
Table 7: Upload Data ............................................................................................................... 21
Table 8: Sales Forecast ............................................................................................................ 22
Table 9: Market Basket ............................................................................................................ 22
Table 10: Customer Segmentation ........................................................................................... 23
Table 11: Customer Purchase Trend ........................................................................................ 23
Table 12:Customer Lifetime Modelling .................................................................................. 24
Table 13: Uplift Modelling ...................................................................................................... 24
Table 14: Market Response Modelling .................................................................................... 25
Table 15: Churn Analysis ........................................................................................................ 25
Table 16: Change Plan ............................................................................................................. 26
Table 17: Admin Add Customers ............................................................................................ 26
Table 18: Admin Delete Customers......................................................................................... 27
Table 19: Actions ..................................................................................................................... 27
Table 20: Admin Data Dictionary............................................................................................ 41
Table 21: Customer Data Dictionary ....................................................................................... 42
Table 22: Record Data Dictionary ........................................................................................... 43
Table 23: Action Data Dictionary……………………………………………………………44
Table 24: RFM Tiers................................................................................................................ 62
Table 25: Register Customer Account ..................................................................................... 66
Table 26: Register Customer Account (Alternate-4A) ............................................................ 67
Table 27: Login Account ......................................................................................................... 68
Table 28: Login Account (Alternate-4A)................................................................................. 69
Table 29: My Profile ................................................................................................................ 70
Table 30: My Profile (Alternate-4A) ....................................................................................... 71
Table 31: Reset Password ........................................................................................................ 72
Table 32: Reset Password (Alternate-4A) ............................................................................... 73
Table 33: Reset Password (Alternate-7A) ............................................................................... 74
Table 34: Reset Password (Alternate-7B)................................................................................ 75
Table 35: Generate Visualization............................................................................................. 76
Table 36: Generate Visualization (Alternate-4A) .................................................................... 77
Table 37: Upload Data ............................................................................................................. 78
Table 38: Upload Data (Alternate-6A) .................................................................................... 79
Table 39: Upload Data (Alternate-7A) .................................................................................... 80
Table 40: Sales Forecast .......................................................................................................... 80
Table 41: Market Basket .......................................................................................................... 81
Table 42: Customer Lifetime Modeling .................................................................................. 81
Table 43: Churn Analysis ........................................................................................................ 82
Table 44: RFM Segmentation .................................................................................................. 82
Table 45: Market Response...................................................................................................... 83
Table 46: Uplift Modeling ....................................................................................................... 84
Table 47: Change Plan ............................................................................................................. 85
Table 48: Change Plan (Alternate-8A) .................................................................................... 86
Table 49: Login Account as Admin ......................................................................................... 87
Table 50: Login Account as Admin (Alternate-4A) ................................................................ 88
Table 51: Admin adds customer .............................................................................................. 89
Table 52: Admin adds customer (Alternate-6A) ..................................................................... 90
Table 53: Admin delete customer ............................................................................................ 91
Table 54: Actions ..................................................................................................................... 92
Table 55: Limit on data size..................................................................................................... 93
Table 56: Load Time................................................................................................................ 93
Table 57: Uptime ..................................................................................................................... 94
Table 58: Chrome, Firefox Compatibility ............................................................................... 94
Table 59: Test Metrics ............................................................................................................. 95
List of Figures vi

List of Figures
Figure 1: List of Styles Figure 1: High level System Architecture.......................................... 10
Figure 2: Low level System Architecture ................................................................................ 11
Figure 3: Admin Component ................................................................................................... 13
Figure 4: Client Component..................................................................................................... 14
Figure 5: Automated Predictor System Component ................................................................ 15
Figure 6: Admin Overview ...................................................................................................... 28
Figure 7: Admin Customer ...................................................................................................... 28
Figure 8: Admin registered users ............................................................................................. 29
Figure 9: Admin Actions ......................................................................................................... 29
Figure 10: User Home 1........................................................................................................... 30
Figure 11: User Home 2........................................................................................................... 30
Figure 12: User Home 3........................................................................................................... 31
Figure 13: User Home 4........................................................................................................... 31
Figure 14: Admin Login .......................................................................................................... 32
Figure 15: Change Plan............................................................................................................ 32
Figure 16: User Login .............................................................................................................. 33
Figure 17: Create Account ....................................................................................................... 34
Figure 18: Edit Profile ............................................................................................................. 35
Figure 19: Upload Data............................................................................................................ 35
Figure 20: Sales Forecast ......................................................................................................... 36
Figure 21: Market Basket......................................................................................................... 36
Figure 22: Customer Lifetime Modeling GUI ......................................................................... 37
Figure 23: Segmentation GUI .................................................................................................. 37
Figure 24: Churn GUI .............................................................................................................. 38
Figure 25: Sales Forecast checked GUI ................................................................................... 38
Figure 26: Sales Forecast unchecked GUI ............................................................................... 39
Figure 27: Sales Forecast Visualization................................................................................... 39
Figure 28: ER Diagram ............................................................................................................ 40
Figure 29: Class Diagram ........................................................................................................ 47
Figure 30: Actions.................................................................................................................... 48
Figure 31: Change Plan............................................................................................................ 48
Figure 32: Churn Analysis ....................................................................................................... 49
Figure 33: Customer Lifetime Modeling ................................................................................. 49
Figure 34: Customer Purchase Trend ...................................................................................... 50
Figure 35: Customer Segementation........................................................................................ 50
Figure 36: Generate Visualization ........................................................................................... 51
Figure 37: Login Account ........................................................................................................ 51
Figure 38: Manage Customers ................................................................................................. 52
Figure 39: Market Basket......................................................................................................... 53
Figure 40: My Profile............................................................................................................... 53
Figure 41: Predict Cancellation ............................................................................................... 54
Figure 42: Predict Popular Product .......................................................................................... 54
Figure 43: Registration Account .............................................................................................. 55
Figure 44: Reset Password ....................................................................................................... 56
Figure 45: Sales Forecast ......................................................................................................... 57
Figure 46: Upload Data............................................................................................................ 57
Figure 47: Formula for forecasting equations.......................................................................... 59
Ecom Predictor 1

Abstract
The purpose of this project was to complete a web application capable of predicting and
recommending productive methods to enhance the sales of an ecommerce store. It is essential
to note that ecommerce sales mounted up to 3.5 trillion dollars in 2019 alone and are
expected to double in 5 years time. Ecommerce is an ever emerging business which lacks the
resources for new startups, making it difficult for them to compete with the giants. However
with Ecom predictor that can change altogether since the essentials to boost the sales in the
first few phases of the store are effectively delivered by it. Moreover, the web application
provides valuable insight about the ongoing and future sales of the store. The application
developed in this project uses mongodb, node, react and python. Apart from the user friendly
interface, the website also houses several data science techniques which have been used to
perform a list of predictions and recommendations which are being generated by the
automated predictor system in python. The basic idea for pursuing such a project was to
accommodate the small scale ecommerce stores with vital yet credible information for
increasing the overall effectiveness with which the business of ecommerce is carried out. All
this is conveyed to the ecommerce store owners with the help of visual representation so that
he/she can take strategic decisions to evolve the store’s success. This project can potentially
host numerous other data science techniques which cater the ecommerce industry.
Keywords: node, react, mongoDB, automated, prediction, recommendation, visual
Introduction 2

Chapter 1: Introduction
Almost 25% of the world’s population [21] has shifted to online shopping. Ecommerce
Giants like Amazon and Alibaba having a huge stake in the industry use the resources at hand
to overwhelm the smaller stores. This in turn neglects the small store owners of a fair market
exposure. Here is where Ecom Predictor provides a platform for these store owners to utilize
the data at their disposal to grow and expand their services above and beyond the need of the
valuable customer.

The ecommerce predictor system of Ecom Predictor would be using critical data science
techniques to implement a series of predictions and recommendations (referred to as actions
in further sections of this document) on the sales data provided by ecommerce store owners.
The provided data would be cleaned for a few known anomalies. Actions would be applied
on this data set and certain results would be gained for each of the multiple actions. After the
predictor system is done with the actions, visualizations would be generated based on the
results using some visualization tool. Moreover, the user would be offered a simple,
streamlined and efficient user interface. It would be intuitive for any first time user.
Our automated predictor system would be using python scripts to perform various actions
like customer behavior and product trends. This would not only help the ecommerce owners
to understand the nature of the sales but will also guide them to enhance it.
Our project would be providing a service to the ecommerce store owners via a simple web
application hosted on cloud.

1.1 Goals and Objectives


The goals and objectives of this project are;-

- Design and Develop an online ecommerce predictor/recommender application for


ecommerce store owners.
- This application would be web-based only.
- The application would be made using react, node, MongoDB and stored on cloud for
enhanced security and cost-efficiency.
- The results would be displayed in set period of time (not instantaneous).

The subsequent part of this report would be about the literature review and the summary of
similar work, requirements and design, implementation and a conclusion.

1.2 Scope of the Project


Scope of Ecom Predictor can be defined by the number of actions that would be performed.
The web application would be made in node and hosted on cloud which also requires time
and effort. The application would be a onetime cost but the maintenance of the software
would be required which would be nominal compared to the initial cost of creation.
Ecom Predictor 3

Chapter 2: Literature Survey / Related Work


As an essential part of our project, we did research for related work present online; Following
are some of the most related work we found on the internet after researching. They are
explained below:

2.1 Smart Corp


SmartCrop[16] is an online service based software which provide prediction services like
Demand Planning, Inventory Optimization and operational analytics. It is a web application
hosted on Amazon Web Services. It uses field proven Probabilistic Inventory and Forecast
Modeling which is different from traditional forecasting. SmartCorp focuses on predicting
Stockouts, Shortage Costs, Service levels, Inventory costs and more. The Optimization logic
then identifies the right policy that is best for the business. According to SmartCorp, this is a
new revolutionary prediction model that is not built before.

Here’s what make smart demand planner work


● Automated Statistical Forecasting
● Multi-Level Group Forecasting
● Collaborative Planning

Here’s what smart demand planner do


● Predict accurately the supply of thousands of items in any measuring unit
● Record trends at all rates, seasonal and cyclical phenomena
● Outlier identification and clarification to a better quality of historical information
● Detect causal variables, including price and economic indicators, and simulate their
impact on demand
● Trademarked Irregular Demand Preparing through the "Bootstrapping" tech though
internationally renowned APICS
● Generate predictions at any hierarchical stage – consumer, object, product classes, and
areas.
● With the internal and external investors, discuss projections, including sales and
distributors
● Implement , make proper documentation, and track overrides forecast
● Calculate the effect of promotions on expected demand of future
● Implement forecasting methods defined by the users.

Another component Inventory Optimization includes


● Optimize ROP, Min, Max, Safety Stock, Order quantity
● Reduce Inventory
● Increase Service Levels.

Inventory Optimization basically does the following things


● Anticipate the cost of service and stock
● Measure the impact of inventory policies that are based on "what-if"
● Inventory strategy alignment with business strategies
● Set up an operations and maintenance structure to direct the planning squad
● Inventory reduction and service improvement.
Literature Survey / Related Work 4

2.2 Zoho CRM


Zoho CRM [17] is a web application, a prize-winning Customer Relationship Management
tool that is meant to draw the attention of customers, retain and delight customers to sell your
product or anything. The basic component of Zoho’s operations is to lead and contact
dealings. In addition to this, it also focuses on pipeline management and command of
purchasing. Zoho CRM offers a wide range of benefits, most of which related to closing more
sales and attracting more customers. According to their website, Zoho benefits are as
following:

● Zoho streamlines the operations of important sales


● Real-time exposure to important information
● Use social media to the maximum
● Has mobile version
● It's built into Google Apps and the Zoho suite

Following are some of the features of Zoho:

● Automation of Sales Team Feature


● Lead Management Feature
● Account Dealings Feature
● Effective monitoring Feature
● Site Integration including Forms Feature
● Track Sales Feature
● Pulse Feature
● Sales Prediction Feature
● Efficiency Feature
● Mail Management showing only relevant emails Feature
● Community CRM Feature
● Provide a place where several people can store files and share files in order to do
group work.
● phone CRM Feature

Forecasting in Zoho Analytics is based on powerful forecasting algorithms which analyze


your past data deeply and come up with the best forecast for the future.
Sales forecasting is provided in following charts:

● Line Chart
● Bar Chart
● Scatter Chart
● Chart showing Area
● both charts with stacked version
● Combo Charts (without Bubble Chart).

Zoho provides a very helpful feature of “merging data”. Basically, if you to merge data from
2016 with data from 2017, you can use this feature.
Ecom Predictor 5

2.3 Retention Grid


Retention Grid [18] is another software for ecommerce to keep our customers coming back to
our store. Retention Grid basically divides ecommerce in 7 segments:

● Loyal / returning customers – Some of the customers in shopping are returning


customers and they have ordered some threshold number of products from out store.
They are called Loyal customers. In RG, customers who have placed an order greater
than 4 times during the previous 90 days. These people are the greatest opportunity
for any store to refer them new products and there is a big chance that these people
will love new products in store. They can also help in boosting sales by upselling and
cross selling.
● Promising Customers–The customers of your store who have placed an order in 2 or
3 times in the previous 60 days reside in promising category. To attract these people,
ads should include great offers designed for them, no shipping cost and suggest some
products that they may like using earlier purchase history of these customers.
● New Customers– The customers who have placed an order once during a time period
of at least one 30 days are placed in new customer category. The chance of returning
back is very low for the customers who have purchased from store only once.
● Drifting Customers – The customers have ordered 1 to 3 times in the last thirty to
ninety days are marked as Drifting Customers.
● At-Risk Customers – The customers who have placed greater than 4 orders in the
previous 91-365 days are categorized in At-Risk Customers. This category can
contain vital details that can help you figure out your mistakes. Therefore, it is
important to focus on this category to never repeat those mistakes.
● Red-Alert Customers – The customers have place no greater than 4 orders in the last
365 days are categorized in Red-Alert Customers.
● Sleepers Customers – The customers that have ordered 1 to 3 times in previous 91
days are placed in Sleepers Customers. These people are not very responsive. So keep
forwarding them emails with your offers and stuff to get their attention. Be patient as
they are usually sluggish customers.

Retention Grid basically analysis the customer base of a store and design marketing
campaigns and ads for them which most probably is done manually. Nonetheless, it focuses
on bringing our customers closer to us.
Literature Survey / Related Work 6

2.4 Clari
Clari[19] is a CRM platform having revenue operating framework which deploys Artificial
Intelligence and mechanism to reveal all actively information collected in corporate industry
such as advertisement, mobile, email, communications etc. Some of the fundamental things
included in Clari are as follows

● Forecast: anticipate results of sales/revenues for whatever part of work: Brand identities
such as trademarks, up sell. View coverage for any part of the business and group to
calculate exact idea about the pipeline required to reach some numbers in 4 months and
next.
a) Flexible Forecasting
Easily adjust Clari to align with the forecasting language
b) Deal Inventory
Readily access the relevant deals that make up the forecast.
c) Parallel Forecasting
Create multiple forecasting running in parallel to to get a complete picture
across any part of the business.
● Sales Analysis: Access AI-driven deceivability into commitment and action information
to detect the hazard and opportunity
● Improve Implementation: Make the revenue team profitable, from the generation of
pipelines to the completion of deals and churn management.

From Clari’s published paper [20] explaining insights about its algorithms, we get
information about the Forecast Projection.

2.4.1 Usage Scenario


According to the state in the current mode of the pipeline, previous performance and the
leftover quarterly time, sales managers can evaluate the group’s numbers stacked up against
the Artificial Intelligence prediction, assess the pipeline's actual health and define any danger
that they can lessen before the end of the quarter.

2.4.2 Inside Working


Clari investigates the trends of accessible deals expected to win and expected to lose in past
quarters concurrently. Depending on upto how much the left pipeline and its structure extend
has been shut so far, Clari estimates how much part will actually close with the period of time
remaining in the quarter. Not only does it examine current state of pipeline but also, Clari
focuses on the new deals quantity that are more probable to be included in the leftover time
of quarter and prospects from the forthcoming quarter or month. The deals mixture that is
expected to be converted from the current state of pipeline and deals that are still supposed to
come is stuffed into a one Artificial Intelligence Guided forecast.
Ecom Predictor 7

Chapter 3: Requirements and Design


3.1 Functional Requirements
The functional requirements can be divided amongst the user, admin and the automated
predictor system.

3.1.1 Functional requirements for users


 System will let user to create a new account.
 System will authorize the unique email, password from the user and allow to
login.
 System will allow the user to reset password via email.
 System will allow user to upgrade package from free to basic or premium.
 System will allow user to upload sales data.
 System will allow user to add actions.
 System will allow user to view visualization of the actions.
 System will allow user to pay via payment gateway.
 System will allow user to edit profile.

3.1.2 Functional requirements for admin


 System will allow admin to add new user.
 System will allow admin to manually remove existing user.
 System will allow admin to edit user profile.
 System will allow admin to change the plan of any user.
 System will allow admin to able/ disable any action.

3.1.3 Functional requirements for automated predictor


 The system would run an ETL python script of some known anomalies common
in most sales dataset and use the resulting dataset to for the predictions and
recommendations.
a) De duplication
b) Date format standardization
c) Removing Missing values
d) Derived table of transaction wise data
 System will be doing a time series forecast of the sales of the ecommerce data.
This prediction would be done by using attributes like invoice number, invoice
date, unit price and country. The resulting table would be containing the predicted
sale dates, unit price.
 System would be using market basket analysis to determine which products to be
associated with which products. This would use the invoice number of each
transaction and product name, both being unique, to find relationship between
certain products. Basically system would be use association rule mining and use
the concept of strong rules to determine which products are relatable [6].
 System would make segments of the customer base into 3 categories [8].
Categories are as follows:
a) Customers that buy least frequently and generate low revenue
b) Customers that buy average amounts
c) Customers that buy most frequently and generate high revenue
Requirements and Design 8

RFM (Recency Frequency Modeling) scores would be generated to make


segments of the customer base. This would be done using the customer id,
product name, quantity, unit sale, invoice number and date. The results would
have every customer associated with a segment.
 System will be applying customer predictive lifetime modeling to find out the
life time value of the customer. This would be done by fixing a time slot of the
customer’s active period and predicting the next time slot. An LTV score would
be used to train the model [9]. The required attributes would be same as for the
segmentation of customers.
 System will be using uplift modeling to predict the customers, which are
beneficial, or not to include in a promotional campaign. For this, system required
three columns that are historical purchases by a customer, offers i.e., buy one get
one free or some discount, conversion (previous order detail). System would
predict campaign, which gives the best order uplift and revenue uplift [27].
 System will be using churn analysis prediction to find which customers are likely
to churn. Retention rate would be used to determine whether a customer is about
to churn away [10]. The required attributes are the same as for last 2
functionalities. However, the results would be in the form of a yes or a no. For
every customer, for a time slot, system would predict whether the customer would
churn or not.
 System will implement market response modeling to determine which type of
offers would be best suited for the store itself using the data of already conducted
offers such as discounts, bogo offers etc[12].

3.2 Non-Functional Requirements


3.2.1 Performance
 System would limit the size of the data to 100MB which user wants to have
analyzed.
 System would be capable of at least 100 users at a time.
 The application would load within 2 seconds [14] due to optimization techniques
available in react and node. This can be done by using immutable data structures,
using react fragments [2], using render bailout technique and avoiding use of
inline objects [3]

3.2.2 Sustainability
 The system application can be accessed from any computer browser with
mentioned specifications in hardware requirements.

3.2.3 Usability
 System interface would be easy to use and attractive, guide customers in an
intuitive manner.
 User should be able to respond in a maximum of 4 seconds after looking at the
interface.

3.2.4 Reliable
 System would have an uptime of near to 100% due to the very reliable cloud
servers.
Ecom Predictor 9

3.3 Hardware and Software Requirements


Following are the hardware and software requirements for the users and developers.

3.3.1 Hardware Requirements


For development, the hardware requirements are the following:
 Desktop with 4GB RAM and 64 bit operating system
 High speed online servers
For usage, the hardware requirements are the following:
 Desktop with 4GB RAM, 64 bit Operating system

3.3.2 Software Requirements


For development, the software requirements are the following:
 Python: 3.6.8
 Jupyter Notebook
 Code editor: Visual Studio code
 MongoDB Atlas Database
 Express: WEB application Framework
 React: A JavaScript library for Frontend
 Node: JavaScript runtime environment (v12.4.0-x64)
 Node Package Manager (For installing dependencies)
 Amazon Web Services (AWS Lambda)
Browser: Google chrome, Mozilla Firefox, Opera.
Requirements and Design 10

3.4 System Architecture

Figure 1: High Level System Architecture


Diagram for high level system architecture

As shown in high level system architecture, we’ll be implementing client-server structure for
our system, where users can send request to server in order to perform their respective
functions. Two types of users can use this system, an admin or a client/store owner. The
Server will consist of 3 modules (Admin, Client, and Automated Predictor) which will be
shown in low level structure of the system. The Server will be able to access database in
order to store or retrieve any valuable data for executing functions. Along with that, Server
will be able to send API request to Stripe to make payment possible. It will also be handling
response from the API request.
After Performing requested functions/operations at the server, it will send a response to the
user showing results or status of their sent request.
Ecom Predictor 11

Figure 2: Low Level System Architecture


Diagram for low level system architecture

As shown in the above figure, user will send a request to server in order to perform shown
operations. Both clients and admin have to first authenticate through our Database residing in
cloud. Firstly, Client has to setup his Stripe through Payment Component in order to actions
to run properly. Client can then upload data by sending it to our system which will be stored
in S3 Bucket on Amazon Web Server. After that, client can mark predictions and
recommendations in order to perform those on our data. Client marked actions will be stored
in a queue in our DB along with details of our client. When Client has marked all the actions,
he will press generate report button which will take corresponding data of that client from the
S3 Bucket and put it in our Automated Predictor which will load client’s marked scripts from
the DB and once loaded, will start executing those actions on his data. Once all predictions
are completed, the results will be saved in corresponding rows of actions in DB. Hence, it
will be displayed to the user.
Requirements and Design 12

3.4.1 Component references

Table 1: Component Reference


Component References for the test case
Component Name Component Unique ID
Admin 01
Client 02
Automated Predictor 03
Manage Customers 04
Actions on/off 05
Admin Login 06
Upload Data 07
Profile 08
Mark Actions 09
Start Processing 10
Payment 11
Sign Up 12
Login 13
Code Executer 14
Sales Forecasting 15
Market Basket 16
Customer Lifetime Modeling 17
Uplift Modeling 18
RFM Modeling 19
Churn Analysis 20
Market Response 21
Change Plan 22
Ecom Predictor 13

3.4.2 Admin Component

Figure 3: Admin Component


Component Diagram of Admin

Above shown admin component will interact with Database in order to get the list of all
clients and also get info about actions active or disabled in the system. Manage Client will be
responsible to add or remove clients in system. Actions on/off will be responsible for
enabling and disabling actions in our system. Similarly, Admin Component will allow admin
to login system.
Requirements and Design 14

3.4.3 Client Component

Figure 4: Client Component


Component Diagram of Client

As shown in the above figure, client component will include Sign Up, Login, Upload Data,
Mark Actions, Generate Report, Payment and View report. Upload Data will be responsible
to upload data to our system and save it with customer ID. Mark Actions will get a list of
enabled actions present in the system and will be responsible for marking the selected actions
by the customer. Generate report will mark that user has marked all his desired actions and
processing can be started. Payment component will get Stripe Authentication through API
request and will be responsible for payment of package selected by the customer. Lastly,
View Report component will get results generated from the automated predictor stored in
DB.
Ecom Predictor 15

3.4.4 Automated Predictor

Figure 5: Automated Predictor System Component


Component Diagram of Automated Predictor System

Automated Predictor will interact with client component as it will start processing when
client component’s generate modules indicates positive. Firstly, it will load data csv file from
S3 Bucket on cloud. Python Scripts component will get list of marked actions and will be
responsible for sending scripts of all desired actions to the code executer. Code Executer
component will simply run these scripts on the data and give output results which will later
go on to store on DB later.
Requirements and Design 16

3.5 Architectural Strategies


The following are the different strategies considered while making the software.

3.5.1 Python, React and Node


Python is the best programming language when it comes to data science. The fast prebuilt
libraries of python make it the ideal option in today’s advanced IT solutions. The methods we
would be using require complex numerical and scientific calculations which are well
accommodated by python. Moreover, we would integrate these python scripts with the node
application which is easily scalable, that would be beneficial for the defined future plan.
Furthermore, node provides high performance web application which is crucial to the
requirements of the project. On the other hand, react provides faster rendering and easy
maintenance.

3.5.2 Future plans for enhancing software


Currently, the application would target only the 8 actions finalized so far. But outside the
scope of the project we would be implementing other actions which fall in the category of
ecommerce prediction. Moreover, python is the sole language being used for predictions and
calculations; we would be considering other languages like R for complex mathematical
computations as an enhancement to the software.

3.5.3 User interface paradigms


For the user interface, the eight golden rules for interface designing would be utilized which
are part of the standards of human computer interaction laid by Ben Shneiderman. This is
essential for implementation of a good UI design.

3.5.4 Error detection and recovery


If the user uploads a table with columns other than the ones specified then an error message
would be thrown indicating that the required columns have not been inputted. The data would
have to be uploaded again.

3.5.5 Database Storage management


Since it is not yet confirmed that what would be the exact output of each of the actions. We
would be using S3 bucket on cloud to store the raw user entered data. MongoDb provides
high performance and availability with auto scaling. High performance and availability is an
essential part of the application as emphasized in prior sections. The auto scaling helps us in
the future plans if our application gets the intended exposure and traffic.
Ecom Predictor 17

3.6 Use Cases


3.6.1 Registration Customer Account

Name Registration Customer Account


Actors Customer(Free, Standard, Premium)
Summary Customers will be able to register their accounts
Pre-Conditions System Should be working properly
Post-
Customer should be registered successfully
Conditions
Special
None
Requirements
Basic Flow
Actor Action System Response
Registration page is displayed, asking for
1 User opens the Sign-Up page. 2
to enter credentials for registration.
System verifies the credentials; establish
a session for the user, Registration
3 Enter credentials and presses submit. 4
Successfully.
Redirects the user to the login page.
Alternative Flow
Actor Action System Response
Alter the user if incorrect credentials and
Users enter invalid email or
3 4-A system prompt the error message:
password.
Incorrect credentials entered.
Requirements and Design 18

3.6.2 Login Account

Name Login Account


Actors Admin, Customer (Free, Standard, Premium)

Summary All the users will be able to login to their respective accounts

Pre-Conditions Customer should be registered in system


Post-
Logged in successful
Conditions
Special
None
Requirements
Basic Flow
Actor Action System Response
Login page is displayed asking for email
1 User opens the login page. 2
and password.
System verifies the credentials,
Enter valid credentials and press
3 4 establishes a session for the user and
submits.
redirects the user to the home page.
Alternative Flow
Alter the user if incorrect login
credentials and system prompt the error
3 Users enter invalid email or password. 4-A
message: Incorrect email or password
entered.
Ecom Predictor 19

3.6.3 My Profile

Name My Profile
Actors Admin, Customer (Free, Standard, Premium)

Summary Login user should be able to see his profile and update it.

Pre-Conditions Customer should be logged in.


Post-
Profile should be update successfully.
Conditions
Special
None
Requirements
Basic Flow
Actor Action System Response
My Profile page is displayed to the
1 User opens the My Profile page. 2
user.
Click on edit if you want to change System verifies the credentials, update
3 email, password OR click on profile 4 it and show a message to the user:
image to change image. Update successfully.
Alternative Flow
Incorrect login credentials and system
3 User enter invalid email or password. 4-A prompt the error message: please chose
a correct format to update.
Requirements and Design 20

3.6.4 Reset Password

Name Reset Password


Actors Admin, Customer(Free, Standard, Premium)
Summary Reset password for user
Pre-Conditions User have valid account
Post-
User should be successfully update his password
Conditions
Special
None
Requirements
Basic Flow
Actor Action System Response
User opens reset password page through System display page and asking for
1 2
login page. credentials
System verified credentials and sent
3 Enter valid credentials and submit 4 an email to user with password reset
link.
System display password reset page
5 Open email id and click on received link 6
and asking for to enter new password.
System verify users new password and
7 Enter new password twice and submit 8 update it. And redirected user to login
page.
Alternative Flow
Incorrect credentials and system
3 Invalid credentials submit 4-A prompt the error message: Incorrect
credentials entered.
If password is weak or correct format not Error: Please chose a correct
7 7-A
followed. password format.
If password and repeat once again
7 7-B Error: Please enter same password.
password is not same.
Ecom Predictor 21

3.6.5 General Visualization

Name General Visualization


Actors Customer (Free, Standard, Premium)
Summary Customer upload his data for prediction
Pre-Conditions Customer should be logged in.
Post-
Data uploaded successfully
Conditions
Special
None
Requirements
Basic Flow
Actor Action System Response
1 Click on home page from side menu. 2 System redirected to home page.
System starts processing and shows
“working” button and will show
3 Select Start Processing. 4
results on respected actions tab once
the processing is completed.
Alternative Flow
System will response message on the
3 If the data misses some required columns. 4-A
selected prediction page.

3.6.6 Upload Data

Name Upload Data


Actors Customer (Free, Standard, Premium)
Summary Customer upload his data for prediction
Pre-Conditions Customer should be logged in.
Post-
Data uploaded successfully
Conditions
Special
None
Requirements
Basic Flow
Actor Action System Response
Click on upload data option from side
1 2 System display upload data page.
menu.
Systems show File Explorer for to
3 Select upload from main screen. 4
select data file.
System upload file to web site, which
5 Select excel file (.csv) from PC folders. 6
take some time.
System show a dialog box with
7 Click upload 8 message (Data uploaded
successfully.)
Alternative Flow
System shows “Data Upload
5 File is not excel (.csv) format. 6-A
Unsuccessful”
User clicks on “Upload” button without 7-A System shows error to select the file
7
selecting the file first first.
Requirements and Design 22

3.6.7 Sales Forecast

Name Sales Forecast


Actors Customer(Free, Standard, Premium)
Applying forecasting on data like country based, time series based to check
Summary
valuable country and their related specific products.
Pre-Conditions User should be logged in and data uploaded successfully.
Post-
Forecasting predictions added in a home page list successfully.
Conditions
Special
None
Requirements
Basic Flow
Actor Action System Response
1 Select Sales Forecast from side menu. 2 System display Sales Forecast page.
System include this prediction in a
3 Select Include This Action. 4
list.
No Alternative Flow

3.6.8 Market Basket

Name Market Basket


Actors Customer(Standard, Premium)
If you buy some group of products, then more likely you are also buy other
Summary
products of this group type.
Pre-Conditions User should be logged in and data uploaded successfully.
Post-
Market Basket added in a home page list successfully.
Conditions
Special
None
Requirements
Basic Flow
Actor Action Actor Action
1 Select Market Basket from side menu 2 System display Market Basket page.
3 Select Include This Action. 4 System include this prediction in a list.
No Alternative Flow
Ecom Predictor 23

3.6.9 RFM Segmentation

Name Customer Segmentation


Actors Customer(Premium)
Customer divide based on buy least frequently, buy average amount
Summary
products and buy most frequently.
Pre-Conditions User should be logged in and data uploaded successfully.
Post-
Customer Segmentation added in a home page list.
Conditions
Special
None
Requirements
Basic Flow
Actor Action System Response
Select Customer Segmentation from side System display Customer
1 2
menu Segmentation page.
System include this prediction in a
3 Select Include This Action. 4
list.
No Alternative Flow
Requirements and Design 24

3.6.10 Customer Lifetime Modeling

Name Customer Lifetime Modeling


Actors Customer(Standard, Premium)
Summary Customer lifetime value would be calculated
Pre-Conditions User should be logged in and data uploaded successfully.
Post-
Customer Lifetime Modeling added in a home page list successfully.
Conditions
Special
None
Requirements
Basic Flow
Actor Action System Response
Select Customer Lifetime Modeling from System display Customer Lifetime
1 2
side menu Modeling page.
System include this prediction in a
3 Select Include This Action. 4
list.
No Alternative Flow

3.6.11 Uplift Modeling

Name Uplift Modeling


Actors Customer(Standard, Premium)
Summary It predicts revenue and order uplift due to our new campaign.
Pre-Conditions System logged in and data uploaded successfully.
Post-
Uplift Modeling added in a home page list successfully.
Conditions
Special
None
Requirements
Basic Flow
Actor Action System Response
System display Uplift Modelling
1 Select Uplift Modeling from side menu 2
page.
System includes this prediction in a
3 Select Include This Action. 4
list.
No Alternative Flow
Ecom Predictor 25

3.6.12 Market Response Modeling

Name Market Response Modeling


Actors Customer(Premium)
We will calculate the probability of the cancellation by comparing purchase
Summary
trends with cancellation.
Pre-Conditions System logged in and data uploaded successfully.
Post-
Market Response Modeling added in a home page list successfully.
Conditions
Special
None
Requirements
Basic Flow
Actor Action System Response
Select Market Response Modeling from System display Market Response
1 2
side menu Modeling page.
System includes this prediction in a
3 Select Include This Action. 4
list.
No Alternative Flow

3.6.13 Churn Analysis

Name Churn Analysis


Actors Customer(Premium)
Summary This would calculate the likelihood of a customer to churn away.
Pre-Conditions User should be logged in and data uploaded successfully.
Post-
Churn Analysis added in a home page list successfully.
Conditions
Special
None
Requirements
Basic Flow
Actor Action System Response
System display Churn Analysis
1 Select Churn Analysis from side menu 2
Detail page.
System include this prediction in a
3 Select Include This Action. 4
list.
No Alternative Flow
Requirements and Design 26

3.6.14 Change Plan

Name Change Plan


Actors Customer(Free, Standard)
Summary Change plan from free to others.
Pre-
Customers registered and login.
Conditions
Post-
Change plan successfully.
Conditions
Special
None
Requirements
Basic Flow
Actor Action System Response
Select change plan from upper right corner
1 2 System display the change plan page.
of the screen.
System open the payment page for this
3 Select which plan you want to subscribe to 4
plan.
System update your payment status
5 Enter valid payment credentials 6
after validation and verification.
Alternative Flow
System shows red error and does not
5 If you enter wrong credentials. 8-A
change plan

3.6.15 Admin Add Customers

Name Manage Customers


Actors Admin
Summary Add, delete, edit customers
Pre-Conditions System should be in running state and admin should be login.
Post-
Customers successfully updated.
Conditions
Special
None
Requirements
Basic Flow
S# Actor Action System Response
System display Manage Customer
1 Select Manage Customer from side menu. 2
page.
Select clicks on “add customer” Button System shows input fields for the new
3 4
customer
Admin enter details of new customer and System adds the customer in the
5 6
click submit system and updates the customer’s list.
Alternative Flow
Admin enter invalid details of new System shows error in the invalid input
5 6-A
customer and click submit field.
Ecom Predictor 27

3.6.16 Admin Delete Customers

Name Manage Customers


Actors Admin
Summary Add, delete, edit customers
Pre-Conditions System should be in running state and admin should be login.
Post-
Customers successfully updated.
Conditions
Special
None
Requirements
Basic Flow
S# Actor Action System Response
System display Manage Customer
1 Select Manage Customer from side menu. 2
page.
Select clicks on “delete customer” Button System deletes the customer in front of
3 4
from customer list. it.
No Alternative Flow

3.6.17 Actions

Name Actions
Actors Admin
Summary Able and disable predictions and recommendations.
Pre-Conditions System should be in running state and admin should be logged in.
Post-
Admin should be successfully able/disable predictions button.
Conditions
Special
None
Requirements
Basic Flow
S# Actor Action System Response
1 Select Actions from side menu. 2 System display Actions page.
Admin ticks sales forecasting and unticks System asks for confirmation.
3 4
all other. And press ‘update’ button
5 Admin click on ‘Yes’ 6 System updates actions in the system.
No Alternative Flow
Requirements and Design 28

3.7 GUI
The following are the screens for the admin end:

Figure 6: Admin Overview


This GUI show summary of all customers, able and disable actions.

Figure 7: Admin Customers


This GUI shows how to add customer.
Ecom Predictor 29

Figure 8: Admin registered users


This GUI shows list of customers.

Figure 9: Admin Actions


This GUI shows list of all able/ disable actions.
Requirements and Design 30

The following are the screens for the user end and other screens:

Figure 10: User Home 1


This GUI shows visualizations are computed.

Figure 11: User Home 2


This GUI shows the first login screen.
Ecom Predictor 31

Figure 12: User Home 3


This GUI shows list of selected actions by user.

Figure 13: User Home 4


This GUI shows the process of computing actions has started
Requirements and Design 32

Figure 14: Admin Login


This GUI shows admin login screen.

Figure 15: Change Plan


This is GUI shows the list of available plans and allows to change between free to basic or premium.
Ecom Predictor 33

Figure 16: User Login


This GUI showing the login page of the visitor.
Requirements and Design 34

Figure 17: Create Account


This GUI shows signup page of the visitor.
Ecom Predictor 35

Figure 18: Edit Profile


This GUI shows and allows to edit user profile.

The following screens are for the actions of the user:

Figure 19: Upload Data


This GUI lets user upload a CSV file.
Requirements and Design 36

Figure 20: Sales Forecast


This GUI shows details and allows to add sales forecasting action.
.

Figure 21: Market Basket


This GUI shows details and allows to add Market Basket actions.
Ecom Predictor 37

Figure 22: Customer Lifetime Modeling GUI


This GUI shows details and allows to add Customer Lifetime Modelling actions.

Figure 23: Segmentation GUI


This GUI shows details and allows to add Segmentation actions.
Requirements and Design 38

Figure 24: Churn GUI


This GUI shows details and allows to add Churn analysis actions.

Figure 25: Sales Forecast checked GUI


This GUI shows that action has been added to the list.
Ecom Predictor 39

Figure 26: Sales Forecast Unchecked GUI


This shows that the action has been rejected due to some missing column

Figure 27: Sales Forecast Visualization


This GUI shows the visualizations generated by the selected action.
Requirements and Design 40

3.8 Database Design


The following are the database considerations of the project.

3.8.1 ER Diagram

Figure 28: ER Diagram


This shows the ER diagram of the MONGODB database.

3.8.2 Data Dictionary


3.8.2.1 Admin
Table 20: Admin Data Dictionary
This is the data dictionary of the admin.

Fields DataType Example

Id (PK) ObjectId ObjectId(“578f6fa2df35c7fbdbaed8d3”)

Email String Kamran003@gmail.com

Password String fast@lhr


Ecom Predictor 41

3.8.2.2 Customer
Table 21: Customer Data Dictionary
This is the data dictionary of the customers.

Fields DataType Example

Id (Pk) ObjectId ObjectId(“578f6fa2df35c7fbdbaed8d3”)

Firstname String Muhammad

Lastname String Kamran

Email String Kamranakram003@gmail.com

Password String fast@lhr

Pay Int 50

plan String Free

SubscriptionDate String 2019-10-02T10:40:14

DataUploaded Boolean True

SalesForecast, MarketBasket
SelectedAction Array
Requirements and Design 42

3.8.2.3 Record
Table 22: Record Data Dictionary
This is the data dictionary of the record of the processed results.

Fields DataType Example

Id (Pk) ObjectId ObjectId(“578f6fa2df35c7fbdbaed8d3”)

CustomerId (FK) ObjectId ObjectId(“578f6fa2df35c7fbdbaed8d3”)

SalesForecast Object -

MarketBasket Object -

UpliftModelling Object -
Customer
LifeTime Object -
Modelling
MarketResponse Object -

Segmentation Object -

ChurnAnalysis Object -
Ecom Predictor 43

3.8.2.4 Action
Table 23: Action Data Dictionary
This is the data dictionary of the action table.

Fields DataType Example

Id (Pk) ObjectId ObjectId(“578f6fa2df35c7fbdbaed8d3”)

SalesForecast Object -

MarketBasket Object -

UpliftModelling Object -
Customer
LifeTime Object -
Modelling
MarketResponse Object -

Segmentation Object -

ChurnAnalysis Object -
Requirements and Design 44

3.9 System Requirements


Following are the hardware and software requirements for the users and developers.

3.9.1 Hardware Requirements


For development, the hardware requirements are the following:
 Desktop with 4GB RAM and 64 bit operating system
 High speed online servers
For usage, the hardware requirements are the following:
 Desktop with 4GB RAM, 64 bit Operating system

3.9.2 Software Requirements


For development, the software requirements are the following:
 Python: 3.6.8
 Jupyter Notebook
 Code editor: Visual Studio code
 MongoDB Atlas Database
 Express: WEB application Framework
 React: A JavaScript library for Frontend
 Node: JavaScript runtime environment (v12.4.0-x64)
 Node Package Manager (For installing dependencies)
 Amazon Web Services (AWS Lambda)
 Browser: Google chrome, Mozilla Firefox, Opera.

3.10 Design Considerations


This section describes many of the issues which need to be addressed or resolved before
attempting to devise a complete design solution.

3.10.1 Assumptions and Dependencies


 We assumed user has Desktop with 4GB RAM and 64 bit Operating system.
 User have browser installed in their desktop which is compatible for JavaScript.
 User must have internet connection as it is a web based application.
 Data provided by user would be cleaned other than few anomalies.
 Data provided by user has required columns which will be used for predictions and
recommendations.
 User familiars with basic visualization such as charts, graphs and diagrams.
Ecom Predictor 45

3.10.2 General Constraints


3.10.2.1 Hardware or software environment
a) We are designing web application, so targeted system should have browser such
as Google Chrome installed which supports JavaScript.
b) In case of hardware, web application requires 4 GB RAM, 64 bit Operating
System, Core i5 with high graphic resolution to show visualizations.
c) Web application needs data from online database so it need better performance to
decrease download time or upload time.

3.10.2.2 End-User environment


a) User can use the web application using high speed internet in a browser
mentioned in software requirements which supports the concept of web caching
and cookies to save data for future use.

3.10.2.3 Availability or volatility of resources


a) High speed internet is required for better performance.

3.10.2.4 Standards compliance


a) Web application follows MVC architecture. Model represents business logic,
View represents user interface and Controller represents user requests.

3.10.2.5 Interoperability requirements


a) Client and server have to share and store data using common standards.

3.10.2.6 Interface/protocol requirements


a) Http protocol will be used for communication between client and server using
internet.
b) Web application communicates with payment gateway for payment.
c) Client side runs on port 3000 and server side runs on port 5000.
d) Interface will be implemented using react and running on browsers which are
mentioned in software requirement.

3.10.2.7 Data repository and distribution requirements


a) Online Cloud based database MongoDB will be used for storage and retrieval of
data for web application. Only admin can change it.

3.10.2.8 Security requirements (or other such regulations)


a) System will be performing actions using secure protocols, secure the personal
information of user as well as dataset provided by the user.
b) System will perform authentication and authorization.

3.10.2.9 Memory and other capacity limitations


a) System requires CPU, Memory, I/O capacity, Bandwidth and cache space for
better performance.
Requirements and Design 46

3.10.2.10 Performance requirements


a) Speed of internet, high speed internet is required for retrieving data from database.
b) Poorly written code, if the code is poorly written it causes memory leaks,
synchronization issue [15].
c) Using same Html Title Tag also causes search engine to search for duplicate tag
[15].

3.10.2.11 Network communication


a) Http will be used for network communication.

3.10.2.12 Verification and validation requirements (testing)


a) System will allow those users to perform actions that have valid credentials for
login.

3.10.2.13 Language Constraints


a) This system is useful to those who is familiar with English language.

3.11 Development Methods


When we think about development, Waterfall is the most traditional and sequential choice.
We are using this method since it has several phases. Before starting a new phase, a pending
phase must be complete. It consists of determining requirements and scope of the project
after which it is analyzed. After analysis the following sequence would be followed:
a) design
b) implement
c) test
d) deploy
e) maintain [14]
Developers would have a complete understanding of the project for better outcomes.
Moreover, we are using Feature Driven Development. This method is useful to develop a
website feature by feature which ensures the success of project weekly. It divides the bigger
project into small modules and helps to track the results and errors [14].
Ecom Predictor 47

3.12 Class diagram

Figure 29: Class Diagram


Class diagram for Ecom Predictor
Requirements and Design 48

3.13 Sequence diagram

Figure 30: Actions


Sequence diagram for possible actions by user

Figure 31: Change Plan


Sequence diagram for changing plan
Ecom Predictor 49

Figure 32: Churn Analysis


Sequence Diagram for the Churn Analysis

Figure 33: Customer Lifetime Modeling


Sequence Diagram for the Customer Lifetime Modeling
Requirements and Design 50

Figure 34: Customer Purchase Trend


Sequence Diagram for the Customer Purchase Trend

Figure 35: Customer Segmentation


Sequence Diagram for the Customer Segmentation
Ecom Predictor 51

Figure 36: Generate Visuals


Sequence Diagram for the generate visualizations

Figure 37: Login Account


Sequence Diagram for the Login Account
Requirements and Design 52

Figure 38: Manage Customers


Sequence Diagram for Manage Customers
Ecom Predictor 53

Figure 39: Market Basket


Sequence Diagram for Market Basket Analysis

Figure 40: My Profile


Sequence Diagram for User Profile
Requirements and Design 54

Figure 41: Predict Cancellation


Sequence Diagram for Predicting Cancellation

Figure 42: Predict popular products


Sequence Diagram for Predicting popular products
Ecom Predictor 55

Figure 43: Registration


Sequence Diagram for registration
Requirements and Design 56

Figure 44: Reset Password


Sequence Diagram for reset password
Ecom Predictor 57

Figure 45: Sales Forecast


Sequence Diagram for sales forecast

Figure 46: Upload Data


Sequence Diagram for upload data
Requirements and Design 58

3.14 Policies and Tactics


The following are the considerations for the policies that would be followed in the project.

3.14.1 Python 3.6.8 libraries


Python 3.6.8 would be utilized since there is a vast community supporting python library
prone errors during development in this version. Nonetheless, older versions of python are
depreciated.

3.14.2 Coding guidelines and conventions


For the user interface the eight golden rules of interface design would be utilized as a
standard. During the programming phase of the project, rules and standards set in python and
node/ react would be followed.

3.14.3 Testing the software


The accuracy of the different models would be tested with testing data after training the
model on the training data provided by the user.

3.14.4 Maintaining the software


More advanced versions of the software would be introduced after the completion of this
project and sufficient user traffic on the website.

3.14.5 Accessing the application


The web application would be hosted on cloud accessible with a URL link. The node
application would be developed and accessible on the internet via any computer having
minimum requirements.
Ecom Predictor 59

Chapter 4: Implementation and Test Cases


4.1 Implementation
Following are the multiple algorithms implemented in this project.

4.1.1 Holt’s Linear Trend Method


For the implementation of sales forecasting we are using exponential smoothing also known
as Holt’s linear trend method. It continues the procedure of simple exponential smoothing,
but simple exponential smoothing does not follow any trending behavior. On the other hand,
linear trend method does follow. This method has three equations:

1) Level Equation
2) Trend Equation
3) Forecast Equation
First two equations are also known as smoothing equations. Level equation gives the average
value of the series; also known as average value of the observation. Moreover, second
equation is a general pattern of the number of sales that happen in a fixed time period prices
that we observe over a time period t of the estimated trend with respect to other parameters.

Forecast equation is the addition of level and trend until we know the number of sales after
that it is the addition of level and the h times of trend, that represents the linear function. The
value of h increases linearly [22].

The formulas for these equations are:

Figure 47: Formula for forecasting equations


equation for the prediction of sales

Alpha and Beta are the smoothing constants, their value lies in the following range
(0<=Alpha,Beta<=1). For the optimal solution, we have to find the best value of alpha and
beta for the better accuracy. Select the lesser value of alpha and beta if data has random
fluctuations; select the greater value if data follows the trend. This method would show the
increasing or decreasing trend of the sales in this case. For the accuracy of the model, we
calculate the RMSE scores. It gives the better solution when compared with other methods.
Implementation and Test Cases 60

4.1.2 ARIMA model


The model discussed in 4.1.1 is univariate time series forecast, however that was something
not giving desired results and the accuracy of the model was very poor. So as a mature and
better alternate we considered using the ARIMA model which is a technique of multi variate
time series forecasting. This is also referred to as the AutoRegressive Integrated Moving
Average and this model uses its own lagged forecast values. The ARIMA model can be
characterized into 3 parts i.e. AR, I and MA, these 3 terms are the number of lags in the y
column for the predictors, the number of differentiations needed to make the time series
constant and the number of lagged forecast errors in the ARIMA model respectively. This
model gave a rather descent and lower MSE aka mean squared error than the previous model.
The important parameter which is passed in the fit function is the start_ar_lags which sets
the number of lags during the actual model fitting.

4.1.3 Frequent Pattern Algorithm


This algorithm improves the drawbacks faced in the Apriori algorithm. It is amongst one of
the more efficient and scalable algorithm since it uses tree structures to represent patterns.
This in turn structure saves the large number of association between the items in the form of
tree structure which are to be done in Apriori.

First of all it finds all the occurrence of items which are being bought in the same transaction,
after that all the counts of a single items are maintained, which will be considered as support
count.

An FP tree is created; root node is considered as null and then place the maximum support
count at the top and places other nodes in descending order. And maintains the item sets in
order as well. Each node contains item name, support count and the link.

Now examine all the transactions, in the first transaction if any node is not present then
remove it from the tree. Moreover, if any other item set follows the previous transactions then
they will share a common link. This common transaction is linked to the new node for
another transaction; the support count of this new node is increased by one. Repeat this
process for all the transaction or the item sets [23].

This algorithm is thus better than Apriori, since Aprori is costly and take more time because
of the number of scans of the dataset that are performed again and again. FP growth uses
divide and conquer approach which is efficient and takes less time and give better accuracy.
Ecom Predictor 61

4.1.4 Segmentation of Customer based on RFM scoring


This technique divides the customers based on recency, frequency, monetary. Clusters of
customers based on their transactions are made – how recently, how often and how much did
they buy. Likewise, which of your customers can be retained, has potential to become
valuable, best customer, respond to promotions or campaigns.

Table 24: RFM Tiers


This is a breakdown of all the Tiers in RFM scoring

Recency Frequency Monetary

R-Tier-1 F-Tier-1 M-Tier-1

R-Tier-2 F-Tier-2 M-Tier-2

R-Tier-3 F-Tier-3 M-Tier-3

R-Tier-4 F-Tier-4 M-Tier-4

Tier-1 being the most recent and frequent and monetary while Tier-4 being the least recent
and frequent [24]. 4.3.1 Why RFM is important?
One parameter is insufficient to check customer lifetime value i.e. one customer buys
something one year but in a large quantity. Now he is not using that brand. He changed his
mind. Can you say that he is again buying that product from you? Assumptions can be made
but there is no correct answer. So, he is not your best customer now.
On the other hand, if we analyze data just on the base of recency i.e. sorts out by recency.
Customers, who purchased recently, come on the top. This method fails when some
customers buy recently but he is not first time or not a frequent user, buy in a small quantity
than others, or buy cheap items. Then this customer is probably not a potential customer for
us. We find recency score that how recent one customer purchased any item.
If data is analyzed based on the frequency alone i.e. sort out by frequency. Customers, who
purchased more items, come on the top. This method fails when some customers buy recently
but its first time or not a frequent user, buy in a large quantity than others a year ago, or buy
cheap items. Then this customer is probably not a potential customer for us. We find this
score by calculating total quantity of items buy each customer.
If data is analyzed based on the monetary alone i.e. sort out by monetary. Customers, who
purchased expensive items, come on the top. This method fails when some customers buy
first time or not a frequent user, buy in a large quantity than others, or buy expensive items.
Then this customer is probably not a potential customer for us. Calculate this score by
multiplying quantity with its price and sum up this score against each customer id.
So, RFM model is made by using all of these to counter their individual failures. We find
cluster all of these scores with the help of Kmeans and elbow method.
RFM takes average of these three and ranks according to this. In this case, we get our best
customers. With the help of RFM, the values of the parameters can be increased or decreased
adjusting according to the business plan.
If some business sale high monetary things like AC, Bikes. Then frequency does not matter
the most. Monetary value has highest use in this type of business. Recency is also does not
matter because customers are not regular in this business. While in cosmetics customer buy
less monetary but regularly. So, in this case recency is important.
Implementation and Test Cases 62

For top 5 ranks of recency, frequency and monetary tables. We get total 125 values of RFM
i.e. 5*5*5. So, it is difficult visualize all of these on 3D screen. We just use frequency and
recency because monetary is covered under these. We easily show this segment on 2D
screens. This depicts the different customer segmentations. We show segments like best
customer, risk customer, can’t lose them, churned best customer etc [25].

4.1.5 Customer Lifetime Value Prediction


In this prediction, we need to identify a feature set which is used to predict the future. We
used RFM (Recency, Frequency, Monetary) score as a feature set. We already find out RFM
score of customers in customer segmentations. We used same code in this prediction for
feature set.
Divide our dataset into 3-month and 6-month of periods. First 3-month period is used
for to make a feature set (calculate RFM score). Next 6 month is used to check the behavior
of customers based on feature set. 3-month of feature set is used to predict the next 6-month
life of customer. Calculate the RFM score of 3-month of dataset and LTV score (Revenue of
every customer) of next 6-month of every customer by multiplying unit price * quantity and
sum this value for every customer. We merged both datasets to check the correlation between
both dataset, LTV and feature set. LTV is a regression problem but this is not make good
sense. We divide our customers into cluster (segments) by using Kmeans clustering and
elbow method. Therefore, we used classification problem to find the segment of customer.
This technique makes it more actionable than regression model. We find cluster with the help
of k-means clustering on the base of LTV score. We have three segments now i.e., low LTV,
Mid LTV and high LTV. Now split our dataset into x(feature set) and y(LTV segment).
Further divide this test to create training and testing datasets. Training set is used to train the
model. And testing set is used to test the performance. XGBoost is a good library to train the
multi classification model. We train our model by using XGBoost with the help of these
parameter x-train, y-train, max-depth (which is used how much you want to grow our model,
we used 5 here, bigger value increase complexity and take extra space), job (the number of
parallel threads that would run, we did not run any so passed in -1) and learning rate (0.1).
Now check the accuracy by using score function of XGBoost and passing parameter x-test
and y-test to this [26]. We get accuracy of test set is around 85%.Which is adequate.
Ecom Predictor 63

4.1.6 Uplift Modeling


If you want to start any promotional campaign, you have to send promotions to specific
customers only, which give you maximum profit. You should be time efficient and cost
efficient. Therefore, in this approach we want to get a list of customers, which are beneficial
for us. We divide our customers in four segments, which is
 Treatment responders(TR): Customers that purchase only when they receive an offer,
 Treatment Non-responders(TN): Customers that will not purchase is any case,
 Control responders(CR): Customers that will purchase always,
 Control non-responders(CN): Customer that will not purchase if they don’t receive an
offer
For to get these segment, we divide our data into two groups: one segment which is not
receive any offer and other which is part of current campaigns. We further divide customers
of 1st group and 2nd group into two segments each. Customer from first group, which
purchase in any case, without an offer, are “Control Responders” and customers, which do
not purchase during no offer, are “Control non-responders”. Customers from second group,
which purchase when they have given any offer, are “Treatment responders” and customers,
which do not purchase in any case, are “Treatment non-responders”. We target only treatment
responders and control non-responders [27].
To calculate the uplift score, first calculate the conversion uplift from conversion and offer
column against each campaign, and then from this calculate the orders uplift against each
campaign and then sum up its revenue again each campaign by multiplying the orders uplift
with average order value. Calculate the total revenue uplift by adding each customer revenue
uplift.
Make clusters using Kmeans and elbow method of history column, which is historical
purchases column. Now convert categorical columns to numerical for to training the dataset
by using get dummies built-in function. Now divide our dataset into x (history, history
cluster) and y (target class or segment). Also further, divide our dataset into train and testing
parts using train-test-split function by using parameter x, y and test-sixe 0.05. Train our
model using XGBoost library and passing parameters X-train and y-train. Now calculate the
probabilities by using XGBoost predict probabilities function of all customers. These are
probabilities that how much one customer can belong to any segment. By using these
probabilities in this, uplift formula
Uplift Score = PT R + PCN – PT N – PCR
We calculate the uplift score of each customer. By using this score, we assign offers to
specific customers that have uplift score greater than 0.75 quantile, then calculate uplift
revenue and see this method increase revenue around 25% [27].
Implementation and Test Cases 64

4.1.7 Churn Analysis


In order to implement churn analysis we needed more than the available feature set, so we
explored and came up with a telecommunications dataset which had several features related
to the sales of communication products. We performed a brief EDA aka Exploratory Data
Analysis to find out the nature of a few columns. Some of the columns included string names
which were ignored since their clustering was a rather tedious task, we later went on to ignore
string columns totally; instead we used all randomly distributed numerical columns let it be
binary or otherwise, binary columns were converted to 0s and 1s by using the get dummies
function of the pandas library. However, the numerical columns which were not binary were
clustered into 3 columns with 0/1 as the values which indicated that which row belonged to
which cluster. This substantially reduced the total number of binary columns.
It is worthwhile to note that we are converting all columns to binary since the underlying
algorithm used by churn analysis is mere binary logistic regression. For this purpose we then
used the classifier of the XGBoost module. The data was divided into training and testing data
and the model was trained on the training data and we received an accuracy of 78%. It is also
important to note the parameters passed to the classifier i.e. the learning rate (kept 0.08 for
enhanced accuracy), objective (the name of the type of classifier to implement, this is where
we mentioned binary logistic), number of jobs (the number of parallel threads that would run,
we did not run any so passed in -1) and the max depth hyper parameter (this is amongst the
several hyper parameters the function took in and is used to define a maximum depth of the
tree which is pruned to remove splits in the column, this is set at start of the training as a
characteristic of hyper parameters themselves).

4.1.8 Market Response


At times there is more than one offers from which the store has to opt for the best offer in
order to enhance sales. For this purpose we choose the market response algorithm. In the
implementation we chose a random dataset which included BOGO aka buy one get one free
offers and discount offers. The dataset had an independent variable conversion. After
converting the entire dataset into numeric values the classifier of the XGBoost module is used
to fit the model with the training data after which using the probabilities of the conversion are
used in a formula to find out the predicted upticks for the BOGO and discount offers. Their
actual values test results are compared with our predictions for getting the accuracy. We got
an accuracy of 82%.
Ecom Predictor 65

4.2 Test case Design and description


4.2.1 Register Customer Account
Sign Up
Component ID - 12
Test Case ID: 4.2.1 QA Test Engineer: Waleed Ahmad
Test case Version: 1 Reviewed By: Muhammad Kamran
Test Date: 02/05/2020 Use Case Registration Customer
Reference(s): Account UC
Revision History: None

Objective Customer should be able to register account


Product/Ver/Module: Sign Up Module
Environment: Software: Any Modern Browser
Hardware: PC
Assumptions: The computer of customer should be connected to Internet.
Pre-Requisite: System Should be working properly
Step No. Execution description Procedure result
1 User opens the Sign-Up page. Sign Up page is displayed, asking for to
enter credentials for registration
2 User enter credentials and press System verify the credentials, establish a
submit session for the user, Registration
Successfully.
Redirects the user to the login page.
Comments:

The system works as expected

Passed Failed Not Executed


Implementation and Test Cases 66

4.2.2 Register Customer Account (Alternate-4A)


Sign Up
Component ID - 12
Test Case ID: 4.2.2 QA Test Engineer: Waleed Ahmad
Test case Version: 1 Reviewed By: Muhammad Kamran
Test Date: 02/05/2020 Use Case Registration Customer
Reference(s): Account UC
Revision History: None
Objective Customer should be able to register account
Product/Ver/Module: Sign Up Module
Environment: Software: Any Modern Browser
Hardware: PC
Assumptions: The computer of customer should be connected to Internet.
Pre-Requisite: System Should be working properly
Step No. Execution description Procedure result
1 User opens the Sign Up page. Sign Up page is displayed, asking for to
enter credentials for registration
2 User enter invalid email or Alter the user if incorrect credentials and
password. system prompt the error message: Incorrect
credentials entered.
Comments:
The system works as expected

Passed Failed Not Executed


Ecom Predictor 67

4.2.3 Login Account


Login
Component ID - 13
Test Case ID: 4.2.3 QA Test Engineer: Waleed Ahmad
Test case Version: 1 Reviewed By: Muhammad Kamran
Test Date: 02/05/2020 Use Case Login Account UC
Reference(s):
Revision History: None
Objective Customer should be able to login to his/her account
Product/Ver/Module: Login Module
Environment: Software: Any Modern Browser
Hardware: PC
Assumptions: The computer of customer should be connected to Internet.
Pre-Requisite: Customer should be registered in system
Step No. Execution description Procedure result
1 User opens the login page. Login page is displayed asking for email and
password.
2 Enter valid credentials and press System verify the credentials, establish a
submit. session for the user and redirects the user to
the home page
Comments:
The system works as expected

Passed Failed Not Executed


Implementation and Test Cases 68

4.2.4 Login Account (Alternative-4A)


Login
Component ID - 12
Test Case ID: 4.2.4 QA Test Engineer: Waleed Ahmad
Test case Version: 1 Reviewed By: Muhammad Kamran
Test Date: 02/05/2020 Use Case Login Account UC
Reference(s):
Revision History: None
Objective Customer should be able to login to his/her account
Product/Ver/Module: Login Module
Environment: Software: Any Modern Browser
Hardware: PC
Assumptions: The computer of customer should be connected to Internet.
Pre-Requisite: Customer should be registered in system
Step No. Execution description Procedure result
1 User opens the login page. Login page is displayed asking for email and
password.
2 User enter invalid email or Alter the user if incorrect login credentials
password. and system prompt the error message:
Incorrect email or password entered.
Comments:
The system works as expected

Passed Failed Not Executed


Ecom Predictor 69

4.2.5 My Profile
Customer Profile
Component ID - 08
Test Case ID: 4.2.5 QA Test Engineer: Waleed Ahmad
Test case Version: 1 Reviewed By: Muhammad Kamran
Test Date: 02/05/2020 Use Case My Profile UC
Reference(s):
Revision History: None
Objective Customer should be able to update his profile
Product/Ver/Module: Profile Module
Environment: Software: Any Modern Browser
Hardware: PC
Assumptions: The computer of customer should be connected to Internet.
Pre-Requisite: Customer should be logged in.
Step No. Execution description Procedure result
1 User opens the My Profile page. My Profile page is displayed to the user.
2 Click on edit if you want to change System verify the credentials, update it and
email, password OR click on show a message to the user: Update
profile image to change successfully.
image.
Comments:
The system works as expected

Passed Failed Not Executed


Implementation and Test Cases 70

4.2.6 My Profile (Alternative-4A)


Customer Profile
Component ID - 08
Test Case ID: 4.2.6 QA Test Engineer: Waleed Ahmad
Test case Version: 1 Reviewed By: Muhammad Kamran
Test Date: 02/05/2020 Use Case My Profile UC
Reference(s):
Revision History: None
Objective Customer should be able to update his profile
Product/Ver/Module: Profile Module
Environment: Software: Any Modern Browser
Hardware: PC
Assumptions: The computer of customer should be connected to Internet.
Pre-Requisite: Customer should be logged in.
Step No. Execution description Procedure result
1 User opens the My Profile page. My Profile page is displayed to the user.
2 User enter invalid password. Incorrect login credentials and system
prompt the error message: please chose a
correct format to update
Comments:

The system works as expected

Passed Failed Not Executed


Ecom Predictor 71

4.2.7 Reset Password


Customer Profile
Component ID - 02
Test Case ID: 4.2.7 QA Test Engineer: Waleed Ahmad
Test case Version: 1 Reviewed By: Muhammad Kamran
Test Date: 02/05/2020 Use Case Reset Password UC
Reference(s):
Revision History: None
Objective User should be able to successfully update his password
Product/Ver/Module: Client Module
Environment: Software: Any Modern Browser
Hardware: PC
Assumptions: The computer of customer should be connected to Internet.
Pre-Requisite: User must have a valid account
Step No. Execution description Procedure result
1 User opens reset password page System display page and asking for
through login page. credentials
2 Enter valid credentials and submit System verified credentials and sent an email
to user with password reset link.
3 Open email id and click on received System display password reset page and
link asking for to enter new password.
4 Enter new password and submit System verify user’s new password and
update it. And redirected user to login page.
Comments:
The system works as expected

Passed Failed Not Executed


Implementation and Test Cases 72

4.2.8 Reset Password (Alternate-4A)


Customer Profile
Component ID - 02
Test Case ID: 4.2.8 QA Test Engineer: Waleed Ahmad
Test case Version: 1 Reviewed By: Muhammad Kamran
Test Date: 02/05/2020 Use Case Reset Password UC
Reference(s):
Revision History: None
Objective User should be able to successfully update his password
Product/Ver/Module: Client Module
Environment: Software: Any Modern Browser
Hardware: PC
Assumptions: The computer of customer should be connected to Internet.
Pre-Requisite: User must have a valid account
Step No. Execution description Procedure result
1 User opens reset password page System display page and asking for
through login page. credentials
2 Enter Invalid credentials submit Incorrect credentials and system prompt the
error message: Incorrect credentials
entered.
Comments:
The system works as expected

Passed Failed Not Executed


Ecom Predictor 73

4.2.9 Reset Password (Alternate-7A)


Customer Profile
Component ID - 02
Test Case ID: 4.2.9 QA Test Engineer: Waleed Ahmad
Test case Version: 1 Reviewed By: Muhammad Kamran
Test Date: 02/05/2020 Use Case Reset Password UC
Reference(s):
Revision History: None
Objective User should be able to successfully update his password
Product/Ver/Module: Client Module
Environment: Software: Any Modern Browser
Hardware: PC
Assumptions: The computer of customer should be connected to Internet.
Pre-Requisite: User must have a valid account
Step No. Execution description Procedure result
1 User opens reset password page System display page and asking for
through login page. credentials
2 Enter valid credentials and submit System verified credentials and sent an email
to user with password reset link.
3 Open email id and click on received System display password reset page and
link asking for to enter new password.
4 If password is weak or correct format Error: Please chose a correct password
not followed. format..
Comments:
The system works as expected

Passed Failed Not Executed


Implementation and Test Cases 74

4.2.10 Reset Password (Alternate-7B)


Customer Profile
Component ID - 02
Test Case ID: 4.2.10 QA Test Engineer: Waleed Ahmad
Test case Version: 1 Reviewed By: Muhammad Kamran
Test Date: 02/05/2020 Use Case Reset Password UC
Reference(s):
Revision History: None
Objective
Product/Ver/Module: Client Module
Environment: Software: Any Modern Browser
Hardware: PC
Assumptions: The computer of customer should be connected to Internet.
Pre-Requisite: User must have a valid account
Step No. Execution description Procedure result
1 User opens reset password page System display page and asking for
through login page. credentials
2 Enter valid credentials and submit System verified credentials and sent an email
to user with password reset link.
3 Open email id and click on received System display password reset page and
link asking for to enter new password.
4 If password and repeat once again Error: Please enter same password.
password is not same.
Comments:
The system works as expected

Passed Failed Not Executed


Ecom Predictor 75

4.2.11 General Visualization


Start Processing
Component ID - 10
Test Case ID: 4.2.11 QA Test Engineer: Waleed Ahmad
Test case Version: 1 Reviewed By: Muhammad Kamran
Test Date: 02/05/2020 Use Case General Visualization UC
Reference(s):
Revision History: None
Objective System will be able to show visualizations of the selected Predictions
Product/Ver/Module: Start Processing Module
Environment: Software: Any Modern Browser
Hardware: PC
Assumptions: The computer of customer should be connected to Internet.
Pre-Requisite:  Data Must be Uploaded.
 Some predictions or actions must be selected.
Step No. Execution description Procedure result
1 Click on home page from side menu. System redirected to home page.
2 Select Start processing System starts processing and shows
“working” button and will show results on
respected actions tab once the processing is
completed.
Comments:
The system works as expected

Passed Failed Not Executed


Implementation and Test Cases 76

4.2.12 General Visualization (Alternate-4A)


Start Processing
Component ID - 10
Test Case ID: 4.2.12 QA Test Engineer: Waleed Ahmad
Test case Version: 1 Reviewed By: Muhammad Kamran
Test Date: 02/05/2020 Use Case General Visualization UC
Reference(s):
Revision History: None
Objective System will be able to show visualizations of the selected Predictions
Product/Ver/Module: Start Processing Module
Environment: Software: Any Modern Browser
Hardware: PC
Assumptions: The computer of customer should be connected to Internet.
Pre-Requisite:  Data Must be Uploaded.
 Some predictions or actions must be selected.
Step No. Execution description Procedure result
1 Click on home page from side menu. System redirected to home page.
2 If the data misses some required System will response message on the selected
columns. prediction page.
Comments:
The system works as expected

Passed Failed Not Executed


Ecom Predictor 77

4.2.13 Upload Data


Upload Data Component
Component ID - 07
Test Case ID: 4.2.13 QA Test Engineer: Waleed Ahmad
Test case Version: 1 Reviewed By: Muhammad Kamran
Test Date: 02/05/2020 Use Case Upload Data UC
Reference(s):
Revision History: None
Objective The Customer should be able to upload data in .csv format
Product/Ver/Module: Upload Data Module
Environment: Software: Any Modern Browser
Hardware: PC
Assumptions: The computer of customer should be connected to Internet.
Pre-Requisite: Customer should be logged in
Step No. Execution description Procedure result
1 Click on upload data option from System display upload data page.
side menu.
2 Select upload from main screen. Systems show File Explorer for to select data
file.
3 Select excel file (.csv) from PC System upload file to web site, which take
folders some time.
4 Click upload System show a dialog box with message
(Data uploaded successfully.)
Comments:
The system works as expected

Passed Failed Not Executed


Implementation and Test Cases 78

4.2.14 Upload Data (Alternate-6A)


Upload Data Component
Component ID - 07
Test Case ID: 4.2.14 QA Test Engineer: Waleed Ahmad
Test case Version: 1 Reviewed By: Muhammad Kamran
Test Date: 02/05/2020 Use Case Upload Data UC
Reference(s):
Revision History: None
Objective The Customer should be able to upload data in .csv format
Product/Ver/Module: Upload Data Module
Environment: Software: Any Modern Browser
Hardware: PC
Assumptions: The computer of customer should be connected to Internet.
Pre-Requisite: Customer should be logged in
Step No. Execution description Procedure result
1 Click on upload data option from System display upload data page.
side menu.
2 Select upload from main screen. Systems show File Explorer for to select data
file.
3 User selects a non csv file System shows “Data Upload Unsuccessful”
Comments:
The system works as expected

Passed Failed Not Executed


Ecom Predictor 79

4.2.15 Upload Data (Alternate-7A)


Upload Data Component
Component ID - 07
Test Case ID: 4.2.15 QA Test Engineer: Waleed Ahmad
Test case Version: 1 Reviewed By: Muhammad Kamran
Test Date: 02/05/2020 Use Case Upload Data UC
Reference(s):
Revision History: None
Objective The Customer should be able to upload data in .csv format
Product/Ver/Module: Upload Data Module
Environment: Software: Any Modern Browser
Hardware: PC
Assumptions: The computer of customer should be connected to Internet.
Pre-Requisite: Customer should be logged in
Step No. Execution description Procedure result
1 Click on upload data option from System display upload data page.
side menu.
2 User clicks on Upload button without System shows error to select the file first.
selecting the file first.
Comments:
The system works as expected

Passed Failed Not Executed

4.2.16 Sales Forecast


Sales Forecasting
Component ID - 15
Test Case ID: 4.2.16 QA Test Engineer: Waleed Ahmad
Test case Version: 1 Reviewed By: Muhammad Kamran
Test Date: 02/05/2020 Use Case Sales Forecasting UC
Reference(s):
Revision History: None
Objective To include Sales Forecasting in the queue of selected predictions.
Product/Ver/Module: Sales Forecasting Module
Environment: Software: Any Modern Browser
Hardware: PC
Assumptions: The computer of customer should be connected to Internet.
Pre-Requisite: User should be logged in and data uploaded successfully.
Step No. Execution description Procedure result
1 Select Sales Forecast from side System display Sales Forecast page.
menu.
2 Select Include This Action. System includes this prediction in a list.
Comments:
The system works as expected.

Passed Failed Not Executed


Implementation and Test Cases 80

4.2.17 Market Basket


Market Basket
Component ID - 16
Test Case ID: 4.2.17 QA Test Engineer: Waleed Ahmad
Test case Version: 1 Reviewed By: Muhammad Kamran
Test Date: 02/05/2020 Use Case Market Basket UC
Reference(s):
Revision History: None
Objective To include Market Basket in the queue of selected predictions.
Product/Ver/Module: Market Basket Module
Environment: Software: Any Modern Browser
Hardware: PC
Assumptions: The computer of customer should be connected to Internet.
Pre-Requisite: User should be logged in and data uploaded successfully
Step No. Execution description Procedure result
1 Select Market Basket from side menu System display Market Basket page.
2 Select Include This Action. System include this in a list.
Comments:
The system works as expected

Passed Failed Not Executed

4.2.18 Customer Lifetime Modeling


Customer Lifetime Modeling
Component ID - 17
Test Case ID: 4.2.18 QA Test Engineer: Waleed Ahmad
Test case Version: 1 Reviewed By: Muhammad Kamran
Test Date: 02/05/2020 Use Case Customer Lifetime
Reference(s): Modeling UC
Revision History: None

Objective To include Customer Lifetime Modeling in the queue of selected


predictions.
Product/Ver/Module: Customer lifetime Modeling Module
Environment: Software: Any Modern Browser
Hardware: PC
Assumptions: The computer of customer should be connected to Internet.
Pre-Requisite: User should be logged in and data uploaded successfully
Step No. Execution description Procedure result
1 Select Customer Lifetime Modeling System display Customer Lifetime Modeling
from side menu page.
2 Select Include This Action. System include this in a list.
Comments:
The system works as expected

Passed Failed Not Executed


Ecom Predictor 81

4.2.19 Churn Analysis


Churn Analysis
Component ID - 20
Test Case ID: 4.2.19 QA Test Engineer: Waleed Ahmad
Test case Version: 1 Reviewed By: Muhammad Kamran
Test Date: 02/05/2020 Use Case Churn Analysis UC
Reference(s):
Revision History: None
Objective To include Churn Analysis in the queue of selected predictions.
Product/Ver/Module: Churn Analysis Module
Environment: Software: Any Modern Browser
Hardware: PC
Assumptions: The computer of customer should be connected to Internet.
Pre-Requisite: User should be logged in and data uploaded successfully
Step No. Execution description Procedure result
1 Select Churn Analysis from side System display Churn Analysis Detail page.
menu
2 Select Include This Action. System include this in a list.
Comments:
The system works as expected

Passed Failed Not Executed

4.2.20 RFM Segmentation


RFM Segmentation
Component ID - 19
Test Case ID: 4.2.20 QA Test Engineer: Waleed Ahmad
Test case Version: 1 Reviewed By: Muhammad Kamran
Test Date: 02/05/2020 Use Case RFM Segmentation UC
Reference(s):
Revision History: None
Objective To include RFM Segmentation in the queue of selected predictions.
Product/Ver/Module: RFM Segmentation Module
Environment: Software: Any Modern Browser
Hardware: PC
Assumptions: The computer of customer should be connected to Internet.
Pre-Requisite: User should be logged in and data uploaded successfully
Step No. Execution description Procedure result
1 Select RFM Segmentation from side System display RFM Segmentation page.
menu
2 Select Include This Action. System include this in a list.
Comments:
The system works as expected

Passed Failed Not Executed


Implementation and Test Cases 82

4.2.21 Market Response Modeling


Market Response Modeling
Component ID - 21
Test Case ID: 4.2.21 QA Test Engineer: Waleed Ahmad
Test case Version: 1 Reviewed By: Muhammad Kamran
Test Date: 02/05/2020 Use Case Market response Modeling
Reference(s): UC
Revision History: None
Objective To include Market response Modeling in the queue of selected
predictions.
Product/Ver/Module: Market response Module
Environment: Software: Any Modern Browser
Hardware: PC
Assumptions: The computer of customer should be connected to Internet.
Pre-Requisite: User should be logged in and data uploaded successfully
Step No. Execution description Procedure result
1 Select Market Response Modeling System display respected page.
from side menu
2 Select Include This Action. System include this in a list.
Comments:
The system works as expected

Passed Failed Not Executed


Ecom Predictor 83

4.2.22 Uplift Modeling


Uplift Modeling
Component ID - 18
Test Case ID: 4.2.22 QA Test Engineer: Waleed Ahmad
Test case Version: 1 Reviewed By: Muhammad Kamran
Test Date: 02/05/2020 Use Case Uplift Modeling UC
Reference(s):
Revision History: None
Objective To include Uplift modeling in the queue of selected predictions.
Product/Ver/Module: Uplift Modeling Module
Environment: Software: Any Modern Browser
Hardware: PC
Assumptions: The computer of customer should be connected to Internet.
Pre-Requisite: User should be logged in and data uploaded successfully
Step No. Execution description Procedure result
1 Select Uplift Modeling from side System display respected page.
menu
2 Select Include This Action. System include this in a list.
Comments:
The system works as expected

Passed Failed Not Executed


Implementation and Test Cases 84

4.2.23 Change Plan


Change Plan
Component ID - 22
Test Case ID: 4.2.23 QA Test Engineer: Waleed Ahmad
Test case Version: 1 Reviewed By: Muhammad Kamran
Test Date: 02/05/2020 Use Case Change Plan UC
Reference(s):
Revision History: None
Objective To Change plan of the customer
Product/Ver/Module: Change Plan Module
Environment: Software: Any Modern Browser
Hardware: PC
Assumptions: The computer of customer should be connected to Internet.
Pre-Requisite: Customers registered and login.
Step No. Execution description Procedure result
1 Select change plan from upper right System display the change plan page
corner of the screen.
2 Select which plan you want to System open the payment page for this plan.
subscribe to
4 Enter valid payment credentials System update your plan status after
validation and verification.
Comments:
The system works as expected

Passed Failed Not Executed


Ecom Predictor 85

4.2.24 Change Plan (Alternate-8A)


Change Plan
Component ID - 22
Test Case ID: 4.2.24 QA Test Engineer: Waleed Ahmad
Test case Version: 1 Reviewed By: Muhammad Kamran
Test Date: 02/05/2020 Use Case Change Plan UC
Reference(s):
Revision History: None
Objective To Change plan of the customer
Product/Ver/Module: Change Plan Module
Environment: Software: Any Modern Browser
Hardware: PC
Assumptions: The computer of customer should be connected to Internet.
Pre-Requisite: Customers registered and login.
Step No. Execution description Procedure result
1 Select change plan from upper right System display the change plan page
corner of the screen.
2 Select which plan you want to select System open the payment page for this plan.
4 Enter Invalid Credentials System shows red error and does not change
plan
Comments:
The system works as expected

Passed Failed Not Executed


Implementation and Test Cases 86

4.2.25 Login Account as Admin


Admin Login
Component ID - 06
Test Case ID: 4.2.25 QA Test Engineer: Waleed Ahmad
Test case Version: 1 Reviewed By: Muhammad Kamran
Test Date: 02/05/2020 Use Case Login Account UC
Reference(s):
Revision History: None
Objective Customer should be able to login to his/her account
Product/Ver/Module: Login Module
Environment: Software: Any Modern Browser
Hardware: PC
Assumptions: The computer of customer should be connected to Internet.
Pre-Requisite: Customer should be registered in system
Step No. Execution description Procedure result
1 User opens the admin login page. Login page is displayed asking for email and
password.
2 Enter valid credentials and press System verify the credentials, establish a
submit. session for the user and redirects the user to
the home page
Comments:
The system works as expected

Passed Failed Not Executed


Ecom Predictor 87

4.2.26 Login Account as Admin (Alternate-4A)


Admin Login
Component ID - 06
Test Case ID: 4.2.26 QA Test Engineer: Waleed Ahmad
Test case Version: 1 Reviewed By: Muhammad Kamran
Test Date: 02/05/2020 Use Case Login Account UC
Reference(s):
Revision History: None
Objective Customer should be able to login to his/her account
Product/Ver/Module: Login Module
Environment: Software: Any Modern Browser
Hardware: PC
Assumptions: The computer of customer should be connected to Internet.
Pre-Requisite: Customer should be registered in system
Step No. Execution description Procedure result
1 User opens the admin login page. Login page is displayed asking for email and
password.
2 Press submit with empty fields. System dismisses request and shows error
Comments:
The system works as expected

Passed Failed Not Executed


Implementation and Test Cases 88

4.2.27 Admin Adds Customer


Manage Customers
Component ID - 04
Test Case ID: 4.2.27 QA Test Engineer: Waleed Ahmad
Test case Version: 1 Reviewed By: Muhammad Kamran
Test Date: 02/05/2020 Use Case Manage Customers UC
Reference(s):
Revision History: None
Objective Admin Should be able to add, delete the customers
Product/Ver/Module: Manage Customers Module
Environment: Software: Any Modern Browser
Hardware: PC
Assumptions: The computer of customer should be connected to Internet.
Pre-Requisite: System should be in running state and admin should be login.
Step No. Execution description Procedure result
1 Select Manage Customer from side System display Manage Customer page.
menu.
2 Select clicks on “add customer” System shows input fields for the new
Button customer
3 Admin enter details of new customer System adds the customer in the system and
and click submit updates the customer’s list.
Comments:
The system works as expected

Passed Failed Not Executed


Ecom Predictor 89

4.2.28 Admin Adds Customer (Alternative-6A)


Manage Customers
Component ID - 04
Test Case ID: 4.2.28 QA Test Engineer: Waleed Ahmad
Test case Version: 1 Reviewed By: Muhammad Kamran
Test Date: 02/05/2020 Use Case Manage Customers UC
Reference(s):
Revision History: None
Objective Admin Should be able to add, delete the customers
Product/Ver/Module: Manage Customers Module
Environment: Software: Any Modern Browser
Hardware: PC
Assumptions: The computer of customer should be connected to Internet.
Pre-Requisite: System should be in running state and admin should be login.
Step No. Execution description Procedure result
1 Select Manage Customer from side System display Manage Customer page.
menu.
2 Select clicks on “add customer” System shows input fields for the new
Button customer
3 Admin enter invalid details of new System shows error in the invalid input field.
customer and click submit
Comments:
The system works as expected

Passed Failed Not Executed


Implementation and Test Cases 90

4.2.29 Admin Delete Customer


Manage Customers
Component ID - 04
Test Case ID: 4.2.29 QA Test Engineer: Waleed Ahmad
Test case Version: 1 Reviewed By: Muhammad Kamran
Test Date: 02/05/2020 Use Case Manage Customers UC
Reference(s):
Revision History: None
Objective Admin Should be able to add, delete the customers
Product/Ver/Module: Manage Customers Module
Environment: Software: Any Modern Browser
Hardware: PC
Assumptions: The computer of customer should be connected to Internet.
Pre-Requisite: System should be in running state and admin should be login.
Step No. Execution description Procedure result
1 Select Manage Customer from side System display Manage Customer page.
menu.
2 Select clicks on “Delete” Button System deletes the customer in front of it.
from the customer’s list
Comments:
The system works as expected

Passed Failed Not Executed


Ecom Predictor 91

4.2.30 Actions
Actions
Component ID - 05
Test Case ID: 4.2.30 QA Test Engineer: Waleed Ahmad
Test case Version: 1 Reviewed By: Muhammad Kamran
Test Date: 02/05/2020 Use Case Actions UC
Reference(s):
Revision History: None
Objective Admin should be able to active or deactivate actions in the system
Product/Ver/Module: Actions Module
Environment: Software: Any Modern Browser
Hardware: PC
Assumptions: The computer of customer should be connected to Internet.
Pre-Requisite: System should be in running state and admin should be logged in.
Step No. Execution description Procedure result
1 Select ‘Actions’ from side menu. System display Actions page.
2 Admin ticks sales forecasting and System asks for confirmation.
unticks all other. And press
‘update’ button
Admin click on ‘Yes’ System updates actions in the system.
Comments:
The system works as expected

Passed Failed Not Executed


Implementation and Test Cases 92

4.2.31 Limit on Data Size


Upload Data
Component ID - 07
Test Case ID: 4.2.31 QA Test Engineer: Waleed Ahmad
Test case Version: 1 Reviewed By: Muhammad Kamran
Test Date: 02/05/2020 Use Case Upload Data UC
Reference(s):
Revision History: None
Objective System should limit no more than 100MB data
Product/Ver/Module: Upload Data Module
Environment: Software: Any Modern Browser
Hardware: PC
Assumptions: The computer of customer should be connected to Internet.
Pre-Requisite: System should be in running state and customer should be logged in.
Step No. Execution description Procedure result
1 Select Upload data from left. System display Upload Data Page
2 User selects file greater than 100MB System dismisses request and display
and clicks upload. message “100MB limit crossed”
Comments:
The system works as expected

Passed Failed Not Executed

4.2.32 Load Time


Client
Component ID - 02
Test Case ID: 4.2.32 QA Test Engineer: Waleed Ahmad
Test case Version: 1 Reviewed By: Muhammad Kamran
Test Date: 02/05/2020 Use Case None
Reference(s):
Revision History: None
Objective System should load pages under 10 secs
Product/Ver/Module: Client Module
Environment: Software: Any Modern Browser
Hardware: PC
Assumptions: The computer of customer should be connected to Internet.
Pre-Requisite: System should be in running state.
Step No. Execution description Procedure result
1 Select home page System display home page under 10 secs
Comments:
The system works as expected

Passed Failed Not Executed


Ecom Predictor 93

4.2.33 Uptime
Client
Component ID - 02
Test Case ID: 4.2.33 QA Test Engineer: Waleed Ahmad
Test case Version: 1 Reviewed By: Muhammad Kamran
Test Date: 02/05/2020 Use Case None
Reference(s):
Revision History: None
Objective The system should have 95% uptime.
Product/Ver/Module: Client Module
Environment: Software: Any Modern Browser
Hardware: PC
Assumptions: The computer of customer should be connected to Internet.
Pre-Requisite: None
Step No. Execution description Procedure result
1 Use system features for some time. View uptime on cloud. If more than 95%,
pass. Otherwise, failed
Comments:
The system works as expected.

Passed Failed Not Executed

4.2.34 Chrome, Firefox Compatibility


Client and admin
Component ID – 02,01
Test Case ID: 4.2.34 QA Test Engineer: Waleed Ahmad
Test case Version: 1 Reviewed By: Muhammad Kamran
Test Date: 02/05/2020 Use Case None
Reference(s):
Revision History: None
Objective The system interfaces should open fine in chrome and firefox
Product/Ver/Module: Client and Admin Module
Environment: Software: Any Modern Browser
Hardware: PC
Assumptions: The computer of customer should be connected to Internet.
Pre-Requisite: System should be in running state.
Step No. Execution description Procedure result
1 Open ecom predictor in chrome System displays all pages correctly.
2 Open ecom predictor in firefox System displays all pages correctly.
Comments:
The system works as expected

Passed Failed Not Executed


Implementation and Test Cases 94

4.3 Test Metrics


Summarize here the common ground of attributes of test case metrics.

Metric: Value
Number of Test Cases: 34
Number of Test Cases Passed: 33
Number of Test Cases Failed: 1
Test Case Defect Density: 7.69%
Test Case Effectiveness: 66.67%
Traceability Matrix: Traceability matrix is provided separately as excel file.
Ecom Predictor 95

Chapter 5: Experimental Results and Analysis


First of all we implemented the popular linear regression model known as the Arima model
under the statsmodels library of python. In this model, using the client provided dataset we
predict the sales of the next 50 sale days. Predicted sales were from ‘2011-12-10’ with
amount of 6463 to ‘2012-01-28’ with amount of 6072. And had an MSE value is
11124401.195452 on 75% of the training data.
Then we implemented FP Growth using mlxtend library with a support confidence 0.01.In
this model, sample data returned a total of 1039 co-related products. As a result, we found
that products such as these are sold together “['ALARM CLOCK BAKELIKE PINK',
'ALARM CLOCK BAKELIKE RED ', 'ALARM CLOCK BAKELIKE GREEN']”. These
had a support count value of 0.0120849420849421, the greatest amongst the data we had.
Moreover, in customer segmentation the customer base was divided into three segments and
found that how recently, how often and how much customer bought. RFM score was
calculated and then an overall score of the customer was marked as low, mid or high.
As a example customer with ID 17850 has low value.
In customer lifetime value, we used RFM score (calculate in customer segmentation) for to
find customer’s future value. We divide our data 20% for testing and 80% for training. And
trained using XGBoost classification library in python, get accuracy around 85% on test data.
This is quite good to predict customer’s future value.
In uplift modeling, we predict probabilities that how much a customer beneficial for us to
offer a discount by using XGBoost predictor. Then by using these 0.75 probability quantile,
we get customers, which are best fit for our campaign. Then calculate orders and revenue
uplift, which is increased around 13% to 15%. Because these are best customer for our
promotional campaign. If we used second quantile then order and revenue uplift around 5%
to 6%.
Moreover, in the churn analysis after implementing logistic regression using the XGboost
module on the sample data we got an accuracy of 89%. It is important to note that XGboost
uses gradient boosting to improve the converging time of the regression. We noticed that
despite having a similar score to sklearn module, XGboost outperformed it in terms of time.
Moving onto market basket analysis, using the sample dataset we received an accuracy of
approximately 87% using the same XGboost’s logistic classifier module used for the churn
analysis. However here we applied certain formulas to extract the actual conversion rate of
the customers of the estore.
Conclusion 96

Chapter 6: Conclusion
Overall, in the entire project, we have implemented Data science techniques that are quite
benefactor for the ecommerce business. Even though our project uses the core and simpler
techniques like linear regression and logistic regression, we are quite able to develop a
prototype that supports business intelligence. For instance, one of the actions we have
implemented called churn analysis is simply logistic regression as seen on a low level.
Summarizing all of the work done so far, we have successfully implemented all 7 predictions
initially proposed, the details of which are provided in the document above. In addition to
this, we have developed our website. Looking back, we realize that these predictions are
fulfilling them.
The purpose for which they were made, e.g. our first prediction, sales forecasting
successfully predicted next month's revenue and provided a clear graph for better analyzing
purposes.
Hence, our project covered concepts data science along with business intelligence. While
there were successes, there were some setbacks too. As an example, when we were
implementing the decided predictions, we realized that some of the predictions were not
possible to implement. To solve this issue, we changed those problematic predictions and
added a few new ones in their place.
For someone carrying our work forward, we him/her recommend to fulfill the core purpose
for the project i.e. to boost businesses around the world. For example, our implemented sales
forecasting warns our customers about a sales drop coming next month; someone can
improve this by implementing a system that advises what measures you can take to tackle this
drop. To conclude, we are right on our track and will complete the project at the decided
deadline.
Ecom Predictor 97

References
[1] X. Amatriain, “In Machine Learning, What is Better: More Data or better Algorithms
– Kdnuggets,” KDnuggets. [online] Available at: https://www.kdnuggets.com/2015
/06/machine- learning- more-data-better-algorithms.html [Accessed 1 Oct. 2019].
[2] C. Nishant, “21 Performance Optimization Techniques for React Apps,” December
26, 2018. [blog] Available at: https://www.codementor.io/blog/react-optimization-
5wiwjnf9hj [Accessed 10 Oct. 2019].
[3] A. Arvanitakis, “6 tips for better React performance,” itnext.io. [online] Available at:
https://itnext.io/6-tips-for-better-react-performance-4329d12c126b [Accessed 20 Sep.
2019].
[4] How to Start a New Domain, “How Much is a Domain Name?” (And How to Get One
at NO COST!). August 30,2019. [online site] Available at: https://startbloggingonline
.com/how-much- is-a-domain- name/ [Accessed 4 Oct. 2019].
[5] Business.qld.gov.au, “Benefits of cloud computing | Business Queensland,” July
21,2017. [online] Available at: https://www.business.qld.gov.au/running-
business/it/cloud-computing/benefits [Accessed 26 Sep. 2019].
[6] S. Li, “A Gentle Introduction on Market Basket Analysis — Association Rules,” in
Towards Data Science. [online] Available: https://towardsdatascience.com/a-gentle-
introduction-on-market-basket-analysis-association-rules-fa4b986a40ce [Accessed 1
Oct. 2019].
[7] J. Kranz, “Predicting Product Returns in E-Commerce: The Contribution of
Mahalanobis Feature Extraction Completed Research Paper,” in Proceedings of the
36th International Conference on Information Systems (ICIS), [ebook], (2015)
Available at: https://www.researchgate.net/publication/283271154_Predicting_
Product_Returns_in_ECommerce_The_Contribution_of_Mahalanobis_Feature_Extra
ction_Completed_Research_Paper
[8] B. Karaman, “Customer Segmentation,” in Towards Data Science. [online]
Available: https://towardsdatascience.com/data-driven-growth-with-python-part-2-
customer-segmentation-5c019d150444 [Accessed 2 Oct. 2019].
[9] B. Karaman, “Customer Lifetime Value Prediction,” in Towards Data Science.
[online] Available: https://towardsdatascience.com/data-driven-growth-with-python-
part-3-customer-lifetime- value-prediction-6017802f2e0f [Accessed 1 Oct. 2019].
[10] B. Karaman, “Churn Prediction”. in Towards Data Science. [online] Available at:
https://towardsdatascience.com/churn-prediction-3a4a36c2129a [Accessed 1 Oct.
2019].
[11] A. Muhammad, “Predictive Analytics: Predictive Consumer Behaviour with Data
Analytics,” in Towards Data Science. [online] Available at: https:// towards
datascience.com/predictive-analytics-predicting-consumer-behavior-with-data-
analytics-8ca51abb8dc2 [Accessed 4 Oct. 2019].
[12] C. Clark, “A Simple Trending Products Recommendation Engine in Pytho,” February
28, 2017. [blog] Available: http://blog.yhat.com/posts/trending-products ecommender
-engine.html [Accessed 2 Oct. 2019].
References 98

[13] Quora.com, “How many ecommerce sites are there in the world?,” - Quora. October
10, 2017, [online] Available at: https://www.quora.com/How-many-ecommerce-sites-
are-there-in-the-world-1 [Accessed 28 Sep. 2019].
[14] LeanKit.com, "Top 6 Software Development Methodologies | LeanKit," LeanKit,
2019. [Online]. Available at: https://leankit.com/blog/2019/03/top-6-software-
development-methodologies/. [Accessed: 1. Nov. 2019].

[15] Stackify.com, "Web Application Performance: 7 Common Problems and How to


Solve Them," Stackify, 2019. [Online]. Available at: https://stackify.com/web-
application-problems/. [Accessed: 19. Nov. 2019].

[16] Smartcorp.com, "Smart Software - Demand Planning, Forecasting and Inventory


Optimization", Smart Software, 2019. [Online]. Available at: https://smartcorp.com/.
[Accessed: 16- Oct- 2019].

[17] Zoho.com, "Zoho - Cloud Software Suite and SaaS Applications for
Businesses", Zoho, 2019. [Online]. Available at: https://www.zoho.com/. [Accessed:
26- Oct- 2019].

[18] RetentionGrid.com, "RetentionGrid - Keep Your Customers Coming Back -


RetentionGrid", RetentionGrid, 2019. [Online]. Available at: http://retentiongrid
.com/. [Accessed: 01- Nov- 2019].

[19] Clari.com, "Revenue Operations Platform", Clari, 2019. [Online]. Available at:
https://www.clari.com/. [Accessed: 28- Nov- 2019].

[20] Clari SB AI Applications for Sales, Practical AI Applications for Sales, Clari, 2019.

[21] E. Lewis, "The 30 Most Influential E-Commerce Players in the World", Dealhack,
2019. [Online]. Available: https://dealhack.com/30-most-influential-e-commerce.
[Accessed: 18- Nov- 2019].

[22] Otects.com, "7.2 Trend methods | Forecasting: Principles and Practice", Otexts.com,
2019. [Online]. Available at: https://otexts.com/fpp2/holt.html. [Accessed: 01- Oct-
2019].

[23] Softwaretesting.com, "Frequent Pattern (FP) Growth Algorithm In Data


Mining", Softwaretestinghelp.com, 2019. [Online]. Available at: https://www.
softwaretestinghelp .com/fp-growth-algorithm-data-mining/. [Accessed: 14- Oct-
2019].

[24] Optimove.com, "RFM Segmentation | RFM Analysis, Model, Marketing & Software |
Optimove", Optimove, 2019. [Online]. Available at: https://www.optimove.com
/resources/learning-center/rfm-segmentation. [Accessed: 01- Nov- 2019].

[25] P. Makhija, "RFM Analysis for Customer Segmentation | CleverTap", CleverTap,


2019. [Online]. Available at: https://clevertap.com/blog/rfm-analysis/. [Accessed: 01-
Dec- 2019].
[26] B. Karaman, “Customer Lifetime Value Prediction,” in Towards Data Science.
[online] Available: https://towardsdatascience.com/data-driven-growth-with-python-
part-3-customer-lifetime- value-prediction-6017802f2e0f [Accessed 1 Oct. 2019].
Ecom Predictor 99

[27] B. Karaman, “Uplift Modeling,” in Towards Data Sceince. [online] Available:


https://towardsdatascience.com/uplift-modeling-e38f96b1ef60 [Accessed 25 January
2020].

You might also like