1 Introduction

People are familiar with recommendation system from ancient age. Computerized recommendation system was first introduced by “Jussi karlgren” in a technical report [1, 2]. Generally, people depend on recommendations delivered by another people through their words and activities [3, 4]. In real market, when customers ask for anything seller shows not only the demanded product but also shows some other similar products that customer may want. But in virtual market, there is opportunity to do this. Now-a-days in the context of online shopping, few online shops use attaining some sort of recommendation. If we create and implement it properly, it may boost up income significantly. We know that when we buy a product from online shop, they suggest us for rating their product. As this is not a mandatory field, majority skip this option. From literature, existing recommendation system recommends a product based on user rating. But there are some problems in the user rating-based recommendation system like data sparsity [5, 6], scalability [7, 8], shilling attack [9, 10].

1.1 Data sparsity

The sparsity come in a variety of state, especially the cold start problem occurs when new user or item has just come in the device, it is tough to give recommendation ones because there is not enough information. New items shouldn’t be suggested until some users rate it [5, 6].

1.2 Scalability

When the user and item increase tremendously in the system then it is so difficult to make recommendation. Because in the collaborative filtering sustain serious scalability problems, with computational tools going behind practical or sufficient levels [7, 8].

1.3 Shilling attacks

If people can provide tons of positive rating about their own products and negative rating for their competitors. Exactly where anybody can offer suggestions, individuals can offer a lot of good suggestions regarding personal supplies as well as damaging suggestions for his or her rivals [9, 10].

There are two important ways of recommendation system:

  • Collaborative filtering.

  • Content-based filtering.

1.4 Collaborative filtering

Collaborative filtering algorithm considers “User Behavior” just for recommending items. They exploit routine of other user’s ratings knowledge. Other user’s behavior and preferences throughout the items are used to recommend what to the new users [11, 12]. Collaborative filtering predicts the eye of products for an active customer while using aggregated rating information of the likeminded customers within the historical database [13]. All the outcomes will be opinion explicating as to the location customer would like or dislike exact precise supplement and also a good recommended component [14].

1.5 Content-based filtering

content-based systems referred to as cognitive filtering. Content based filtering depends upon the uses choices [15]. The feature of items can be mapped with feature of users for you to obtain user-item likeness. The top matched pairs are listed as recommendations. From these matrix, we can determine the recommendation to users for individual product according to their choices [16, 17].

2 Dynamic recommendation system

A successful model has several parameters such as user demographics, robustness and serendipity [18]. Recommendation can be provided towards user by their demographics data [19]. Robustness indicates the issue of hype that must be identified in recommendation system [20]. The serendipity is a measurement of “how amazing the recommendation are” [21]. By satisfying these parameters, an intelligent recommendation model is proposed in this paper regarding the following issues (Fig. 1):

Fig. 1
figure 1

System architecture for user recommendation

  • Avoid user rating.

  • Consider frequent items.

  • Consider the customer searching/browsing history.

  • Consider best-selling item.

  • Consider data sparsity issue.

  • Consider scalability issue.

According to our model recommendation system architecture is divided into two main parts i.e:

  • Offline mining.

  • Online recommendation.

In offline mining, the system manipulates the customer database and web log file. After analyzing customer data, it generates association rule and find frequent item. On the other hand, web log file contains all the information according to the user activity within the site [22]. Here, customer database is personalized and updated according to the user account. And the web log file is created and updated by user account and also individual device account. In case of web log file, user account supersedes the device account. After analyzing these data, the customer behavior (i.e. what one likes, what one may want etc.) will be traced out.

All results from offline mining are stored in recommendation engine. In online recommendation, when a user hit anything to the browser then the browser send a request to the server. The server sends the information to the recommendation engine and recommendation engine analyze the current status of the users and produce the immediate response for the users [23] (Fig. 2).

Fig. 2
figure 2

Model flow chart

Working principles of proposed dynamic recommendation system is given as:

figure a

Web interface can be categories into two parts: interface for new user and interface for existing user. Initially, each new device works as a new customer until the user provides authentication. After authentication, personalization of customer is used for recommendation. Initially, the proposed model recommends the most selling items and the new items for new user. A set of new products are shown in front of new users. A new product is recognized based on their launching time. Also, a new item can be migrated into the set of best-selling items. A best-selling item is determined by the weight of the item. When the weight of the item is crossed the threshold value, the item is migrated to best-selling item. The threshold value will be changed based on the number of items in best-selling set. The weight of the item is calculated by the following heuristic function:

$$\begin{aligned} {\text{weight}}_{i} = {\text{count}}_{i} \left( {\text{hour}} \right) \times 0.25 + {\text{count}}_{i} \left( {\text{day}} \right) \times 0.20 \hfill \\ + \, {\text{count}}_{i} \left( {\text{week}} \right) \times 0.15 + {\text{count}}_{i} \left( {\text{month}} \right) \times 0.10 \hfill \\ {\text{ + count}}_{i} \left( { 3 {\text{\_month}}} \right) \times 0.08 + {\text{count}}_{i} \left( { 6 {\text{\_month}}} \right) \times 0.07 \hfill \\ {\text{ + count}}_{i} \left( { 9 {\text{\_month}}} \right) \times 0.06 + {\text{count}}_{i} \left( { 1 2 {\text{\_month}}} \right) \times 0.05 \hfill \\ {\text{ + count}}_{i} \left( {{\text{life}}\_{\text{time}}} \right) \times 0.04, \hfill \\ \end{aligned}$$
(1)

where, i is item id and i = {1,2,3,…………n}, counti (hour) Total number sells in the last hour for product i, counti (day) = absolute_counti (day) − counti (hour), absolute_counti (day) = Total number sells in the last day for product i, Similarly, counti (month) = absolute_counti (month) − counti (week) − counti (day) − counti (hour).

The weight of item i is distributed based on selling period from most recent to its initiation.

When the existing user interact with the web interface, the most selling items, new items and user personalization items are shown. To provide the personalized recommendation, we consider the parameters such as: user’s age, living area, gender, previous buying and browsing history.

In the case of weight calculation to identify the most selling item, both ‘Add to cart’ and ‘Payment’ categories are considered:

$${\text{``Addtocart''}} + {\text{``Payment''}} = {\text{``Checkout''}}.$$
(2)

So that we take a set of top weighted products (ten products) that satisfy this equation.

Regarding the proposed model, if user search anything like a cellphone, but not a specific model then it shows products according to the most click items that is viewed by users at a huge time. If user search specific item, the system recommends similar items. User can look for an item by using any feature of that item. The system provides the targeted items according to the user personalization and weight of the item. Suppose, a user choose “Nokia 3” which price is 13,500 takas, so the feature of “Nokia 3” will be displayed. But in the recommendation box, the system shows the similar smart phone like Samsung, Huawei, Lava etc. which configuration or outlook might be similar or better than “Nokia 3” and which price is closely related to 13,500 takas. The system provides the targeted items according to latest version of that product. Suppose, a user search “Samsung J5”. In the recommendation box we want to show him/her “Samsung J7” that is the latest version of Samsung J5”. So that there is a close possibility to buy a smartphone. If a customer buys any product, the system endorses the customer to buy the most frequent items. Suppose, a user buys a laptop, the recommendation engine provides most frequent items like key board, mouse, modem etc.

3 Discussion

The special features of our model are user personalization, frequent item mining, surprise element and avoid user rating. We have combined a bunch of technique rather than considering one to make better recommendations. For user personalization we analyze user demographic data from web log file. This model exercise FP growth algorithm to find out most frequent item. And for surprise element, the most prominent distinction of this model, we consider most selling item and new item by calculating their weight. For user personalization we analyze user demographic data from web log file. This model exercise FP growth algorithm to find out most frequent item. And for surprise element, the most prominent distinction of this model, we consider most selling item and new item by calculating their weight. To find most frequent items there are two algorithms. One is Apriori algorithm and another is FP-Growth algorithm. We used FP-Growth method. Because Apriori algorithm needs large time and memory so that it is optimal [24]. To generate association rule using frequent item mining we use “Rapid Miner Studio” (RM). We have used ‘Breakfast at the Frat’ dataset from [25, 26].

In Fig. 3 shows that how we generate association rule in rapid miner. According to Table 1 we see that for first row the support is 0.419 that mean in the total transaction, 41.9% possibility to buy (SPEND, UNITS, HHS) products together. Confidence 0.837 indicates if a customer buy “SPEND” product there is 83.7% possibility to buy “UNITS” and “HHS” products.

Fig. 3
figure 3

Raw data input process

Table 1 Output support and confidence (rapid miner)

In Figs. 4 and 5 shows output association rule and its output graph that is generated by rapid miner. In current system there are some recommendation algorithms, but most of the algorithm cannot solve these three main problems (data sparsity, scalability, shilling attack) because they consider user rating for recommendation. Our proposed model can solve all these major problems of current recommendation system. Table 2 shows the comparison between current algorithms and our algorithm.

Fig. 4
figure 4

Output association rule

Fig. 5
figure 5

Output association rule graph

Table 2 Comparison table

4 Conclusion and future scope

Automatic recommendation system is very important for e-commerce site. Amazon says 40% of their sales increased using recommendation engine. A perfect dynamic recommendation engine then it would be helpful to increase the revenue of ecommerce business. In this paper we have proposed a DRS model which avoid the user rating system and overcome data sparsity, scalability, shilling attack problems. But we don’t prepare a complete recommendation engine. Our main goal is to implement the model into a real e-commerce or online retailer.