Architecture Overview - Amazon Personalize Optimizer Using Amazon Pinpoint Events

Architecture Overview

Deploying this solution with the default parameters builds the following environment in the AWS Cloud.


        Amazon Personalize Optimizer Using Amazon Pinpoint Events architecture diagram

Figure 1: Amazon Personalize Optimizer Using Amazon Pinpoint Events architecture

The AWS CloudFormation template configures the Amazon Pinpoint event stream on an existing Amazon Pinpoint project to use Amazon Kinesis Data Firehose to store event data in Amazon Simple Storage Service (Amazon S3). The Amazon S3 data schema is stored in an AWS Glue Data Catalog enabling data queries.

There is a constant flow of real-time data moving from Amazon Pinpoint through Kinesis Data Firehose and being stored in Amazon S3. When you send a campaign, Amazon Pinpoint connects with Amazon Personalize to retrieve a personalized recommendation based on the Amazon Pinpoint recommender model configuration for each user identified in the campaign.

The AWS CloudFormation template also deploys a daily batch process orchestrated by AWS Step Functions. The process begins when an Amazon CloudWatch time-based event triggers a series of AWS Lambda functions that use an Amazon Athena query to query customer data stored in Amazon S3. The query result is then used to retrain Amazon Personalize by providing new interaction data from the Amazon Pinpoint event data.