Contrato de evento
Campos que espera la consulta
| Campo | Tipo | Por que existe |
|---|---|---|
| timestamp_utc | Timestamp | Hora de la instantánea de fin de mes. |
| account_id | Utf8 | Identificador de cuenta de facturación estable. |
| starting_mrr_usd | Float64 | MRR al inicio del mes de medición. |
| ending_mrr_usd | Float64 | MRR al final del mes de medición. |
Copiar la consulta
SELECT
date_trunc('month', timestamp_utc) AS month,
COUNT(*) AS starting_accounts,
SUM(starting_mrr_usd) AS starting_mrr_usd,
SUM(ending_mrr_usd) AS ending_mrr_usd,
100.0 * SUM(ending_mrr_usd)
/ NULLIF(SUM(starting_mrr_usd), 0) AS net_revenue_retention_pct,
100.0 * SUM(CASE
WHEN ending_mrr_usd < 0.0 THEN 0.0
WHEN ending_mrr_usd > starting_mrr_usd THEN starting_mrr_usd
ELSE ending_mrr_usd
END) / NULLIF(SUM(starting_mrr_usd), 0)
AS gross_revenue_retention_pct
FROM account_mrr_snapshots
WHERE timestamp_utc >= now() - INTERVAL '12 months'
AND starting_mrr_usd > 0.0
GROUP BY date_trunc('month', timestamp_utc)
ORDER BY month;Esta consulta de solo lectura se planifica y ejecuta en una tabla escrita vacía con Apache DataFusion 45.2.0. El resultado de la muestra determinista es sintético y se revisa por separado; valide tipos de campos, umbrales y definiciones comerciales con sus propios datos. Lea la metodología de prueba.
Resultado de la consulta
Retención de ingresos netos por mes
La expansión mantuvo el NRR por encima del 100% en mayo y junio, mientras que la disminución del GRR muestra una creciente contracción o rotación por debajo.
2026-05
105,14%
2026-06
102,41%
2026-07
98,24%
| month | starting_accounts | starting_mrr_usd | ending_mrr_usd | net_revenue_retention_pct | gross_revenue_retention_pct |
|---|---|---|---|---|---|
| 2026-05 | 418 | 126.400 | 132.900 | 105,14 | 96,44 |
| 2026-06 | 431 | 132.900 | 136.100 | 102,41 | 94,88 |
| 2026-07 | 446 | 136.100 | 133.700 | 98,24 | 93,31 |
Salida de ejemplo sintético. Ejecute la consulta con su propio esquema de eventos y umbrales antes de utilizarla para decisiones operativas.
Reproducir el ejemplo
Descargar el accesorio público
El paquete JSON incluye el contrato de evento escrito, illustrative filas de entrada, SQL exacto, resultado esperado, notas de revisión y versión del motor. El CSV contiene el resultado mostrado.
Cómo funciona el SQL
- 1Sólo las cuentas con MRR inicial ingresan al denominador, manteniendo los nuevos negocios fuera de la retención.
- 2La NRR compara la MRR final total con la MRR inicial y, por lo tanto, incluye la expansión.
- 3El GRR limita cada cuenta a su MRR inicial, por lo que la expansión no puede compensar la contracción o la rotación.
Casos extremos para decidir
- Normalice los contratos anuales, basados en el uso y multidivisa antes de tomar instantáneas.
- Utilice una jerarquía de cuentas de forma coherente cuando las suscripciones principales y secundarias puedan moverse de forma independiente.
- Concilie las correcciones de facturación retroactivas para que las instantáneas históricas no se desvíen silenciosamente.
Panel recomendado
- Tendencia: NRR y GRR por mes
- Barras: expansión, contracción y abandono MRR
- Tabla: mayores cambios en los ingresos a nivel de cuenta
Guía de alerta
Revisar un mes completo cuando GRR o NRR caigan por debajo de su rango operativo; no alertar sobre una instantánea incompleta del mes actual.
Leer configuración de alertaPon la receta a trabajar
Instrumentación y guías relacionadas.
Continuar el análisis
Medir la rotación y la reactivación por cohorte
Clasifique las cuentas como retenidas, canceladas o reactivadas a partir de una actividad recurrente significativa del producto.
Receta abiertaCalcular la conversión de prueba a pago
Mida cuántas cuentas de prueba se convierten en clientes pagos dentro de una ventana de conversión fija.
Receta abiertaMedir la recuperación de fallos de pago
Calcule la frecuencia con la que las facturas fallidas se recuperan mediante un intento de pago exitoso posterior.
Receta abiertaEjecútelo en eventos reales.
Crea una tabla, adapta los campos y guarda el resultado.
Comience gratis, envíe eventos estructurados y utilice el resultado de la consulta como un gráfico, un widget de panel compartido o una entrada de alerta.