Esquema del evento
Campos que espera la consulta
| Campo | Tipo | Por que existe |
|---|---|---|
| timestamp_utc | Timestamp | Hora del evento de asignación o resultado en UTC. |
| experiment_name | Utf8 | Identificador de experimento estable. |
| variant | Utf8 | control o un tratamiento designado. |
| user_id | Utf8 | Identificador de participante estable. |
| event_name | Utf8 | experiment_assigned o purchase_completed. |
| revenue_usd | Float64 | Ingresos normalizados en una compra completada. |
Copiar la consulta
WITH participant_outcomes AS (
SELECT
experiment_name,
variant,
user_id,
MAX(CASE WHEN event_name = 'experiment_assigned' THEN 1 ELSE 0 END)
AS was_assigned,
MAX(CASE WHEN event_name = 'purchase_completed' THEN 1 ELSE 0 END)
AS converted,
SUM(CASE
WHEN event_name = 'purchase_completed' THEN revenue_usd
ELSE 0.0
END) AS revenue_usd
FROM experiment_events
WHERE timestamp_utc >= now() - INTERVAL '60 days'
GROUP BY experiment_name, variant, user_id
),
variant_summary AS (
SELECT
experiment_name,
variant,
COUNT(*) AS participants,
SUM(converted) AS converted_participants,
100.0 * SUM(converted) / NULLIF(COUNT(*), 0) AS conversion_rate_pct,
SUM(revenue_usd) / NULLIF(COUNT(*), 0) AS revenue_per_participant_usd
FROM participant_outcomes
WHERE was_assigned = 1
GROUP BY experiment_name, variant
),
control AS (
SELECT
experiment_name,
conversion_rate_pct AS control_conversion_rate_pct
FROM variant_summary
WHERE variant = 'control'
)
SELECT
summary.experiment_name,
summary.variant,
summary.participants,
summary.converted_participants,
summary.conversion_rate_pct,
summary.revenue_per_participant_usd,
100.0 * (
summary.conversion_rate_pct - control.control_conversion_rate_pct
) / NULLIF(control.control_conversion_rate_pct, 0) AS relative_lift_pct
FROM variant_summary AS summary
JOIN control
ON control.experiment_name = summary.experiment_name
ORDER BY summary.experiment_name, summary.variant;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
Aumento de la conversión por variante del experimento
El tratamiento tiene una mayor conversión observada e ingresos por participante; La incertidumbre estadística aún necesita revisión antes de su implementación.
| experiment_name | variant | participants | converted_participants | conversion_rate_pct | revenue_per_participant_usd | relative_lift_pct |
|---|---|---|---|---|---|---|
| annual_plan_checkout | control | 2140 | 278 | 12,99 | 18,42 | 0 |
| annual_plan_checkout | proof_near_cta | 2187 | 326 | 14,91 | 21,76 | 14,78 |
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
Descarga los datos de ejemplo
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
- 1El primer CTE crea un registro de resultados por participante asignado, evitando que compras repetidas o eventos de seguimiento inflen el denominador.
- 2Los resúmenes de variantes preservan el volumen de participantes, la conversión y los ingresos, por lo que una tasa de conversión más alta no se evalúa sin valor comercial.
- 3La combinación final compara cada variante con la tasa de control e informa un aumento relativo en lugar de un punto porcentual.
Casos límite que debes comprobar
- Excluya a los participantes expuestos a múltiples variantes o asígnelos de acuerdo con una regla de intención de tratar documentada.
- Espere a que cada participante complete el periodo de observación antes de contarlo como no convertido.
- Calcule intervalos de confianza o una prueba estadística previamente acordada antes de declarar un ganador.
Panel recomendado
- Barras: conversion_rate_pct por variante
- Tabla: participantes, ingresos por participante y aumento relativo
- Tendencia: conversión de cohortes por semana de asignación, una vez cerrado cada periodo de observación
Guía de alerta
No mencione la variación normal del experimento; alerta solo cuando se rompe el equilibrio de la asignación, la entrega de eventos o una métrica de barrera.
Leer configuración de alertaConfigura los eventos que necesita esta consulta
Instrumentación y guías relacionadas.
Continuar el análisis
Cree un embudo de registro para activación en SQL
Calcule la conversión de usuarios únicos mediante el registro, la incorporación, la integración y los hitos de primer valor.
Receta abiertaCalcular la retención de cohorte semanal
Agrupe a los usuarios por primera semana de actividad y mida el porcentaje que regresa en semanas posteriores.
Receta abiertaEncuentre funciones utilizadas antes de la actualización
Únase a eventos destacados para actualizar eventos y clasificar comportamientos que ocurren antes de la conversión paga.
Receta abiertaEjecútalo con tus eventos
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.