Métricas de Ratio en Test A/B: el intervalo ingenuo falla
Por qué las métricas de ratio rompen el test de significancia, cómo el método delta corrige la varianza y cuándo eso cambia el veredicto del test A/B.

📚 Este artículo es parte de la guía Significancia Estadística en Tests A/B: La Guía.
Una métrica de ratio es aquella cuyo denominador no es la cosa que sorteaste, y el test estándar de dos proporciones falla en ella. Clics por página vista, artículos por pedido e ingresos por sesión rompen todos el mismo supuesto, porque las filas del mismo usuario están correlacionadas, y la corrección es estimar la varianza por el método delta en vez de fingir que las filas son independientes. Esta guía cubre qué métricas están afectadas, por qué el intervalo ingenuo sale demasiado estrecho, la corrección en forma cerrada, y un ejemplo trabajado en el que la lectura ingenua declara un ganador significativo con valor p 0,016 y la corregida se detiene en 0,12. Forma parte de nuestra guía completa de test A/B y se apoya en significancia estadística en test A/B.
Unidad de aleatorización contra unidad de análisis
Deng, Knoblich y Lu, escribiendo sobre análisis de métricas en Microsoft para el KDD 2018, plantean el problema en dos definiciones. La unidad de aleatorización es la granularidad en la que ocurre el muestreo o el sorteo. La unidad de análisis es el nivel de agregación en el que se calcula la métrica. En sus palabras, el análisis es directo cuando las unidades de aleatorización y de análisis coinciden, por ejemplo al sortear por usuario y también calcular ingresos promedio por usuario.
El problema empieza cuando divergen, lo que ellos notan que ocurre dentro de un mismo experimento entre métricas diferentes: sorteas una vez, por usuario, y después armas un informe en el que algunas métricas son por usuario y otras por página, por sesión o por pedido. Las que son por usuario están bien. Las otras son lo que el artículo llama aleatorizadas por cluster, donde la unidad de aleatorización es un agrupamiento de unidades de análisis, y su varianza no puede estimarse de la manera habitual.
| Métrica | Unidad de aleatorización | Unidad de análisis | ¿Vale el test estándar? |
|---|---|---|---|
| Tasa de conversión por usuario | usuario | usuario | sí |
| Ingresos por usuario | usuario | usuario | sí |
| Clics por página vista | usuario | página vista | no, métrica de ratio |
| Artículos por pedido | usuario | pedido | no, métrica de ratio |
| Ingresos por sesión | usuario | sesión | no, métrica de ratio |
| Tasa de añadido al carrito por vista de producto | usuario | vista | no, métrica de ratio |
| Tasa de clic por email enviado | usuario | no, métrica de ratio | |
| Tasa de conversión por sesión | usuario | sesión | no, métrica de ratio |
La regla es mecánica y vale la pena escribirla en la pared: si un sujeto sorteado puede contribuir con más de una fila al denominador, la métrica es de ratio. Fíjate en que la última fila agarra a mucha gente por sorpresa. La tasa de conversión por sesión parece una proporción común, pero si el mismo usuario puede iniciar tres sesiones, no lo es.
Por qué el intervalo ingenuo sale demasiado estrecho
Toda fórmula estándar de significancia para una proporción carga el supuesto de que cada observación es un sorteo independiente. Cuando las filas están agrupadas dentro de usuarios, ese supuesto falla en una dirección específica: las filas del mismo usuario están positivamente correlacionadas, porque quien hace muchos clics los hace en toda página que genera. La correlación positiva dentro del cluster significa que la muestra carga menos información de lo que el conteo de filas sugiere, así que la varianza verdadera es mayor de lo que dice la fórmula.
Bakshy y Eckles, evaluando métodos de bootstrap sobre datos de Facebook para el KDD 2013, enuncian la consecuencia sin rodeos: los procedimientos que ignoran esa estructura de dependencia son anticonservadores, es decir, tienen tasas de error Tipo I mayores que las esperadas y sus intervalos de confianza nominales del 95% contienen el valor verdadero menos del 95% de las veces. Su ilustración vale guardarla para cada vez que un conteo de filas parezca tranquilizador: un experimento de publicidad con un millón de impresiones puede contener apenas mil anuncios distintos y diez mil usuarios distintos, así que la muestra efectiva no llega ni cerca de un millón.
La forma estándar de cuantificar esto es el efecto de diseño. Deng, Knoblich y Lu dan la forma cerrada para el caso simplificado de clusters de tamaño igual: con K clusters de m observaciones cada uno y correlación intra cluster ro, la varianza de la media es la varianza del caso independiente multiplicada por 1 + (m - 1) por ro. El error estándar se infla por la raíz cuadrada de ese factor:
| Observaciones por usuario | ro = 0,02 | ro = 0,05 | ro = 0,10 | ro = 0,20 |
|---|---|---|---|---|
| 1 | 1,00x | 1,00x | 1,00x | 1,00x |
| 2 | 1,01x | 1,02x | 1,05x | 1,10x |
| 3 | 1,02x | 1,05x | 1,10x | 1,18x |
| 5 | 1,04x | 1,10x | 1,18x | 1,34x |
| 10 | 1,09x | 1,20x | 1,38x | 1,67x |
| 25 | 1,22x | 1,48x | 1,84x | 2,41x |
Dos lecturas de esa tabla importan. Primera, a una observación por usuario toda columna da 1,00, y por eso las métricas por usuario son seguras. Segunda, la inflación crece con el agrupamiento y con la correlación, así que una métrica como páginas por visita en un sitio de contenido, donde los usuarios generan muchas filas y se comportan de forma muy consistente, vive en la esquina inferior derecha, donde el error estándar ingenuo falla por más de un factor de dos.
El artículo es explícito al decir que esa forma cerrada tiene, en sus palabras, un valor práctico apenas limitado, porque en la realidad los tamaños de los clusters y las distribuciones dentro de cada uno son diferentes. Clusters de tamaños desiguales inflan la varianza más allá de lo que muestra la tabla, y por eso el método delta, que usa las varianzas observadas directamente en vez de suponer clusters iguales, es la herramienta práctica, y no la fórmula de arriba. Su simulación da el tamaño del error de forma concreta: el método ingenuo reportó un error estándar promedio de 0,00522 contra una desviación estándar verdadera de 0,00895, cerca de 1,7 veces demasiado pequeño, mientras el método delta reportó 0,00908, que es correcto.
El método delta, en cinco números por brazo
La corrección no necesita nada exótico. Para un ratio con numerador N y denominador D medidos por usuario sorteado, sobre n usuarios, la varianza del ratio es aproximadamente:
Var(N̄/D̄) ≈ (1/n) × [ var(N)/media(D)²
− 2 × media(N)/media(D)³ × cov(N,D)
+ media(N)²/media(D)⁴ × var(D) ]
Ese es el estimador del Algorithm 1 de Deng, Knoblich y Lu, y la razón entera de que sea práctico a escala está en la lista de insumos: media de N, media de D, varianza de N, varianza de D, covarianza de N con D. Cinco números por brazo, todos sumas que agregan trivialmente en un pipeline distribuido. Sin remuestreo, sin ajuste de modelo, sin guardar fila por fila.
El bootstrap sobre usuarios es una alternativa válida y no hace aproximación de distribución, pero es caro; el mismo artículo enmarca el enfoque en forma cerrada como una manera de resolver problemas de big data con algoritmos distribuidos a una fracción del costo de procedimientos basados en simulación como el bootstrap. Ajustar un modelo de efectos mixtos es una tercera opción, y el artículo advierte contra ella para este fin: su simulación muestra el estimador de efectos mixtos severamente sesgado para la métrica tal como se define habitualmente, estimando 0,547 contra un valor verdadero de 0,667, porque el modelo pesa todo cluster por igual mientras la métrica pesa más a los clusters más grandes.
Ejemplo trabajado: el veredicto cambia
Un test en la página de resultados de búsqueda mide clics por página de resultados vista, sorteado por usuario, a lo largo de dos semanas. Cada brazo tiene 20.000 usuarios. Empieza por la lectura que te da una calculadora estándar, pegando los totales:
Test z bilateral de dos proporciones. "Sin significancia" casi siempre significa que falta muestra, no que las versiones sean iguales.
La lectura ingenua. Control: 6.000 clics en 60.000 páginas vistas, tasa del 10,0000%. Variación: 6.252 clics en 60.000 páginas vistas, 10,4200%. Eso es +0,42 puntos porcentuales, +4,20% relativo, z = 2,40, valor p 0,0163, intervalo de confianza de +0,077 a +0,763 puntos porcentuales. Significativo, se puede lanzar.
Ahora los estadísticos resumen por usuario de donde salieron esos totales, que es lo que el método delta necesita:
| Estadístico por usuario | Control | Variación |
|---|---|---|
| Usuarios (n) | 20.000 | 20.000 |
| Media de páginas vistas por usuario | 3,00 | 3,00 |
| Varianza de páginas vistas por usuario | 12,00 | 12,00 |
| Media de clics por usuario | 0,3000 | 0,3126 |
| Varianza de clics por usuario | 0,79 | 0,82 |
| Covarianza entre clics y páginas | 1,30 | 1,35 |
| Ratio (clics por página vista) | 10,0000% | 10,4200% |
Fíjate en que las estimaciones puntuales no cambian: 0,3000 dividido por 3,00 es 10,0000%, y 6.000 sobre 60.000 es el mismo número. El método delta no mueve la estimación, solo el intervalo alrededor de ella.
Control. El corchete da 0,79 menos 2 por 0,10 por 1,30 más 0,10 al cuadrado por 12,00, es decir 0,79 - 0,26 + 0,12 = 0,65. Divide por n por media(D) al cuadrado, entonces 0,65 / (20.000 x 9) = 3,6111e-6, dando un error estándar de 0,1900 puntos porcentuales. El error estándar ingenuo en el mismo brazo, la raíz de 0,10 por 0,90 sobre 60.000, es 0,1225 puntos porcentuales. El número ingenuo es 1,55 veces demasiado pequeño, lo que corresponde a un efecto de diseño de cerca de 2,41. Fíjate en que ninguna correlación intra cluster aislada reproduce ese número por la fórmula de clusters iguales de arriba, porque los conteos de páginas aquí tienen varianza de 12,00 en torno a una media de 3,00: parte de la inflación es la correlación dentro del usuario y parte es la dispersión de los tamaños de cluster, que es exactamente el motivo por el que el método delta usa las varianzas observadas en vez de una tabla.
Variación. El corchete da 0,82 - 0,28134 + 0,13029 = 0,66896, con varianza de 3,7164e-6 y error estándar de 0,1928 puntos porcentuales.
La diferencia. El error estándar de la diferencia es la raíz de la suma, 0,2707 puntos porcentuales. Contra una diferencia observada de 0,42 puntos porcentuales eso da z = 1,55, valor p 0,1208, intervalo de confianza de -0,11 a +0,95 puntos porcentuales. El intervalo contiene el cero.
Es decir, los mismos 40.000 usuarios, las mismas 120.000 páginas vistas y los mismos 12.252 clics sostienen p = 0,0163 y lanzar o p = 0,1208 y seguir corriendo, dependiendo enteramente de que el análisis recuerde qué fue lo que se sorteó. Y la lectura corregida no es solo más conservadora, es más útil: el intervalo dice que el efecto está en algún lugar entre una pérdida pequeña y una ganancia de cerca de 0,95 puntos, que es una descripción honesta de un test que todavía no ha terminado.
Qué hacer al respecto
Existen tres respuestas legítimas, y una que no lo es.
Mover la métrica a la unidad de aleatorización. Clics por usuario en vez de clics por página hace que la unidad de análisis coincida con la de aleatorización, y el test estándar vuelve a valer. Es el arreglo más barato y muchas veces el correcto, pero es un cambio genuino de pregunta: clics por usuario sube cuando las mismas personas simplemente visitan más, mientras clics por página pregunta cuánto convence una página aislada. Haz el cambio solo si la nueva métrica todavía responde lo que estabas preguntando, distinción cubierta en eligiendo la métrica primaria.
Aplicar el método delta. Mantén la métrica y corrige la varianza. Cinco estadísticos resumen por brazo, calculados una vez, aplicados a toda métrica de ratio del informe.
Hacer bootstrap sobre usuarios. Válido, más caro, y no hace aproximación sobre la forma de la distribución. Remuestrea usuarios, nunca filas. Remuestrear filas reproduce la respuesta ingenua con más maquinaria alrededor.
Lo que no funciona es aplicar un factor de corrección sacado de una tabla como la de arriba sin medir tu propia correlación intra cluster o, peor, decidir que la lectura ingenua está bastante bien porque el valor p era pequeño. En el ejemplo de arriba el valor p ingenuo era pequeño justamente porque la varianza estaba equivocada.
Dos notas prácticas. Las métricas de ratio interactúan con el dimensionamiento: el efecto de diseño multiplica los usuarios que necesitas, no las filas, así que un test dimensionado por el conteo de páginas se queda sin poder exactamente por ese factor, aritmética expuesta en efecto mínimo detectable. Y las técnicas de reducción de varianza se apilan con esto en vez de sustituirlo: CUPED baja la varianza que estás estimando, mientras el método delta garantiza que la estás estimando bien en primer lugar.
Errores comunes con métricas de ratio
| Error | Qué produce |
|---|---|
| Pegar totales de páginas en una calculadora de significancia por usuario | Intervalos demasiado estrechos por el efecto de diseño, y falsos ganadores a la tasa que eso implica |
| Suponer que todo porcentaje es una proporción | La tasa de conversión por sesión parece una proporción y no lo es, si los usuarios pueden iniciar varias |
| Dimensionar el test por las filas del denominador | Un test que parece bien dimensionado en el papel y no resuelve nada |
| Hacer bootstrap de filas en vez de usuarios | La respuesta ingenua, obtenida de forma cara |
| Ajustar un modelo de efectos mixtos para obtener el efecto promedio | Estimación sesgada siempre que los clusters tengan tamaños diferentes, según Deng, Knoblich y Lu |
| Cambiar a una métrica por usuario sin avisar | El número reportado deja de responder la pregunta alrededor de la cual se diseñó el test |
| Aplicar un efecto de diseño sacado de un artículo en vez de medir tu propio ro | Una corrección de tamaño arbitrario, defendible solo por casualidad |
| Corregir la métrica primaria y dejar el resto del informe ingenuo | Toda métrica secundaria mantiene la tasa inflada de falso positivo |
Hazlo automático en Donnu
La razón por la que las métricas de ratio siguen rotas en la mayoría de los montajes es que la corrección tiene que aplicarse por métrica, cada vez, y nadie lo hace a mano en un informe entero. Donnu A/B guarda la unidad de aleatorización junto a cada definición de métrica, aplica la varianza del método delta siempre que la unidad de análisis es más fina que la unidad sorteada, y etiqueta la métrica en la lectura para que la diferencia entre una tasa por usuario y una tasa por evento quede visible en vez de sobreentendida. Cuando un intervalo se ensancha por agrupamiento, la lectura dice que fue por eso.
Empieza una prueba gratis de 14 días y comprueba si tus denominadores son la cosa que de hecho sorteaste.
Referencias
- Deng, A., Knoblich, U. y Lu, J. Applying the Delta Method in Metric Analytics: A Practical Guide with Novel Ideas. KDD 2018. Fuente del encuadre unidad de aleatorización contra unidad de análisis, del estimador de varianza del método delta y de su algoritmo, de la fórmula del efecto de diseño para clusters iguales y de la salvedad sobre su valor práctico limitado, de la comparación simulada en la que el error estándar ingenuo salió en 0,00522 contra 0,00895 verdadero mientras el método delta dio 0,00908, de la estimación de efectos mixtos de 0,547 contra un valor verdadero de 0,667, y del encuadre de la estimación cerrada distribuida como costando una fracción de procedimientos basados en simulación como el bootstrap. arxiv.org/abs/1803.06336.
- Bakshy, E. y Eckles, D. Uncertainty in Online Experiments with Dependent Data: An Evaluation of Bootstrap Methods. KDD 2013. Fuente de la afirmación de que los procedimientos que ignoran la dependencia son anticonservadores, produciendo tasas de error Tipo I mayores que las nominales e intervalos del 95% que cubren el valor verdadero menos del 95% de las veces, y de la ilustración de publicidad en la que un millón de impresiones abarca apenas mil anuncios y diez mil usuarios. arxiv.org/abs/1304.7406.
- Kohavi, R., Longbotham, R., Sommerfield, D. y Henne, R. M. Controlled experiments on the web: survey and practical guide. Data Mining and Knowledge Discovery, 18(1), 2009. Sobre poder estadístico, tamaño de muestra y los supuestos detrás de los tests estándar usados en experimentos online. exp-platform.com.
- Kohavi, R., Tang, D. y Xu, Y. Trustworthy Online Controlled Experiments: A Practical Guide to A/B Testing. Cambridge University Press, 2020. Capítulos sobre métricas, varianza y análisis de experimentos online. Material complementario en experimentguide.com.
Lee también: Significancia estadística en test A/B · Eligiendo la métrica primaria · Qué es CUPED · Efecto mínimo detectable · Calculadora de intervalo de confianza gratis · Leia em português · Read in English
Preguntas frecuentes
- ¿Qué es una métrica de ratio en un test A/B?
- Una métrica de ratio es aquella cuyo denominador no es la cosa que sorteaste. Clics por página vista, artículos por pedido, ingresos por sesión y páginas por visita son todas métricas de ratio cuando el experimento sortea usuarios, porque un usuario contribuye con varias páginas, pedidos o sesiones. Deng, Knoblich y Lu (KDD 2018) llaman a esto la distancia entre la unidad de aleatorización, el nivel en que ocurre la asignación, y la unidad de análisis, el nivel en que se calcula la métrica. La tasa de conversión por usuario no es una métrica de ratio en ese sentido, porque cada usuario contribuye con exactamente una observación.
- ¿Por qué el test de significancia estándar falla en métricas de ratio?
- Porque supone que toda fila del denominador es una observación independiente, y no lo son. Dos páginas vistas del mismo usuario están correlacionadas: quien hace muchos clics los hace en todas ellas. Tratar 60.000 páginas correlacionadas como 60.000 ensayos independientes subestima el error estándar, lo que estrecha el intervalo de confianza y encoge el valor p. En la simulación reportada por Deng, Knoblich y Lu (KDD 2018), el error estándar ingenuo salió en 0,00522 contra una desviación estándar verdadera de 0,00895, cerca de 1,7 veces demasiado pequeño.
- ¿Qué es el método delta para métricas de ratio?
- El método delta estima la varianza de un ratio a partir de los estadísticos resumen por usuario del numerador y del denominador. Con N como numerador por usuario, D como denominador por usuario y n usuarios, la varianza del ratio es aproximadamente (1/n) por la cantidad [var(N)/media(D)² menos 2 por media(N)/media(D)³ por cov(N,D) más media(N)²/media(D)⁴ por var(D)]. Son solo cinco números por brazo, todos agregables en un pipeline distribuido, y por eso es lo bastante barato como para correrlo en toda métrica.
- ¿Cuánto subestima la incertidumbre el intervalo ingenuo?
- Depende de cuánto agrupamiento existe, y la aproximación estándar es el efecto de diseño. Con m observaciones por usuario y correlación intra cluster ro, la varianza se infla por 1 + (m - 1) por ro, así que el error estándar se infla por la raíz cuadrada de eso. A 5 observaciones por usuario y correlación de 0,20 eso es un efecto de diseño de 1,80 y un error estándar 1,34 veces mayor; a 10 y 0,20 pasa a 2,80 y 1,67 veces. Clusters de tamaños desiguales empujan todavía más hacia arriba.
- ¿Puedo simplemente cambiar a una métrica por usuario?
- Muchas veces sí, y cuando la versión por usuario responde a la misma pregunta de negocio ese es el arreglo más simple, porque la unidad de análisis pasa a coincidir con la de aleatorización y el test estándar vuelve a valer. Clics por usuario en vez de clics por página es una métrica legítima sin problema de varianza. El detalle es que las dos no son intercambiables: clics por usuario sube cuando las mismas personas visitan más, mientras clics por página mide cuánto convence una página aislada. Cambia solo si la nueva métrica todavía responde lo que estabas preguntando.
- ¿Esto cambia el tamaño de muestra que necesito?
- Lo cambia, y por el efecto de diseño. Si el agrupamiento infla la varianza por un factor de 2,4, necesitas cerca de 2,4 veces los usuarios para el mismo efecto detectable en esa métrica, no 2,4 veces las páginas. Dimensionar un test de métrica de ratio por el conteo bruto del denominador es la manera más común de que los equipos acaben con un test que parece bien dimensionado en el papel y no resuelve nada en la práctica.
- ¿El bootstrap es alternativa al método delta?
- Lo es, y válida, siempre que el remuestreo se haga sobre la unidad de aleatorización y no sobre filas. Remuestrear usuarios preserva la correlación dentro del usuario; remuestrear páginas la destruye y reproduce la respuesta ingenua con pasos de más. Deng, Knoblich y Lu (KDD 2018) prefieren el método delta en forma cerrada principalmente por costo: lo presentan como forma de resolver problemas de big data con fórmulas cerradas distribuidas a una fracción del costo de procedimientos basados en simulación como el bootstrap, y necesita solo estadísticos resumen, lo que importa cuando un informe cubre cientos de métricas.