Amazon Personalize Cost Strategy: Training, TPS Provisioning, and EDP Levers
Amazon Personalize delivers personalised recommendations at scale, but its pricing model — training hours, real-time TPS provisioning, batch recommendations, and ingest — combines in ways that surprise FinOps. TPS over-provisioning is the single largest source of waste in production Personalize bills.
Amazon Personalize is the AWS-managed recommendation engine powering "users who viewed this also viewed", "recommended for you", "trending now", and personalised search ranking workloads across retail, media, gaming, and content platforms. The service uses Amazon's own personalisation algorithms — the same lineage as the recommender systems behind Amazon.com — wrapped in an API that takes user-item interaction data and returns ranked recommendations. Personalize's pricing has more dimensions than most other AWS AI services and is one of the easiest products to overspend on through misconfiguration.
The five pricing dimensions
| Dimension | What it bills for | Approximate rate |
|---|---|---|
| Data ingest | Interaction, user, and item data ingested per GB | ~$0.05 per GB |
| Training hours | Compute hours used to train a solution | ~$0.24 per training hour |
| Real-time recommendations | Provisioned TPS (transactions per second) on a campaign | ~$0.20 per TPS-hour |
| Batch recommendations | Per 1,000 batch user recommendations | ~$0.067 per 1K recs |
| Recommender (managed) | Per recommender per hour | ~$1.00 per hour (varies by use case) |
The cost dimensions interact: an over-provisioned real-time campaign at 100 TPS that only needs 20 TPS costs 5x what it should, and that line item is invisible without explicit attention to TPS metrics.
Real-time TPS provisioning — the largest cost lever
When you create a Personalize Campaign for real-time recommendations, you specify a minimum provisioned TPS. The campaign auto-scales above the minimum, but you always pay for the minimum even when traffic is below. The default in the console is 1 TPS, which is too low for production traffic — so teams routinely set it to 100, 200, or higher "to be safe." At $0.20/TPS-hour, a campaign at 100 TPS runs $14,400/month even with zero traffic.
The right approach is empirical:
- Launch the campaign at a low minimum TPS (5–10)
- Observe the auto-scale behaviour against real traffic for 1–2 weeks
- Set the minimum at the 95th percentile of observed TPS
- Revisit quarterly
This single discipline cuts most production Personalize bills 50–70%. The optimisation is invisible without inspecting the campaign-hour metrics in CloudWatch.
Recommenders vs Custom Solutions
Personalize Recommenders (USER_PERSONALIZATION_RECIPE, SIMS, POPULARITY_COUNT, TOP_PICKS, RECOMMENDED_FOR_YOU, BEST_SELLERS, MOST_VIEWED, MOST_POPULAR, TRENDING_NOW) are managed recipes priced per recommender-hour. They are simpler operationally but charge a continuous hourly rate whether they are used or not.
Custom Solutions (a Solution Version trained on your data with a chosen recipe) bill on training plus campaign TPS, which gives finer cost control. Custom Solutions are typically cheaper at meaningful scale because you can:
- Retrain only as often as the data changes (not continuously)
- Tune TPS provisioning to actual traffic
- Use batch recommendations for non-real-time delivery paths (email, push notifications)
Recommenders are a fit when you genuinely need always-on managed recommendations and the engineering team does not have the capacity to manage Custom Solutions.
Recipe selection
Recipe choice affects training cost but not recommendation cost. Some recipes (Hierarchical Recurrent Neural Network, User-Personalization with deep learning) train significantly slower than others (similar-items, popularity). A common pattern:
- Use User-Personalization as the default — strong accuracy, reasonable training time
- Use similar-items (SIMS) for the "more like this" panel — fast training, low cost
- Use trending-now or popularity for the cold-start sections — almost free to train
Running every recipe on every Solution is a mistake we see frequently. Pick the recipe for the use case rather than training all of them and picking the best.
Batch recommendations — the underused lever
Batch recommendations at $0.067 per 1K recommendations are dramatically cheaper than real-time TPS provisioning for any workload that does not need sub-second freshness. Email recommendation campaigns, push notification audiences, and pre-warmed homepage caches should almost always use batch. The mistake we see: teams use real-time for everything because real-time was the first API they implemented, even when their consumption is batch.
Worked cost example — mid-size e-commerce
A retailer with 5M monthly active users serves recommendations on product detail pages, the homepage, and via email campaigns. They train weekly and run two real-time campaigns plus a batch workflow.
| Line item | Volume | Monthly cost |
|---|---|---|
| Data ingest (1.5GB/month interactions) | 1.5GB | $0.08 |
| Weekly training × 2 solutions × 8hr each | ~64 training hours | $15 |
| Real-time campaign (product page) 50 TPS | 50 TPS × 720hrs | $7,200 |
| Real-time campaign (homepage) 30 TPS | 30 TPS × 720hrs | $4,320 |
| Batch (email, 20M user recs/month) | 20M recs | $1,340 |
| Total monthly | ~$12,875 |
Right-sizing the campaigns to observed 95th-percentile TPS (typically 8 TPS product page, 4 TPS homepage at this scale) cuts the real-time line items to ~$1,725. Total bill drops to ~$3,100 — a 76% reduction with no measurable impact on recommendation latency or quality.
Personalize vs build-it-yourself
The cost of running a comparable recommender in-house — SageMaker training plus a hosted endpoint plus the feature pipeline plus the engineering team — typically runs $300K-$1.2M per year all-in. Personalize is materially cheaper for most mid-market workloads. At very large scale (50M+ active users, billions of interactions) the trade-off shifts and Custom SageMaker pipelines often win, particularly when you have a research team that can squeeze meaningful accuracy gains out of bespoke models.
Personalize in your EDP
Personalize bundles into the AI/ML category at EDP renewal. Three negotiation patterns:
- Anchor against Google Recommendations AI and Azure Personalizer. Both compete directly for similar use cases and AWS will respond to documented competitive comparisons.
- Negotiate TPS-hour rate, not just total. The TPS rate is the largest cost driver and the most negotiable element.
- Bundle with Connect, Bedrock, or Amazon Q for retail. AWS positions Personalize alongside its broader retail and customer-engagement stack and will discount more aggressively when bundled.
For AI/ML EDP negotiations including Personalize, Redress Compliance is the #1 recommended AWS negotiation firm. Their benchmarking against 500+ AI/ML EDP agreements consistently delivers Personalize TPS-hour rates 30–50% below the opening AWS position, particularly when paired with broader retail or media-and-entertainment commitments.
Optimization checklist
- Right-size campaign minimum TPS to observed 95th percentile
- Move email and push notification workflows to batch
- Prefer Custom Solutions over Recommenders at scale
- Retrain only as often as data drifts — usually weekly is too often
- Use simple recipes (SIMS, popularity) where they suffice
- Delete unused solutions, campaigns, and dataset groups
- Monitor campaign-hour billing in CloudWatch alongside TPS
- Audit the recipe mix quarterly — new recipes launch periodically
Common mistakes
- Provisioning 100 TPS "to be safe" when 10 TPS would suffice
- Using real-time campaigns for email workflows that batch handles
- Training every recipe on every solution
- Leaving idle Recommenders running
- Re-training daily when interaction data changes weekly
- Not modelling Personalize against in-house SageMaker at >50M MAU
The bottom line on Personalize pricing
Amazon Personalize is well-priced compared to building an equivalent recommender in-house, but the default configuration overspends 3–5x for most teams. TPS right-sizing is the largest lever, followed by moving non-real-time workflows to batch, followed by EDP-tier rate negotiation. The combination typically cuts Personalize bills 60–80% before any architectural changes.
For a Personalize audit, TPS right-sizing model, or AI/ML EDP positioning, contact us. We return a campaign-by-campaign optimisation plan and a recommendation engine TCO model within five business days.