Posted on

What is Project CORE?

 
image098
 
Project CORE(Create your Own Recommendation Engine) is one of its kind to learn technologies End-to-End while building live enterprise grade project using the right tools from scratch. While having an experience in more than just one technology is essential, with Project CORE you will gain experience, in-depth and step-by-step understanding of how things are done in enterprise projects of present and future.
 
With focus on modularization in current Industry Standard, we have included all the technologies which are in demand and necessary to make a powerful and scalable enterprise grade application and put them in front of you, the way you will be working with these.
 
Project CORE is hands on course on End to End project development and run, which will give you all necessary insights on how to go from
 

  • Ideation to Design
  • Design to Development
  • Development to Deployment
  • And Deployment to Delivery.

 
You have experienced the on-demand content on our platform and many other platforms but for the first time, you will experience live project development with us on Project CORE.
 
Use case of Project CORE:

 

 

1.1 Functionality of the Use case
 
The use case is divided into two parts
 

  • Sales and Commerce End
  • Enterprise End of A FMCG Company

1.1.a Sales and Commerce end

 

image033

 

Let’s discuss about Sales and Commerce first
 
In Sales and Commerce end, our user is marketing manager who wants to take a Smart decision with the help of Machine Learning to a huge product data set which comprises millions of products (a Big Data).
Functional Scenario
 
“A Big e-Commerce Platform decided to bundle items together based on the co-products. The main idea is to bundle (combining the items in one package) together. If Product A is sold frequently with product B then selling A and B together will increase the sales. Also if A is a top selling product then it will increase the sales of B as well. Marketing team will also run few advertisement campaigns on this bundling and the marketing manager who has to take this call, his whole promotions depends upon this.”
 
Now comes the first challenge, there are lot of products in an e-Commerce company and they can bundle lot of items together finding the most optimal item which need to be selected is a major challenging task.
 
image035
 
image037
 
For more important reasons, they will be spending a lot of marketing coverage and showcasing the bundle on the first page and if the selection is sub optimal then the return of the decision can be questioned.
 
So the process of decision making needs the help of Big Data Analytics and Machine Learning. Machine Learning algorithm will go to all product list one by one and find out what are co-products i.e. what are the products which sells together. Also in this case as the numbers of products are too much the processing might need big data tools.
 
Now let’s talk about the UI that we are going to create for marketing end in this project. The wireframe for the UI is as below which is created in Moqups which is here.
 
image039
 
1.1.b Technicality of the UI
 
The UI is made with D3JS and Angular4. The UI is built with
 

  • Web frame – Which holds the graph.
  • Graph – Which shows the product node which is linked with other similar product nodes.
  • Tables – Which shows the products which are linked to it.
  • Slider – To Zoom in and Zoom Out
  • Drop Down – To Select the View

 
We have used here Angular4 for the front end which is to be used by marketing manager and team to brainstorm the product.
 
Main technical reason to use Angular4 is:
 

  • Angular4 is Open-Source and Made by Google®
  • The App made with Angular4 are much more responsive
  • It has huge list of components in its library
  • Ability to integrate with third party Libraries is much better with Angular4
  • It is lightweight which means the size of final application is smaller

 

  • Initially when we fire up the App from marketing manager point, we will have bundle Items view. Here we have a D3JS Graph where the top selling elements will be shown initially
  • If we click on any one of the node, it will show the item’s co-product these co product are the items which are most frequently sold with the current item and are found by machine learning
  • We see in the table the average sales rank of the item and sub item.
  • We select the item bundle which has a better sales rank.
  • We send the new selected bundling information to the production end so they can take care of sudden peak of demand of the bundled item.

 

image035

 

1.1.d Functionality for Machine Learning and Big Data
 
The marketing manager backend will have a huge amount of data to find out which items are co-products and this is both a big data and machine learning use case. For machine learning we are going to use Collaborative Filtering algorithm. It uses Hadoop Spark ML Library features which separates the complete data into smaller chunks and then processes it in the Cluster Mode. We will be using REST API to expose the data that will be consumed by Angular4 and D3JS to Visualize it.

 

image044

 

1.1.e More about Data
 
For this use case, we have taken data from Stanford University. The data was collected by crawling Amazon® website and contains product metadata and review information about 548,552 different products (Books, music CDs, DVDs and VHS video tapes).
 
For each product the following information available:

  • Title
  • Salesrank
  • List of similar products (that get co-purchased with the current product)
  • Detailed product categorization
  • Product reviews: time, customer, rating, number of votes, number of people that found the review helpful

 

Data Statistics
Data format
Id: 15
ASIN: 1559362022
title: Wake Up and Smell the Coffee
group: Book
salesrank: 518927
similar: 5 1559360968 1559361247 1559360828 1559361018 0743214552
categories: 3
|Books[283155]|Subjects[1000]|Literature & Fiction[17]|Drama[2159]|United States[2160]
|Books[283155]|Subjects[1000]|Arts & Photography[1]|Performing Arts[521000]|Theater[2154]|General[2218]
|Books[283155]|Subjects[1000]|Literature & Fiction[17]|Authors, A-Z[70021]|( B )[70023]|Bogosian, Eric[70116]
reviews: total: 8 downloaded: 8 avg rating: 4
2002-5-13 cutomer: A2IGOA66Y6O8TQ rating: 5 votes: 3 helpful: 2
2002-6-17 cutomer: A2OIN4AUH84KNE rating: 5 votes: 2 helpful: 1
2003-1-2 cutomer: A2HN382JNT1CIU rating: 1 votes: 6 helpful: 1
2003-6-7 cutomer: A2FDJ79LDU4O18 rating: 4 votes: 1 helpful: 1
2003-6-27 cutomer: A39QMV9ZKRJXO5 rating: 4 votes: 1 helpful: 1
2004-2-17 cutomer: AUUVMSTQ1TXDI rating: 1 votes: 2 helpful: 0
2004-2-24 cutomer: A2C5K0QTLL9UAT rating: 5 votes: 2 helpful: 2
2004-10-13 cutomer: A5XYF0Z3UH4HB rating: 5 votes: 1 helpful: 1

Data format Summary:
 

  • Id: Product id (number 0, …, 548551)
  • ASIN: Amazon Standard Identification Number
  • title: Name/title of the product
  • group: Product group (Book, DVD, Video or Music)
  • salesrank: Amazon Salesrank
  • similar: ASINs of co-purchased products (people who buy X also buy Y)
  • categories: Location in product category hierarchy to which the product belongs (separated by |, category id in [])
  • reviews: Product review information: time, user id, rating, total number of votes on the review, total number of helpfulness votes (how many people found the review to be helpful)
  • After parsing the data we will get these details

 
The first column shows the product id, the second column shows User ID and the third column shows the review given by the user.
 
All the operations will be performed on cloud running SPARK on Hadoop’s HDFS which will be hosted in AWS system and Python will be used to write the algorithms and logic here.
 
image048
1.1.2 Enterprise End of a FMCG Company
 
Consider the previous use case, when the marketing manager locks a product and adds it to a bundle. Because, of this extra marketing effort the sales of the product will spike up. Depending on the analysis they might have a prediction of how much sales will spike for that particular selected product. To meet this new increased demand of the products, manufacturing needs to be done fast and in much larger quantity for coming 2 months (the duration until the campaign lasts) and it needs to be updated into the backend which runs the entire production and factory production to the item.
 
This factory can be a separate entity from the e-commerce platform or can also be entirely different company altogether. In this case if the internal company is running on SAP® ERP then the production management team on getting this update will be using MRP – Material Requirements Planning to increase the production. If they cannot meet the requirement upfront then they will update the marketing manager team of e-commerce end so they can select the second best option or save marketing budget. As the material might become out of stock if it is not produced to meet the spiked demand.

 

1.1.2.a A brief about MRP – Material Requirements Planning
 
Material Requirement Planning (SAP® MRP) is a tool which helps in planning the requirement quantities and schedules of a given material. It not only ensures availability of the material for which MRP is carried out, but also ensures availability of the components (of all the BOM levels) below in the BOM structure.

 

image050

 

Now companies which are running on SAP® are using HANA®, a powerful in memory database and platform to manage high processing load of operation activity, planning and real time control.
 
So in SAP® HANA®, the MRP is done with MRP Live

 

image052

 

Also in HANA® Live we have MD01N to do MRP. This will handle data in real-time and faster. The entire MRP planning sometimes are custom based on the internal processes of the company (FMCG Company that manufactures the product) and Project CORE will cover the detailed step of the entire MRP process too.

 

1.1.2.b Front end of MRP Cockpit
 
The front end of the application will be made using SAPUI5 a JavaScript framework which can render wonderful UX for Production Manager to visualize the raw material availability and take care of the planning part of it in detail.

 

image054

 

The entire application will be made with custom application development utilizing XML views in UI5. The main front end is a tile view where the shortage of the items will be reflected once the API communication comes from the e-commerce end. And the details line item of which material is having shortage is also shown in front end UI once the user press on the tile of Material Shortage which can be result of increase in forecasted demands when the marketing team decides to go for bundling of items with best seller and start advertising campaign.

 

image056

 

1.2 Project CORE Summary
 
Project CORE is kept realistic and the entire application will be made is enterprise grade quality. The main purpose of Project CORE is to expose learner on the tools and techniques and inner working of technologies, which are:
 
1. SAP® HANA®
2. SAPUI5
3. Angular4
4. D3JS
5. Python with Spark on top of Hadoop
6. Machine Leaning with Spark
7. Integration of the entire stack with REST API
 
While working through this app, you will face the same challenges which you will face on your job where you always have less time and by overcoming those challenges you will gain real project experience. After the review of the application which you make, UI5CN will also hand-off Project CORE experience certificate.
 
image058