We have a Reddit style app where users browse an endless feed of images. In each session, users can view anywhere from 500-1000 images.
We're using Personalize and we need to filter out any items that have been viewed by users previously. Unfortunately Personalize only uses the last 100 user interactions, so after a while the same items will be recommended over and over again. Especially if a user is having a longer session where they browse 500+ images in one go, most of the recommended items will be the same.
From the docs:
Amazon Personalize considers up to 100 of the most recent interactions per user per event type. This is an adjustable quota.
What's the best way to handle this type of use case? Is there some architecture pattern we can follow for this scenario? Seems like a common social media scenario, but the current restriction on 100 events per filter is pretty limiting.
Should we ask for a quota increase? Not sure how much more expensive this will be plus the docs are not clear on what the max number of interactions we could request is. Is it 500, 5,000, 50,000+ or even more? Does the aws bill increase exponentially the more historical interactions filters can use?
Any guidance here would be super helpful! Thanks!
We've tried using just regular filters but it breaks down after 100+ viewed items per session.
We've also thought about bucketing view events, ex view_1-100, view_100-200, view_200-300 and being clever about how we store events in each bucket, but this seems hacky and inefficient.