Crear gráfico de Amplitude
Crea gráficos a partir de lenguaje natural descubriendo eventos, definiendo la estructura del gráfico y verificando los resultados.
Planificación previa (Crítico)
Antes de cualquier llamada a herramientas, descompón la solicitud:
1. Identificar los componentes del gráfico:
- Tipo de gráfico y métrica (qué se está midiendo)
- Rango de tiempo (por defecto: Últimos 30 días si no se especifica)
- Evento principal (la acción que se cuenta)
- Condiciones de segmento (filtros/grupos de usuarios)
- Filtros, agrupaciones, desgloses
- Pasos del funnel (si es análisis de conversión)
2. Planificar búsquedas de eventos:
- UNA búsqueda por concepto de evento distinto
- Nunca combinar múltiples conceptos en una sola búsqueda
- Ejemplo: "compra" y "registro" necesitan búsquedas separadas
3. Planificar llamadas paralelas a herramientas:
- Obtener contexto, buscar eventos, encontrar cohortes pueden ejecutarse juntos
- Esperar los resultados antes de construir la definición
Descubrimiento de eventos (Crítico: Descubrimiento primero)
IMPORTANTE: Lanza una red amplia antes de reducir
Cuando la solicitud del usuario sea ambigua o pueda mapearse a múltiples eventos:
- Busca de forma AMPLIA primero para descubrir opciones relevantes
- Revisa los resultados relevantes: busca eventos relacionados, eventos personalizados, meta eventos
- Presenta las opciones al usuario O explica tu justificación de selección
- Intenta no asumir que un solo evento es la única respuesta sin exploración
Buscar eventos:
Amplitude:search con entity_types=['EVENT', 'CUSTOM_EVENT']
- Busca UN concepto a la vez
- Usa términos de búsqueda amplios primero (ej., "IA" no solo "chat IA")
- ✓ Correcto: "usuario completa compra"
- ✗ Incorrecto: "eventos de registro o compra"
Toma decisiones informadas, luego explica:
- Busca ampliamente para descubrir todas las opciones
- Revisa los resultados e identifica el enfoque más completo/preciso
- Toma tu mejor decisión (prefiere eventos personalizados agregados sobre eventos individuales)
- Siempre explica: "Encontré las opciones X, Y, Z. Elegí [X] porque [razón]. Esto incluye/excluye [alcance]."
- El usuario puede corregir si tu suposición fue incorrecta
Criterios de decisión:
- Prefiere eventos personalizados que agreguen actividad relacionada (ej., "[2026] Métrica de activación [solo eventos de IA]")
- Si no existe un evento agregado, elige el evento de interacción principal
- Considera qué significa "usuario activo" típicamente para esa área del producto
- Por defecto, usa un alcance más amplio a menos que el usuario especifique un enfoque más estrecho
Ejemplos:
- ❌ MALO: Usuario pregunta "usuarios semanales de IA" → elegir inmediatamente "ai-chat: enviar mensaje" sin explorar, sin explicación
- ✅ BUENO: Usuario pregunta "usuarios semanales de IA" → buscar "IA", encontrar Ask AI, Agents, Visibility, evento personalizado agregado. Responder: "Encontré actividad de IA en Ask AI, Agents y Visibility. Estoy usando el evento personalizado '[2026] Métrica de activación [solo eventos de IA]' que incluye todas las interacciones con productos de IA. Esto te da el total de usuarios de IA en todas las funciones. Avísame si quieres enfocarte en un producto de IA específico en su lugar."
Verificar antes de usar:
- Obtén gráficos existentes que usen el evento mediante búsqueda
- Verifica que el evento tenga volumen real (no cero/desactualizado)
- Busca eventos personalizados que agreguen actividad relacionada
- Si los resultados son cero, busca alternativas
Obtener propiedades:
Amplitude:get_event_properties para nombres/valores exactos de propiedades
Encontrar cohortes:
Amplitude:search con entity_types=['COHORT']
Amplitude:get_cohorts para obtener definiciones completas
Selección del tipo de gráfico
| Tipo de gráfico | Cuándo usarlo |
|---|---|
eventsSegmentation | Contar eventos/usuarios a lo largo del tiempo, tendencias, comparaciones, KPIs, distribuciones, análisis de propiedades |
funnels | Análisis de conversión de varios pasos con una secuencia conocida, análisis de abandono, tiempo entre eventos específicos, métricas de tiempo hasta la conversión |
retention | Comportamiento de retorno de usuarios, curvas de retención de cohortes, análisis de abandono |
dataTableV2 | Comparaciones tabulares, rankings, desgloses multidimensionales |
customerJourney | Exploración de rutas, descubrimiento de rutas desconocidas que toman los usuarios, comparación de rutas de usuarios convertidos vs. abandonados |
sessions | Duración de sesión, frecuencia de sesión, tiempo invertido por usuario, distribuciones de longitud de sesión |
Referencia rápida
eventsSegmentation - El más versátil. Úsalo para:
- Recuentos de usuarios (DAU, WAU, MAU) con métrica
uniques - Totales de eventos, promedios, sumas de propiedades
- Percentiles, distribuciones, fórmulas
- Series temporales con ventanas móviles
Alcance de agregación (eventsSegmentation):
PROPSUM(A)/metric: "sums"= Suma global de TODOS los eventosmetric: "frequency"= Distribución de recuentos de eventos por usuario (cuántos usuarios lo hicieron 1x, 2x, 3x)- Para "distribución de suma de propiedades por usuario": Amplitude no lo soporta directamente. Usa
metric: "frequency"para distribuciones de conteo de eventos, o usa dataTableV2 agrupado por user_id con PROPSUM, luego exporta para análisis externo.
funnels - Análisis de conversión con pasos predefinidos. Úsalo para:
- Tasas de conversión paso a paso cuando conoces la secuencia esperada
- Secuencias ordenadas o desordenadas
- Tiempo hasta la conversión (tiempo medio entre eventos)
- Eventos de exclusión, ventanas de conversión
- Eventos superpuestos: para encontrar usuarios que realizaron múltiples eventos (en cualquier orden), usa un funnel con "cualquier orden" y establece la ventana de conversión para que coincida con el rango de fechas del gráfico
- Nota: Si quieres descubrir qué rutas toman los usuarios, usa
customerJourneyen su lugar
retention - Comportamiento de retorno. Úsalo para:
- Curvas de retención a N días o retención móvil
- Análisis de cohortes (usuarios nuevos vs. recurrentes)
- Patrones de evento de inicio → evento de retorno
dataTableV2 - Datos tabulares. Úsalo para:
- Desgloses por dimensiones (país, plataforma, etc.)
- Comparaciones de múltiples métricas en formato de tabla
customerJourney - Exploración y descubrimiento de rutas. Úsalo para:
- Entender las rutas reales que toman los usuarios (vs. las rutas esperadas en funnels)
- Analizar rutas que comienzan, terminan o están entre dos eventos específicos
- Comparar rutas de usuarios convertidos vs. abandonados lado a lado
- Descubrir patrones de navegación inesperados o puntos de fricción
- Explorar la frecuencia de rutas, similitud o tiempo promedio para completar
- Reducir la brecha entre los recorridos ideales del cliente y el comportamiento real del usuario
sessions - Métricas de engagement basadas en sesiones. Úsalo para:
- Análisis de duración de sesión (longitud promedio, tiempo invertido, distribuciones)
- Frecuencia de sesión (sesiones promedio por usuario, sesiones totales)
- Tiempo invertido por usuario a lo largo del tiempo
- Eventos realizados dentro de sesiones (eventos promedio por sesión)
- Comparar el comportamiento de sesión entre segmentos de usuarios
Métricas especiales:
- Recuentos de usuarios:
metric: "uniques" - Recuentos de eventos:
metric: "totals" - Sumas de propiedades:
metric: "sums"con propiedad engroup_by - Tasas/porcentajes: Úsalo al comparar grupos de diferentes tamaños
Meta eventos:
_active: Cualquier evento activo (DAU, MAU)_new: Nuevos usuarios (evento de primera vez)_any_revenue_event: Eventos de ingresos
Estructura de la definición del gráfico
Parámetros principales (todos los tipos de gráfico):
{
"name": "Título descriptivo del gráfico",
"projectId": "12345",
"definition": {
"app": "12345",
"type": "eventsSegmentation",
"params": {
"range": "Últimos 30 días",
"events": [{
"event_type": "Compra completada",
"filters": [],
"group_by": []
}],
"metric": "uniques",
"countGroup": "User",
"interval": 1,
"segments": [{"conditions": []}]
}
}
}
Parámetros clave:
countGroup: "User" (usuarios únicos) o "Event" (ocurrencias de eventos)interval: 1 (diario), 7 (semanal), 30 (mensual)segments: Filtros/grupos de usuarios (array vacío = todos los usuarios)
Filtros de eventos (lógica OR inline):
"filters": [{
"group_type": "User",
"subprop_key": "country",
"subprop_op": "is",
"subprop_type": "event",
"subprop_value": ["Estados Unidos", "Canadá"]
}]
Segmentos de usuario (lógica AND en condiciones):
"segments": [{
"name": "Usuarios activos",
"conditions": [{
"type": "property",
"group_type": "User",
"prop_type": "user",
"prop": "plan",
"op": "is",
"values": ["Pro", "Enterprise"]
}]
}]
Segmentos de cohorte: Busca la cohorte, obtén su ID, luego:
"segments": [{
"name": "Mi cohorte",
"conditions": [{
"type": "cohort",
"group_type": "User",
"cohort_id": "abc123",
"op": "is_in"
}]
}]
Flujo de trabajo: Crear gráfico
- Obtener contexto:
Amplitude:get_context (para projectId)
- Descubrir eventos (búsqueda AMPLIA primero):
Amplitude:search para cada concepto distinto
- Usa términos de búsqueda amplios inicialmente
- Busca todos los eventos relacionados, eventos personalizados, cohortes
- Revisa TODOS los resultados antes de seleccionar
- Evaluar y decidir:
- Revisa todos los eventos descubiertos y eventos personalizados
- Toma una decisión informada (prefiere eventos agregados)
- Prepara una explicación clara de lo que encontraste y tu elección
- Encontrar gráficos similares (ver ejemplos):
Amplitude:search entity_types=['CHART'] query="concepto similar"
Amplitude:get_charts para ver la estructura de la definición
- Obtener propiedades si es necesario:
Amplitude:get_event_properties
- Construir definición usando nombres descubiertos
- Explica la justificación de la selección de eventos en la respuesta
- Crear gráfico:
Amplitude:query_dataset con la definición completa
-
Verificar resultados - comprueba que los datos tengan sentido
-
Guardar gráfico:
Amplitude:save_chart_edits con editId de query_dataset
Manejo de errores
Si query_dataset falla:
- Lee el mensaje de error con atención
- Problemas comunes: nombres de eventos incorrectos, filtros inválidos, tipos de parámetros incorrectos
- Corrige la definición y vuelve a intentar
- Verifica que los eventos existan primero mediante búsqueda
Si los resultados son cero:
- Verifica que los filtros no sean demasiado restrictivos
- Confirma que el evento tenga datos (busca gráficos que lo usen)
- Prueba con un rango de tiempo más amplio
- Revisa las condiciones de segmento
Mejores prácticas
Nomenclatura:
- Incluye métrica + contexto temporal: "Usuarios activos semanales últimos 90 días"
- No: "WAU" o "Usuarios"
Rangos de tiempo:
- Por defecto: "Últimos 30 días"
- Usa rangos inclusivos para períodos específicos
- Indica explícitamente el rango interpretado
Verificación:
- Siempre verifica que el evento exista antes de usarlo
- Revisa gráficos similares para entender el uso del evento
- Confirma propiedades con get_event_properties
Comparaciones:
- Usa segmentos para comparar grupos de usuarios en el mismo gráfico
- Usa tasas/porcentajes para grupos de diferentes tamaños
Siempre incluye:
- URL del gráfico en la respuesta
- Qué muestra el gráfico
- Ideas clave de los datos iniciales
- Metodología utilizada