Skip to content

Amazon Personalize - Runbook & Reference

中文 · GitHub source Facts verified against official AWS documentation: 2026-08-19

Overview

Amazon Personalize is a fully managed machine learning service that generates item recommendations for users and creates user segments based on affinity, using your own data. It supports real-time personalization APIs and batch operations, and offers use-case optimized recommenders as well as fully customizable resources.

Key concepts

  • Datasets: interactions (user-item events), items, users, actions, and action interactions; bulk data from CSV plus real-time events.
  • Recommenders and solutions: use-case optimized recommenders (for example, Top picks, More like X, Recommended for you) or custom solutions trained on your data.
  • Real-time vs. batch: real-time API for live recommendations; batch inference for email lists, marketing campaigns, and user segments.
  • User segments: groups of users likely to interact with items, for targeted campaigns.
  • Next best action: recommend actions (for example, loyalty enrollment, app download) based on user behavior.
  • Search re-ranking: re-rank search results (for example, from OpenSearch) for personalization.
  • Data preparation: import data from 40+ sources with SageMaker AI Data Wrangler; record real-time events with Amplify or SDKs.

Common operations (AWS CLI)

# Create a dataset group and import interactions
aws personalize create-dataset-group --name app-personalization
aws personalize create-dataset --dataset-group-arn <group-arn> \
  --dataset-type Interactions --schema-arn <schema-arn>
aws personalize create-dataset-import-job --dataset-arn <dataset-arn> \
  --job-name interactions-import \
  --data-source '{"dataLocation":"s3://bucket/interactions.csv"}' \
  --role-arn arn:aws:iam::123456789012:role/personalize-role

# Create a solution version and deploy a campaign
aws personalize create-solution --dataset-group-arn <group-arn> \
  --name top-picks --recipe-arn <recipe-arn>
aws personalize create-solution-version --solution-arn <solution-arn>
aws personalize create-campaign --name prod --solution-version-arn <sv-arn> \
  --min-provisioned-tps 1

# Get recommendations (runtime)
aws personalize-runtime get-recommendations --campaign-arn <campaign-arn> \
  --user-id user-123

Best practices

  • Collect clean interaction data (user, item, timestamp) and use real-time events for fresh recommendations.
  • Start with use-case optimized recommenders, then move to custom solutions when you need deeper tuning.
  • Evaluate campaigns with offline metrics and A/B tests before rolling out.
  • Use batch workflows for email/marketing and segments; reserve real-time endpoints for live traffic.
  • Re-rank search results with Personalize for e-commerce/streaming experiences.
  • Monitor data quality, event ingestion, and campaign latency; retrain on a schedule.

Troubleshooting

Symptom Checks and fixes
No recommendations Check dataset import status, user/item IDs, and campaign/solution version state.
Import job failed Verify CSV schema, S3 permissions, and the IAM role for the import.
Cold-start users Use popular-items recipes/fallback for users without history.
Recommendations stale Import fresh interactions and retrain/update the solution version.
High endpoint cost Reduce min-provisioned TPS or use batch operations for non-interactive use cases.

Limits

Datasets, solutions, campaigns, and API request rates per account have quotas. See the Amazon Personalize endpoints and quotas page and Service Quotas console for current values.

Official references