I am writing my Master thesis, where the goal is to estimate user-item purchase probabilities. In other words, for a given user, what is the probability he/she will buy a certain item. I have session logs (click sessions on items of users) and buys from an e-commerce website.

I found the evaluation to be very hard. Therefore, my approach was the following:

1 Predict the probability that a user will buy something in the next session, given the current session (and earlier sessions). Using this, I can filter out people that have a reasonable probability to buy something at all.

2 I want to take the top 50 items (recommended/ranked by the recommender system currently in place) and from these items, I want to estimate the probability. (As estimating this from all items would be impossible to evaluate at all).

Something else I could do is only looking at the items that a user have clicked on, and estimate those probabilities.

The biggest problem is how to evaluate these probabilities?

Can someone help me define the problem, or give me some hints/tips on how to proceed? If this would not be possible, I have to find another (related) topic to my thesis.


1 Answer 1


If there are users' session available I'd recommend to go for a session-based recommendation - when we make recommendation of next click/buy item based on the current user's session. That seems the most appropriate for your data and also very attractive way of doing recommendation systems in the e-commerce, when still most of users while searching for purchase or window-shopping is not logged in.

While predicting the next action, few measures can be used. But from practical perspective and current publications, two are quite interesting:

  • REC@N - Recall at top-N best recommended items. This measure gives the information about the overall engagement of the users and many times it's said that is correlates with CTR on live(production) use.

  • MRR@N - Mean Reciprocal Rank at top-N ranked recommendation, which gives you the information how well is your personalized ranking for the current session prediction.

I'd recommend reading two recent papers about session-based recommendation - one is about making the next item recommendation based on sequences of items [1]. The other one [2] is about making recommendations based on the current user's session when you have rich context for recommended items and session events. Which is mostly true for the e-commerce system, where you have items described by: title, attributes, text description, images, etc. And also in users session there are additional events like interaction which search engines, which gives lots of users preferences in data for the query, sorting by which attribute, etc. This can be used as a current session context. In both works you can find references to related works, which can be helpful for you.

[1]: Hidasi, B., Karatzoglou, A., Baltrunas, L., & Tikk, D. (2015). Session-based Recommendations with Recurrent Neural Networks, 1–9. Retrieved from http://arxiv.org/abs/1511.06939

[2]: Twardowski, B. (2016). Modelling Contextual Information in Session-Aware Recommender Systems with Neural Networks, 0–3. http://doi.org/10.1145/2959100.2959162


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.