Maintaining Personalized Experiences with Machine Learning

What does this AWS Solution do?

This AWS Solution helps you build custom Amazon Personalize experiences for your product portfolio. Amazon Personalize allows you to create custom recommendation models at scale. This solution streamlines and accelerates the development and deployment of your personalization workloads through end-to-end automation and scheduling of updates for resources within the Amazon Personalize service.


Create Amazon Personalize solutions

Automate the creation of all resources in Amazon Personalize up front to reduce friction in setting up resources.

Build recommendation models

Define and build recommendation models automatically by declaring their configuration.

Integrate Amazon Personalize workflows

Integrate workflows around Amazon Personalize into your applications.

AWS Solution overview

The diagram below presents the architecture you can automatically deploy using the solution's implementation guide and accompanying AWS CloudFormation template.

Maintaining Personalized Experiences with Machine Learning solution architecture

The AWS CloudFormation template deploys the following infrastructure:

  1. An Amazon Simple Storage Service (Amazon S3) bucket used to store personalization data and configuration files.
  2. An AWS Lambda function initiated when new or updated personalization configuration is uploaded to the personalization data bucket.
  3. An AWS Step Functions workflow to manage all of the resources of an Amazon Personalize dataset group (including datasets, schemas, event tracker, filters, solutions, campaigns, and batch inference jobs).
  4. Amazon CloudWatch metrics for Amazon Personalize for each new trained solution version are added to help you evaluate the performance of a model over time.
  5. An Amazon Simple Notification Service (SNS) topic and subscription to notify an administrator when the maintenance workflow has completed via email.
  6. Amazon DynamoDB tracks the scheduled events configured for Amazon Personalize to fully or partially retrain Amazon Personalize solutions, import or reimport datasets, and perform batch inference jobs.
  7. An AWS Step Functions workflow tracks the current running scheduled events, and invoke step functions to perform Amazon Personalize solution maintenance (creating new solution versions, updating campaigns), import updated datasets, and perform batch inference.
  8. A set of maintenance AWS step functions to create new dataset import jobs on schedule; perform Amazon Personalize solution FULL retraining on schedule (and update associated campaigns); perform Amazon Personalize solution UPDATE retraining on schedule (and update associated campaigns); and create batch inference jobs.
  9. An Amazon EventBridge event bus, where resource status notification updates are posted throughout the AWS Step Functions workflow.
  10. A command line interface (CLI) allows you to import and establish schedules for resources that already exist in Amazon Personalize.

Maintaining Personalized Experiences with Machine Learning

Version 1.3.1
Released: 12/2022
Author: AWS

Estimated deployment time: 5 min

Estimated cost  Source code  CloudFormation template 
Use the button below to subscribe to solution updates.
Note: To subscribe to RSS updates, you must have an RSS plug-in enabled for the browser you are using.
Did this Solutions Implementation help you?
Provide feedback 
Build icon
Deploy an AWS Solution yourself

Browse our library of AWS Solutions to get answers to common architectural problems.

Learn more 
Find an APN partner
Find an AWS Partner Solution

Find AWS Partners to help you get started.

Explore icon
Explore Guidance

Find prescriptive architectural diagrams, sample code, and technical content for common use cases.

Learn more