## 7 Conclusions  
We propose a model based on graph-CNN for session-based product recommendations in online marketplaces. The proposed model comprehensively emphasizes the customer's interests and previous click patterns. After extensive experiments and parameter tuning, our model learns the complex relationships between product data, network structure and as well as the temporal information. With the simple GCN model the system finds it difficult to get more than 80% prediction accuracy. Also, without fine tuning the model's structure, it becomes computationally rich and complex. That affects the performance of the model in terms of low prediction rates and model overfitting. Therefore, we propose another variation by introducing an optimization module. This module is incorporated with the simple GCN model, it learns the optimal values for each node and then updates the weights accordingly. During the process, records with less than three clicks are discarded along with the records that show some abnormal patterns. Specifically, we first process the log data files, the random data records are converted to user click sequences. These click sequences of users are converted to anonymous user sessions. Then directed graphs are constructed from these sessions referred as session graphs. The products are encoded and are later converted into nodes. Each node represents an item. These session graphs are embedded, and we use them as input to the GCN model. It basically takes click sequences in form of session graph and each session graph has a destination node i.e., a final product bought by the user. If a user has multiple items bought in the same session, we generate separate paths for each destination node. \begin{table}
\begin{tabular}{c c c c c c c} \hline \hline
**Datasets** & **Type** &
\begin{tabular}{c} **Evaluation** \\ **Metrics** \\ \end{tabular} & **POP** & **HRM** & **NARM** & **OpGCN** \\ \hline \multirow{3}{*}{Cora} & \multirow{3}{*}{Citation Network} & Accuracy & 0.76 & 0.84 & 0.81 & 0.93 \\  & & RMSE & 6.50 & 5.42 & 5.81 & 4.52 \\  & & MRR@10 & 21.87 & 33.45 & 29.56 & 34.72 \\ \multirow{3}{*}{Diginetica} & \multirow{3}{*}{Product Network} & Accuracy & 0.73 & 0.85 & 0.83 & 0.92 \\  & & RMSE & 6.12 & 5.36 & 5.11 & 4.50 \\ \multirow{3}{*}{Our dataset} & \multirow{3}{*}{Product Network} & MRR@10 & 23.85 & 31.55 & 29.01 & 36.78 \\  & & Accuracy & 0.72 & 0.83 & 0.82 & 0.93 \\ \multirow{3}{*}{Our dataset} & \multirow{3}{*}{Product Network} & RMSE & 5.51 & 5.92 & 5.35 & 4.50 \\  & & MRR@10 & 22.57 & 29.74 & 31.67 & 37.91 \\ \hline \hline \end{tabular}
\end{table} 
Table 7: Performance comparison of different baseline methods on different datasets. This way all the dependencies in the data are learnt. We use an objective function that maximized the weights of our desired nodes and hence, minimize the weights of undesired nodes. This way the graph structures become less computationally complex. Then the prediction layer predicts the likelihood of each product to be clicked and purchased by the user. The recommendation module selects top k items for the user. We have different sizes of session graphs based on the maximum number of clicks made by a user in a session. In experiments, we tune the maximum clicks and evaluate the performance of the model. We have learnt that optimal size of click sequence is 15 to 20 clicks. If number of clicks increases beyond 20, the performance of the systems starts degrading. This means that we find the best possible structure of the graph with appropriate number of nodes that are the best representative of the whole data. If a system is successful in optimizing the graph structure, it can drastically improve the performance of the recommendation system. We have figured out the importance of the graph structure and how it can uplift or enhance a systems performance. Therefore, we performed experiments with different settings, we generated graph structures with different tuning parameters such as the nodes selection, fixing sequence length, optimal weights of the nodes etc.