Estadística

Análisis por Disparo: la dilución cambia el veredicto

Cómo el análisis por disparo separa a quien realmente vio el cambio, por qué el efecto se diluye en el total y la aritmética que une los dos números.

Ilustración plana de una multitud redonda de figuras pequeñas con una porción recortada al lado, y una bandeja baja y ancha donde una gota se extiende hasta casi desaparecer, en tonos de verde profundo

El análisis por disparo restringe el cálculo del resultado a los usuarios que realmente llegaron al punto en el que la variación podía cambiar algo, y casi siempre es la única forma de ver un efecto que existe. El precio es que ese número no es el número del negocio: para llegar al impacto total necesitas diluirlo por la fracción de usuarios que dispararon, y esa cuenta suele recortar el resultado por un factor grande. Esta guía cubre qué significa disparar de verdad, la aritmética que une el efecto del segmento al efecto total, un ejemplo trabajado en el que el mismo cambio sale significativo por disparo e inconcluso diluido, y las trampas que convierten el análisis por disparo en un generador de victorias falsas. Forma parte de nuestra guía completa de test A/B y conversa directamente con métrica primaria y OEC.

Qué significa disparar y por qué cambia el denominador

Casi ningún cambio alcanza a todo el mundo. Reescribes el mensaje de error del cupón inválido, y la mayor parte de los visitantes nunca escribe un cupón. Cambias el módulo de recomendación de la página de producto, y la mitad de tu sesión entra directo por el carrito. En esos casos, el experimento técnicamente aleatorizó a la población entera, pero la variación solo existió para una parte de ella.

Un usuario disparó el experimento cuando alcanzó el punto del flujo en el que control y tratamiento pasan a ser cosas diferentes. Kohavi y colegas usan la palabra en ese sentido literal en las reglas de bolsillo de KDD 2014: al describir un experimento de Bing que truncaba la página de resultados para consultas navegacionales, anotan entre paréntesis que disparado significa que al menos una de las consultas del usuario mostró una página con el bloque de enlaces profundos. El experimento corrió con más de 8 millones de usuarios disparados, y la tasa de abandono no cambió de forma estadísticamente significativa, con valor p de 0,92. En un segundo experimento del mismo artículo, con más de 3 millones de usuarios disparados, la página fue extendida a 20 resultados: hubo una reducción de 1,8 por ciento en ingresos, 30 milisegundos más de tiempo de carga y 18 por ciento menos paginación, y aun así el abandono no se movió, con valor p de 0,93. Ese cambio no fue lanzado.

El punto aritmético es simple e implacable. Todo usuario que no disparó tiene efecto de tratamiento exactamente cero, porque vio lo mismo en los dos brazos. No es un dato neutro: entra en el denominador, contribuye con varianza y no contribuye con ninguna señal. Diluir el experimento en no disparados es la forma más barata de convertir un efecto real en un resultado inconcluso.

Los dos denominadores posibles del mismo experimentoLa población aleatorizada entera aparece como un rectángulo grande de 80 mil usuarios por variación. Dentro de él, una franja menor de 12 mil usuarios representa a quien disparó el experimento. Fuera de esa franja, el efecto de tratamiento es cero por construcción, porque esos usuarios vieron exactamente la misma experiencia en los dos brazos. El análisis por disparo usa la franja menor como denominador; el análisis diluido usa el rectángulo entero.El mismo experimento, dos denominadoresdisparónunca llegó al punto del cambioefecto de tratamiento cero por construcción, varianza normal80.000 por variación aleatorizados, de los cuales 12.000 disparan, o 15 por cientoAnálisis por disparobase 12.000, mide más 1,500 punto porcentualAnálisis diluidobase 80.000, mide más 0,225 punto porcentual
Esquemático con los números del ejemplo trabajado más adelante. Los dos cálculos son correctos y describen el mismo cambio; lo que cambia es la pregunta que cada uno responde.

La regla de dilución, en una línea de aritmética

La conversión entre los dos números es directa y no depende de ninguna suposición estadística:

ganancia absoluta en el total = ganancia absoluta entre los disparados x fracción de usuarios que dispararon

Una ganancia de 1,5 punto porcentual en un disparo que alcanza al 15 por ciento de la base se convierte en 0,225 punto porcentual en el total. Es la misma regla que Kohavi y colegas colocan en la regla 2 de KDD 2014, bajo el título de que los cambios raramente tienen gran impacto positivo en métricas clave. En sus palabras, las métricas deben ser diluidas por el tamaño del segmento, y una mejora de 10 por ciento en un segmento de 1 por ciento tiene un impacto total de aproximadamente 0,1 por ciento. Ellos se preocupan de registrar el “aproximadamente”: si las métricas del segmento son diferentes del promedio, el impacto será diferente.

Esa salvedad es el detalle que casi todo equipo falla, así que vale el párrafo. La regla multiplicativa simple vale exactamente para la ganancia absoluta. Para la ganancia relativa, el factor de dilución no es la fracción de usuarios, sino la porción que el segmento disparado representa de la métrica total. Un segmento que convierte muy por encima del promedio pesa más en la métrica de lo que pesa en el conteo de cabezas.

Situación Fracción que dispara Efecto medido en el disparo Efecto diluido en el total
Mensaje de error de cupón 3 por ciento más 4,0 puntos porcentuales más 0,12 punto porcentual
Módulo de recomendación en página de producto 15 por ciento más 1,5 punto porcentual más 0,225 punto porcentual
Nueva etapa de envío en el checkout 40 por ciento más 0,8 punto porcentual más 0,32 punto porcentual
Cambio en el encabezado global 100 por ciento más 0,2 punto porcentual más 0,2 punto porcentual

La última línea es el caso en el que la distinción desaparece. Cuando el disparo es la página de inicio, disparo y total son lo mismo y toda la discusión desaparece. Por eso los equipos que solo testean la parte alta del embudo nunca necesitaron pensar en esto, y por eso el primer test serio de checkout suele ser el momento en el que la cuenta no cierra.

El otro lado de la regla, y lo que la vuelve útil en la planificación en lugar de solo en la explicación, es que corre al revés. Si el negocio necesita 0,2 punto porcentual en el total para justificar el cambio, y tu disparo alcanza al 15 por ciento, entonces necesitas aproximadamente 1,33 punto porcentual entre los disparados. Ese es el efecto que el efecto mínimo detectable de tu diseño tiene que lograr ver, y es el número que debería estar en la hipótesis antes de que el test empiece.

Ejemplo trabajado: el mismo cambio, dos veredictos

Una tienda corre un cambio en el módulo de recomendación que solo aparece en páginas de producto de una categoría. El experimento aleatoriza 80.000 usuarios por variación. De esos, 12.000 por variación llegan a ver el módulo, es decir, el 15 por ciento dispara. Pega los números en la calculadora de abajo para verificar cada línea:

Calculadora de significancia estadística
Control (A)
Variación (B)
Control (A) · Tasa-
Variación (B) · Tasa-
Mejora relativa-
valor-p-
IC 95% de la diferencia-

Test z bilateral de dos proporciones. "Sin significancia" casi siempre significa que falta muestra, no que las versiones sean iguales.

Primero, el análisis por disparo, restringido a quien vio el módulo:

Solo los disparados Usuarios Conversiones Tasa
A, control 12.000 2.400 20,000 por ciento
B, variación 12.000 2.580 21,500 por ciento

La calculadora devuelve más 1,500 punto porcentual, más 7,50 por ciento relativo, z = 2,865, valor p 0,00417, con intervalo del 95 por ciento de más 0,474 a más 2,526 puntos porcentuales. Significativo, y con holgura.

Ahora lo mismo medido en la población entera. Los 68.000 usuarios por variación que no dispararon convierten al 3,00 por ciento en los dos brazos, contribuyendo con 2.040 conversiones de cada lado:

Todos los aleatorizados Usuarios Conversiones Tasa
A, control 80.000 4.440 5,550 por ciento
B, variación 80.000 4.620 5,775 por ciento

La calculadora devuelve más 0,225 punto porcentual, más 4,05 por ciento relativo, z = 1,947, valor p 0,05153, con intervalo de menos 0,001 a más 0,451 punto porcentual. No significativo, por muy poco.

Verifica las dos puntas de la regla de dilución contra esos números. La ganancia absoluta: 0,15 por 1,500 da exactamente 0,225 punto porcentual. La ganancia relativa, que es donde muerde la salvedad del “aproximadamente”: 7,50 por ciento por la porción que el segmento representa de la métrica total, que es 2.400 dividido por 4.440, o 54,05 por ciento, da 4,05 por ciento. Coincide. Nota que el factor de dilución del relativo es 54 por ciento, y no el 15 por ciento del conteo de usuarios, precisamente porque el segmento disparado convierte al 20 por ciento contra el 3 por ciento del resto.

Dos veredictos para el mismo cambioEl análisis por disparo devuelve más 7,50 por ciento relativo con valor p 0,00417 e intervalo de confianza enteramente por encima de cero. El análisis diluido devuelve más 4,05 por ciento relativo con valor p 0,05153 e intervalo que toca el cero. El cambio es el mismo en los dos casos; lo que difiere es el denominador y, con él, el poder del diseño.El mismo cambio, medido de dos manerasganancia relativa con intervalo de confianza del 95 por ciento convertido a términos relativos0%por disparobase 12.000más 7,50%p 0,00417diluidobase 80.000más 4,05%p 0,05153El intervalo diluido toca el cero porque 68.000 usuarios por variación entraron en la cuenta sin poder cambiar de comportamiento.
Ninguno de los dos cálculos está mal. El de arriba mide el efecto en la experiencia que fue alterada; el de abajo mide lo que la línea de ingresos va a sentir.

El costo en muestra cierra la historia. Para detectar el efecto relativo de 7,5 por ciento sobre una base de 20 por ciento, con 95 por ciento de confianza y 80 por ciento de poder, bastan 11.472 usuarios por variación. Para detectar el mismo efecto ya diluido, es decir, 4,05 por ciento sobre una base de 5,55 por ciento, se necesitan 165.644 usuarios por variación. La dilución multiplicó por más de 14 el tamaño de muestra exigido, sin que el cambio en el producto se haya vuelto un milímetro menor.

El punto de disparo también es un test de sanidad

Existe una verificación casi gratuita escondida en la idea de disparo, y atrapa errores de instrumentación mejor que casi todo. Antes del punto de disparo, los dos brazos vieron lo mismo. Por lo tanto, ninguna métrica medida antes de ese punto debería diferir de forma estadísticamente significativa.

Kohavi registra exactamente ese razonamiento en el artículo de resultados inesperados publicado en SIGKDD Explorations. Al testear si un enlace debía abrirse en una ventana nueva, nota que hacer clic en el enlace es el punto de disparo, y que por lo tanto no debería haber diferencia estadísticamente significativa hasta después del clic, ya que es ahí donde algo pasa a diferir entre los brazos. Cuando el porcentaje de usuarios que hacían clic en el enlace apareció significativamente mayor en el tratamiento, el equipo sabía que aquello era imposible por construcción y fue a investigar. La causa era instrumental: los clics se miden por una petición asíncrona de una imagen de 1 por 1 píxel, un mecanismo notoriamente sujeto a pérdidas, y abrir el destino en una ventana nueva mejoró la confiabilidad de esa medición en navegadores fuera de Internet Explorer. El valor de la funcionalidad siguió siendo positivo después de la corrección, pero bastante menor de lo que el resultado inicial sugería.

Vale convertir esto en una rutina fija. Para todo experimento con disparo estrecho, mide y compara entre los brazos: el conteo de usuarios disparados, la tasa de disparo y cualquier métrica puramente previa al disparo. Una diferencia estadísticamente significativa en cualquiera de las tres no es un hallazgo, es un defecto, y el lugar para investigarlo es la misma familia de verificaciones de reparto desigual de tráfico.

Dónde el análisis por disparo engaña

El disparo es una herramienta de poder, y toda herramienta de poder corta en los dos sentidos. Cuatro modos de falla aparecen con frecuencia.

El disparo depende del tratamiento. Este es el error grave. Si el criterio que define quién entró en el conjunto disparado es a su vez afectado por la variación, los dos conjuntos dejan de ser comparables y creaste sesgo de selección. El ejemplo canónico es condicionar en “usuarios que hicieron clic en el botón nuevo”, ya que el control no tiene botón nuevo. El disparo necesita depender únicamente de información fijada antes de que la variación actuara. Kohavi y colegas describen, en la regla sobre evitar diseños complejos, un caso en el que una verificación de elegibilidad corría antes de que el experimento siquiera disparara y contenía un defecto: quien ya había visto la funcionalidad una vez entraba en una lista que lo eliminaba enteramente del experimento. El resultado parecía mostrar usuarios de tratamiento abandonando el producto después de una visita, y llevó días desentrañarlo.

El disparo se reporta solo. Un informe que solo muestra el efecto en el segmento produce un roadmap cuya suma nunca aparece en los ingresos. Si toda pieza se reporta en moneda de segmento, el total prometido puede ser varias veces el total posible.

El disparo queda demasiado estrecho por conveniencia. Siempre es tentador afinar más el segmento hasta que el valor p ceda. Eso es el mismo mecanismo del problema del peeking, solo que en la dimensión del recorte en lugar de la dimensión del tiempo. El criterio de disparo es parte del diseño y necesita estar escrito antes de que lleguen los datos.

La métrica de guardrail se mide solo en el disparo. Los daños colaterales casi nunca respetan el recorte. Un cambio que mejora el segmento disparado y empeora la navegación de quien pasa cerca necesita verse en la población entera. Las métricas de guardrail quedan en el denominador amplio, siempre.

Cómo montar esto en la práctica

Una hoja de ruta corta, en el orden en el que ahorra retrabajo:

  1. Antes de correr, escribe la condición de disparo en una frase que cualquier persona del equipo logre evaluar mirando un log, y confirma que no usa ninguna información posterior a la exposición.
  2. Estima la tasa de disparo con datos históricos. Si no sabes qué porcentaje va a disparar, no sabes dimensionar el test.
  3. Convierte la meta de negocio en meta de disparo dividiendo por la tasa de disparo, y solo entonces calcula el tamaño de muestra.
  4. Instrumenta el evento de disparo como un evento propio, y no como una inferencia hecha después en la consulta. Un disparo reconstruido en SQL es un disparo que cambia de definición con cada analista.
  5. Al analizar, corre la verificación de sanidad previa al disparo antes de mirar el resultado.
  6. Al reportar, presenta los dos números lado a lado, en este orden: efecto en el disparo, tasa de disparo, efecto diluido. Nunca uno sin los otros dos.

Errores comunes

Hazlo automático con Donnu

El trabajo tedioso aquí no es entender la regla de dilución, es acordarse de aplicarla en cada lectura de resultado, todos los días, con la tasa de disparo correcta de ese experimento. Es exactamente el tipo de cuenta que desaparece cuando el informe se arma a mano.

En Donnu, el evento de disparo se declara junto con el experimento, así que cada resultado sale con las dos lecturas ya calculadas y etiquetadas: el efecto en la población que vio el cambio y el efecto diluido en la base entera, con la tasa de disparo entre los dos. La verificación de sanidad previa al disparo corre sola y se enciende antes de que mires el resultado, y no después de que la decisión ya se haya tomado. Si prefieres hacer la cuenta a mano, la calculadora de significancia acepta cualquiera de los dos denominadores.

Referencias

Lee también: Métrica primaria y OEC · Métricas de guardrail · Reparto desigual de tráfico · Efecto mínimo detectable · Calculadora de valor p · Leia em português

Preguntas frecuentes

¿Qué es el análisis por disparo en un test A/B?
El análisis por disparo consiste en restringir el cálculo del resultado únicamente a los usuarios que llegaron al punto en el que la variación podía de hecho cambiar algo para ellos. Kohavi y colegas usan el término en ese sentido exacto en las reglas de bolsillo publicadas en KDD 2014, describiendo experimentos de Bing con 8 millones y con 3 millones de usuarios disparados, y explicando que disparado significa que al menos una de las consultas del usuario mostró la página con el bloque alterado. Quien nunca llegó ahí vio exactamente lo mismo en los dos brazos y solo agrega ruido al denominador.
¿Cuál es la diferencia entre efecto por disparo y efecto diluido?
Son el mismo efecto medido en dos denominadores diferentes. El efecto por disparo usa como base solo a quien disparó; el efecto diluido usa la población entera del experimento. La conversión entre los dos es directa: la ganancia absoluta en el total es igual a la ganancia absoluta en el segmento disparado multiplicada por la fracción de usuarios que dispararon. Una ganancia de 1,5 punto porcentual en un disparo que alcanza al 15 por ciento de los usuarios se convierte en 0,225 punto porcentual en el total. Los dos números son correctos y responden preguntas diferentes.
¿Por qué debo reportar el número diluido si es menor?
Porque es el que cierra la cuenta del negocio. Kohavi y colegas afirman en la regla 2 de KDD 2014 que las métricas deben ser diluidas por el tamaño del segmento, y dan el ejemplo de una mejora de 10 por ciento en un segmento de 1 por ciento resultando en un impacto total de aproximadamente 0,1 por ciento. También registran que en un sitio como Bing los experimentos exitosos mueven métricas clave entre 0,1 y 1,0 por ciento una vez diluidos. Reportar solo el número del disparo es como sumar el roadmap entero en moneda de segmento y prometer un resultado que los ingresos totales nunca van a mostrar.
¿El análisis por disparo puede inventar un efecto que no existe?
Puede, si el criterio de disparo se calcula después de la exposición y es afectado por el tratamiento. El disparo necesita depender únicamente de información que ya estaba definida antes de que la variación actuara. Cuando el propio tratamiento cambia quién entra en el conjunto disparado, los dos brazos dejan de ser comparables y el resultado carga sesgo de selección, que es una falla de diseño y no de estadística. La verificación barata es comprobar si el conteo de usuarios disparados coincide entre control y tratamiento.
¿El análisis por disparo realmente aumenta el poder del test?
Aumenta bastante cuando el disparo es estrecho, porque elimina del denominador usuarios cuyo efecto es cero por construcción y que solo cargaban varianza. En el ejemplo trabajado de esta guía, el mismo experimento necesita cerca de 11.472 usuarios por variación para detectar el efecto en la población disparada y cerca de 165.644 por variación para detectar el mismo efecto ya diluido, una diferencia de más de 14 veces en el tamaño de muestra necesario.