I have a website:
- 10,000 pages, each page represent a category, for example: "Laptops".
- On each page I am showing 20 recommended products
- 99% of the users are anonymous
- For each user I have a context (device, user-agent and category)
- For each product I have the price and the seller name
- I have 2 events: outbound & purchase
I would like to re-rank (re-order, sort) the results for each new anonymous user based on the user context. I would like to re-rank based on performance (outbound & purchase).
Do you have recommendation for Specific algorithm OR tool OR service to do that? I found AWS Personalize very nice but the problem is that all of my users are anonymous so I don't believe it can be effective in my use case.
Amazon Personalize can still be used effectively when most/all users are anonymous. If you track users as visitors using a cookie or local storage, then a visitor's session ID can be considered the
userIdin Personalize. You will lose the continuity of stitching together the same logical user's activity across multiple sessions but you can still get in-session personalization. This requires calling PutEvents with the visitor's session ID in thesessionIdfield and excluding theuserIdfield. Then when calling the GetRecommendations or GetPersonalizedRanking APIs, use the visitor's session ID as theuserIdfield. Personalize will consider the event activity for the visitor's session when providing recommendations or reranking items.If the visitor is a known user or later becomes known (i.e. signs in or creates an account), then pass their user ID in the
userIdfield forPutEventsandGetRecommendations/GetPersonalizedRanking. At the next training, Personalize will associate any prior anonymous events (i.e. those with asessionIdbut not auserId) to the user. The key is using a consistentsessionIdacross the anonymous and known events for the user for the session.