Some Amazon Personalize recipes such as User-Personalization are designed to personalize at the individual user level. From a relevance perspective, this is much more effective than "personalizing" to large groups of users based on shared interests.
Caching personalized content, such as content recommendations, that is unique to each end-user is more difficult to do effectively with shared caches and has lower cache hit rates. However, you can still leverage private caches (browser/device cache) and use shared caches (CloudFront and/or API Gateway caches) to reduce repeat origin inference calls for personalized responses. The key is to use a cache key that incorporates the user's identity.
Non-personalized recommendation use cases can be cached more aggressively. For example, related items (SIMS & Similar-Items recipes) and popularity (Popularity-Count recipe) can use longer cache TTLs and shared across all users since they are not personalized to the individual user. The one caveat to this, though, is if a Personalize filter is being used that filters based on the current user's recent interactions or user metadata.
The Personalization APIs project provides a deployable solution that implements APIs with multiple layers of caching (private, edge, gateway) that can be configured at the personalization use-case level.
AWS personalize GetRecommendations call over a campaign is very fast (<10 ms) if Campaign TPS is set correctly(else auto TPS scaling impacts performance temporarily. I would suggest to cache individual news components content and stitch them together at run time as per recommendations from AWS personalize. Do note that near real time recommendations through ingestion of realtime feeds using put* API calls is a great capability which may be very useful, especially in your use case. Realtime feeds also removes need to retrain model with full data at a frequency hence saves cost too. With realtime feeds model keep updating itself without need to full retraining.
If you really want to get recommendations for a group of users together then you may try below but I would not advice this approach. It may degrade quality of recommendations and ability to use realtime recommendations. AWS personalize recipes like "User-Personalization" uses user's interactions, user's metadata, items metadata all to learn user + item similarity. It also uses chronology of events to learn about user. Clubbing users may degrade quality. You can still give it a try and use it if quality is acceptable to you.
- club users in groups using a some modeling technique. Make sure number of groups are large enough and more than minimum users to train an AWS personalize model
- Create a dummy user for each group. You will have to merge metadata of users in group in some way to create a value for this user.
- Feed interactions of everyone in a group as interactions of dummy user created for that group
- train "User-Personalization" recipe. on this data
- create a campaign for realtime recommendations or use batch inference to cache results.
- at runtime find which group user belongs to and find dummy user used to train personalize for that group. use this user's recommendation to serve content.
Amazon Personalize- Exploration weight impact on recommendationsasked 2 months ago
Is there any way to download the recommended lists of users as bulk when using AWS-Personalize (specifically using user-personalization)asked a year ago
Can AWS Personalize be optimized/segmented for cachable recommendations?asked 9 months ago
Personalize Recommendations for Anonymous Users using SessionIdasked 2 months ago
How can we discourage Personalize from over-focussing on popular items?EXPERTasked a year ago
How do you give negative feedback to amazon personalize? i.e. tell personalize that a user doesn't like a certain item?asked a year ago
Preventing high cost with Aws PersonalizeAccepted Answerasked 8 months ago
AWS personalize get-recommendations bugasked 6 months ago
Amazon Personalize Data RequirementsAccepted Answerasked 2 years ago
How to avoid Personalize SIMS to recommend only popular items?Accepted AnswerEXPERTasked 2 years ago