Amazon Personalize
Motor de Recomendaciones con Machine Learning
Servicio fully-managed de AWS que genera recomendaciones personalizadas en tiempo real usando los mismos algoritmos de ML que Amazon.com
¿Qué es Amazon Personalize?
Amazon Personalize es un servicio de machine learning que permite crear sistemas de recomendación sin necesidad de experiencia en ML. Usa la misma tecnología que Amazon.com utiliza para recomendar productos a sus clientes.
Fully Managed
No requiere infraestructura de ML. AWS maneja entrenamiento, hosting y escalamiento
Real-Time
Recomendaciones en milisegundos. Se adapta al comportamiento del usuario en tiempo real
Sin expertise ML
Solo necesitas datos de interacciones. Personalize selecciona el mejor algoritmo automáticamente
¿Cómo funciona?
Importar datos
Subes tus datasets a S3: interacciones (quién hizo qué), items (catálogo), users (metadata)
Entrenar modelo
Personalize selecciona la mejor receta (algoritmo) y entrena un Solution Version con tus datos
Crear campaña
Despliegas el modelo como un endpoint de inferencia con TPS (transacciones por segundo) configurables
Obtener recomendaciones
Llamas a GetRecommendations con un user_id y recibes items rankeados por probabilidad de interés
¿Con base en qué recomienda?
El modelo User-Personalization combina tres señales para decidir qué recomendar a cada usuario:
Historial del usuario
Qué items consumió en el pasado, en qué orden, y con qué frecuencia
Ejemplo:
User 1 → vio Crimson Tide, The Firm, Cape Fear
Patrón detectado: thrillers/acción
Usuarios similares (collaborative filtering)
Usuarios con historial parecido tienden a querer los mismos items
Ejemplo:
Users que vieron Fargo también vieron L.A. Confidential
Co-ocurrencia → recomendación
Metadata de items
Géneros, categorías y atributos del item complementan cuando hay poco historial
Ejemplo:
Item 50 = Action|Sci-Fi|Adventure
Similar a items ya consumidos
Requisitos para usar Personalize
Datos mínimos
- • Mínimo 1,000 interacciones (más = mejor)
- • Mínimo 25 usuarios únicos con 2+ interacciones
- • Dataset de interactions obligatorio (USER_ID, ITEM_ID, TIMESTAMP)
- • Datasets de items y users opcionales pero recomendados
Infraestructura
- • Bucket S3 para almacenar datasets
- • IAM Role con permisos para Personalize
- • Campaña con TPS provisionado (mínimo 1 TPS) ⓘ
- • Opcional: VPC Endpoint para red privada
De datos a recomendación — ejemplo real
Así es como el modelo llega a recomendar items específicos para un usuario:

Ejemplo: Usuario Carlos Mendoza (ID ...) — ... interacciones históricas
1. El modelo vio su historial
- ... y -5 interacciones más
2. Detectó patrones
3. Generó ranking
Traducido a Amazon Cinema (F&B):
Si Carlos siempre compra Combo Nachos + ICEE + Brownie con Helado, el modelo detecta ese patrón y le recomienda esos items primero. Pero también le muestra un Combo Director Premium (exploración) por si descubre algo nuevo que le guste. Cada compra que haga actualiza el modelo en tiempo real.
Recomendaciones en vivo
Perfil: 🎬 Carlos Mendoza · México
| # | Item ID | Película | Score ML |
|---|
Cómo se entrenó este modelo
Dataset de entrenamiento
Caso de uso Amazon Cinema (producción)
Filtros por país — implementación técnica
Filter Expressions de Personalize limitan qué items se recomiendan sin reentrenar el modelo:
Opción A: Filtro por metadata de item
# Filter Expression
INCLUDE ItemID WHERE
Items.AVAILABLE_COUNTRIES
IN ("MX", "AR", "BR")
Cada item tiene campo AVAILABLE_COUNTRIES. Solo devuelve items del mercado del usuario.
Opción B: Filtro dinámico por parámetro
# Filter con variable
INCLUDE ItemID WHERE
Items.COUNTRY IN ($COUNTRY)
# En runtime:
filterValues: { COUNTRY: "BR" }
País como parámetro en cada request. Sin filtros separados por mercado.
Métricas y cold-start
User-Personalization
Receta (algoritmo)
Event Tracker
Actualización real-time sin reentrenar
164ms p50
Latencia red privada (VPC Endpoint)
Cold-start handling
Usuarios nuevos
Usa metadata (país, tier, edad) + popularidad. Conforme interactúa, se personaliza.
Items nuevos
Se agregan via PutItems API. El modelo los incorpora por metadata sin reentrenar.
¿Cada cuánto se actualiza el modelo?
Hay dos tipos de actualización — una automática y otra manual:
Actualización en tiempo real (automática)
El Event Tracker captura cada interacción nueva y ajusta las recomendaciones sin reentrenar el modelo completo.
- • Se activa con cada evento (view, purchase, click)
- • Efecto inmediato en las recomendaciones
- • No requiere acción manual
- • Ideal para: "el usuario acaba de comprar nachos → ya no le recomiendes nachos"
Reentrenamiento completo (manual/programado)
Se crea una nueva Solution Version con todos los datos acumulados. Mejora la calidad general del modelo.
- • Frecuencia recomendada: cada 1-2 semanas
- • Obligatorio cuando: cambias el catálogo significativamente o agregas muchos usuarios nuevos
- • Duración: 1-4 horas (depende del volumen de datos)
- • Se puede automatizar con Step Functions o EventBridge (ej: todos los lunes a las 3am)
Para Amazon Cinema:
Con 4.97M usuarios y ~100 SKUs de F&B, el reentrenamiento semanal es suficiente. El Event Tracker se encarga del día a día (compras nuevas, items agotados). Solo se necesita reentrenar cuando hay cambios grandes: nuevo menú por temporada, lanzamiento de producto, o expansión a nuevo país.
Personalización por país
El idioma no afecta las recomendaciones. Personalize trabaja con patrones de comportamiento (IDs + metadata), no con texto. Mismo modelo para todos los mercados, con filtros por disponibilidad local.
🇲🇽 México
Catálogo completo. Modelo entrenado con historial de 4.97M usuarios
🇦🇷 Argentina
Mismo modelo, filtro por items disponibles en AR. Catálogo parcial
🇧🇷 Brasil
Mismo modelo, items en portugués en el catálogo. ML no procesa idioma
🇪🇸 España
Personalize desplegado en eu-central-1 (Frankfurt). Lambda en eu-south-2 consume localmente
Arquitectura Local: México (us-east-1)
Lambda y Personalize en la misma región. Latencia mínima por red privada.

Resultados de la prueba (us-east-1 local)
Tipo
Intra-región (óptimo)
Red
100% PrivateLink
Umbral UX
< 1 segundo ✓
Qué esperar por tipo de usuario
Cambia el perfil en el header para ver cómo las recomendaciones cambian en tiempo real.
🎬 Cinéfilo (MX)
Thrillers, acción, sci-fi — películas de alta intensidad
👨👩👧 Familia (MX)
Comedias, aventura, animación — contenido familiar
🇦🇷 Argentina
Dramas modernos, romance — cine contemporáneo
🇧🇷 Brasil
Clásicos, drama europeo — cine de autor
🇪🇸 España
Cine europeo, drama, sci-fi — variado con preferencia autoral