Aprende a escribir las consultas SQL avanzadas que los equipos de producto necesitan para analizar cohortes de usuarios, funnels de conversión y métricas de retención. Los developers que dominan el SQL analítico se convierten en el puente entre el equipo de producto y el equipo de datos.
Cuándo usarlo: Calcular métricas de retención, cohortes y funnels de producto con SQL avanzado sin depender del equipo de datos
Herramienta recomendada: Claude
Actúa como un data engineer con experiencia en análisis de producto que ha construido los pipelines de datos y las consultas de métricas de retención, cohortes y funnels para productos con millones de usuarios. Tu objetivo es enseñarme a escribir SQL analítico avanzado para responder las preguntas de producto más frecuentes sin depender del equipo de datos. Contexto del producto: Trabajo como developer en un producto de [TIPO: SaaS/marketplace/app de consumo] con [NÚMERO] usuarios activos mensuales. Los eventos de usuario se registran en [BASE DE DATOS: BigQuery/Redshift/Snowflake/PostgreSQL] en una tabla de eventos con las columnas [user_id, event_name, event_timestamp, properties]. Las métricas de producto que más necesito calcular son [DESCRIBE: retención diaria o semanal, cohortes de activación, funnel de onboarding, DAU/MAU ratio, feature adoption]. Sección 1 — Análisis de cohortes de retención con SQL puro: Explica qué es un análisis de cohortes y por qué es la métrica más importante para entender la salud de un producto. Diseña la consulta SQL completa para calcular la tabla de retención por cohorte de registro: para cada semana de registro, calcula qué porcentaje de los usuarios que se registraron en esa semana volvieron al producto en la semana 1, semana 2, semana 4, semana 8 y semana 12. La consulta debe usar CTEs (Common Table Expressions) para que sea legible y mantenible. Explica cada paso de la consulta con comentarios y muestra cómo interpretar la tabla resultante para identificar si la retención está mejorando o empeorando con el tiempo y en qué punto se produce la mayor caída. Sección 2 — Análisis de funnel de conversión con SQL: Diseña la consulta SQL para calcular el funnel de conversión de un flujo específico del producto (por ejemplo: registro → activación → primer uso del feature clave → conversión a pago). La consulta debe calcular para cada paso del funnel: el número de usuarios que llegaron a ese paso, el porcentaje de conversión desde el paso anterior, el tiempo mediano entre pasos, y el desglose de conversión por segmento (plataforma, canal de adquisición, plan de precio). Explica cómo usar window functions (ROW_NUMBER, LAG, LEAD) para rastrear el progreso de cada usuario a través del funnel y cómo detectar los pasos donde se produce el mayor abandono. Sección 3 — Cálculo de DAU, WAU, MAU y el ratio DAU/MAU con SQL: Diseña las consultas SQL para calcular las métricas de actividad diaria, semanal y mensual de forma eficiente sobre tablas grandes de eventos. Para cada métrica, explica la definición exacta que usa (qué cuenta como un usuario activo: cualquier evento, solo eventos de uso del producto, excluyendo eventos de login), la consulta optimizada para calcularla sobre los últimos 90 días, y la variante que calcula la evolución histórica para detectar tendencias. Explica también cómo calcular el ratio DAU/MAU (también llamado "stickiness") y cómo interpretarlo: qué rango es saludable según el tipo de producto y qué ratio indica que el producto tiene un problema de engagement. Sección 4 — Feature adoption analytics: Diseña las consultas SQL para analizar la adopción de un feature nuevo en el producto. Las consultas deben responder: qué porcentaje de los usuarios activos han usado el feature al menos una vez en los primeros 30 días desde que se activó para ellos, cuántas veces en promedio usan el feature por semana los usuarios que lo adoptaron, cuál es el perfil de los usuarios que adoptan el feature temprano vs. los que no lo adoptan (cohorte de registro, plan de precio, país, industria), y si existe correlación entre el uso del feature y la retención (los usuarios que usan el feature X tienen una retención de semana 4 más alta que los que no lo usan). Para cada consulta, explica cómo el resultado informa las decisiones de producto sobre si el feature merece inversión adicional. Sección 5 — Optimización de queries analíticas sobre tablas de eventos de gran tamaño: Explica las cinco técnicas de optimización de SQL más importantes cuando trabajas con tablas de eventos de decenas o cientos de millones de filas. Para cada técnica, muestra el antes y el después de la consulta y el impacto en el tiempo de ejecución: particionado por fecha (cómo añadir WHERE event_date BETWEEN para evitar escanear toda la tabla), materialización de resultados intermedios con CTEs o tablas temporales, uso de approximate functions para conteos de usuarios únicos (HLL en BigQuery, approx_count_distinct en Redshift), push down de filtros antes de los JOINs para reducir el volumen de datos cruzado, y uso de EXPLAIN ANALYZE para entender el plan de ejecución de la query y detectar los pasos costosos. Entregables: - Consulta SQL completa de análisis de cohortes de retención con CTEs y guía de interpretación - Consulta de funnel de conversión con window functions, tiempo entre pasos y desglose por segmento - Consultas de DAU/WAU/MAU y ratio de stickiness con evolución histórica y benchmarks de interpretación - Consultas de feature adoption analytics con correlación de retención y perfil de early adopters - Cinco técnicas de optimización de SQL analítico con ejemplos antes/después e impacto en rendimiento