Machine Learning in Product Demand Prediction

2 weeks ago
Machine learning (ML) is a type of Computational Intelligence (CI) that allows software applications to become more accurate at predicting outcomes without being explicitly programmed to do so. Machine learning algorithms use historical data as input to predict new output values.  Linear regression is one of the popular Machine Learning algorithms. It is a statistical method that is used for predictive analysis. Linear regression makes predictions for continuous/ real or numeric variables such as sales, salary, age, product price, etc. In this experiment, we employed a linear regression algorithm to predict nopCommerce product demand.

As we want to predict demand from historical data, we choose nopCommerce where we easily get it. nopCommerce is an open-source eCommerce platform that has various features for an eCommerce site. Inside any eCommerce solution orders and products, features are most important. For preparing the training model, the dataset is taken from orders, order-Item, and product table from the nopCommerce Database. More than 3, 000 orders and more than 10, 000 and 18, 000 products datasets are pre-processed to train the model.

To implement a machine learning algorithm, we use ML.Net and ML.FastTree. After training the ML model, we saved it to the plugin folder. After this, we load the trained model when we predict from nopCommerce real data.

Below, I have shared the working procedure of our proposed model and the user interface of the prediction result.





2 weeks ago
Nice Article!
2 weeks ago
great article
2 weeks ago
[email protected] wrote:
To implement a machine learning algorithm, we use ML.Net and ML.FastTree. After training the ML model, we saved it to the plugin folder. After this, we load the trained model when we predict from nopCommerce real data.

It sounds interesting but too general. Could you please share some specific details?
2 weeks ago
In the future, we are planning to enhance the accuracy of the prediction result by employing ensemble classifiers like random forest or AdaBoost as a learner.
2 weeks ago
a.m. wrote:
To implement a machine learning algorithm, we use ML.Net and ML.FastTree. After training the ML model, we saved it to the plugin folder. After this, we load the trained model when we predict from nopCommerce real data.
It sounds interesting but too general. Could you please share some specific details?


Yes sure. To train our model, we have prepared training data from the Order, OrderItem, and Product table, initially. Secondly, we have selected some features: unit price, the product is shown on the home page or not, shipping charge, discount price, week on. Based on these features, we have found out the sales quantity of a product for a month and for a specific week.

As it is a regression problem in machine learning, we have applied a regression algorithm employing ML.Net. To enhance the accuracy of the model, we preprocessed the training dataset which we have taken from nopCommerce. Also, applied under-sampling and over-sampling techniques to overcome the imbalance problem in the training dataset.

In the future, we are planning to enhance the accuracy of the prediction result by employing ensemble classifiers like random forest or AdaBoost as a learner.
2 weeks ago
Nice work! Please keep us updated.

The product's supply and demand and is driven by the consumers. If a store owner can predict the future, they'll be rich :)