In this blog post we are going to discuss how to use Amazon Personalize for the purpose fo creating an insurance recommendation engine. In general, the requirements for an insurance recommendation engine usually fall into the following categories.
- Recommend an insurance product that a customer does not already own.
- Recommend an insurance product that matches the customer’s demographic information.
Please note that Amazon Personalize provides a recommendation engine for your website’s registered users only. You can first register the users into your website first and then use Amazon Personalize to provide recommendations once the users have been imported.
1. Setting Up Products in Amazon Personalize
In terms of Japanese insurance products, instead of recommending a specific product name, it’s probably best to setup your recommendation engine to recommend coverages that your customer does not already have. Types of coverages may include:
Life, Cancer, Hospitalization, Endowment, Disability, Annuity, and Nursing Care.
Insurance companies in Japan provide various types of hospitalization coverages including outpatient, advanced medical, surgery but typically these coverages are packaged into a single Hospitalization product as riders. Depending if you want the recommendation engine to recommend riders or not, you may want to register those as items as well in Amazon Personalize.
A very simplistic example of coverages are provided in github below:
https://github.com/Enrapt/AWS-Personalize/blob/main/test-data/items.csv
2. Setting Up Users
In terms of user information, the sample will just provide the require set of customer information such as age, gender. However, family information or income could help better adjust the recommendation results.
A simple user data set is provided below.
https://github.com/Enrapt/AWS-Personalize/blob/main/test-data/users.csv
3. Setting Up Amazon Personalize
In order to setup Amazon Personalize you will need to take the above users data, products data, and a set of interaction data and place that into an S3 bucket for Amazon to consume.
An interactions file is provided in Github as well which just provides a list of which users own which products. In a more real-world scenario, it would be best to collect the interactions from users from the product website or insurance illustration tools.
https://github.com/Enrapt/AWS-Personalize/blob/main/test-data/interaction.csv
When setting up your Amazon Personalize environment you will need to first create an S3 bucket with the CSV files provided in Github and then import those files into Amazon Personalize. This will provide the data necessary to train your recommendation engine.

Next you will need to create a solution and specify a recipe which is used to training your recommendation model. The algorithm will depend mainly on the type of interaction data that you are collecting from your customers. In this case the sample will use the aws-sims recipe since we want to recommend to the user other products other customers have either purchased or interacted with.

Finally create a campaign to complete your data-set group.

Using the solution created above you can then test with relevant user information via API or via the AWS Console. This guide doesn’t cover the setting up of filters, that will depend on the type of data that you provide to AWS, but you can use the filters to exclude already purchased coverages so that only coverages that the user does not already have will be shown as a recommendation.