Datos Faltantes en Test A/B: MCAR, MAR e imputación
La fila que no llegó cambia el resultado. Cómo clasificar datos faltantes, por qué los casos completos exageran el efecto y qué arregla la imputación.

📚 Este artículo es parte de la guía Significancia Estadística en Tests A/B: La Guía.
La fila que no llegó a la base de datos no es neutra. En el ejemplo de esta guía, una variación que perdía más rastreo en dispositivos antiguos hizo que la lectura por casos completos devolviera más 14,71 por ciento cuando el efecto real era más 10,48 por ciento, una exageración de 40 por ciento; imputar por la media del brazo mantuvo el mismo error y además estrechó el intervalo; y estandarizar por el tipo de dispositivo recuperó exactamente más 0,6500 punto y más 10,48 por ciento. Los datos faltantes no son un detalle de limpieza, son una decisión estadística con sesgo previsible. Esta guía muestra la clasificación que organiza el problema, la cuenta que separa lo que se puede arreglar de lo que no, y cómo cercar lo que queda. Forma parte de nuestra guía completa de test A/B y complementa pérdida de seguimiento por consentimiento, que trata las causas técnicas de la pérdida.
Datos faltantes: la pérdida casi nunca es simétrica
Todo test A/B pierde dato. Las causas son conocidas: bloqueador de anuncios, rechazo de consentimiento, pestaña cerrada antes del disparo del evento, dispositivo lento, script que falla en un navegador antiguo, usuario que cambia de dispositivo a mitad de camino.
El problema no es la pérdida. Es la pérdida diferente entre los brazos. Y suele ser diferente por un motivo estructural: la variación nueva casi siempre cambia algo en el peso de la página, en el orden de los eventos o en el momento del disparo. Basta con que la variación cargue un componente más para que el dispositivo viejo falle un poco más, y listo: el brazo B pasa a ser medido en una muestra más nueva, más rápida y que convierte mejor.
Fíjese en lo que eso le hace a la comparación. Los dos brazos siguen siendo iguales en quién fue sorteado. Dejan de ser iguales en quién fue medido. La aleatorización protege el primer conjunto y no protege el segundo, y es el segundo el que entra en la cuenta.
Las tres preguntas de Rubin
La clasificación que organiza el asunto es de Donald Rubin, de 1976, y van Buuren la formula en tres frases directas. Si la probabilidad de faltar es la misma para todos los casos, el dato es faltante completamente al azar. Si es la misma solo dentro de grupos definidos por el dato observado, el dato es faltante al azar. Si ninguna de las dos vale, el dato es faltante no al azar.
| mecanismo | la pérdida depende de | ejemplo típico en un test | ¿tiene arreglo? |
|---|---|---|---|
| completamente al azar | nada | caída momentánea de un servidor de recolección que afecta a los dos brazos por igual | sí, los casos completos ya bastan |
| al azar | variables que usted midió | el dispositivo antiguo pierde más eventos, y usted tiene el tipo de dispositivo | sí, si la variable fue medida antes del tratamiento |
| no al azar | el propio valor que faltó | quien abandona sin comprar cierra la pestaña antes de que dispare el evento | no con datos, solo con un supuesto declarado |
Dos consecuencias que valen más que la definición:
- usted no consigue distinguir “al azar” de “no al azar” mirando los datos. Es una afirmación sobre la relación entre variables cuyos valores no tiene. El informe del National Research Council sobre datos faltantes es directo: la elección del método estadístico exige supuestos no verificables sobre el mecanismo que causa la falta, y por eso siempre involucra algún grado de subjetividad.
- “al azar” no es una propiedad del mundo, es una propiedad de su base. La misma pérdida es no al azar si usted no guardó el tipo de dispositivo y al azar si lo guardó. Instrumentar bien cambia la categoría del problema.
Ejemplo trabajado: la variación que perdió más rastreo en el dispositivo antiguo
Un test con 20.000 usuarios por brazo, base dividida en 80 por ciento dispositivo moderno y 20 por ciento dispositivo antiguo, por sorteo, igual en los dos brazos. La variación B carga un componente más que falla con más frecuencia en el dispositivo antiguo.
Estos son los datos completos, que en la vida real nadie ve:
| brazo | dispositivo | usuarios | conversiones | tasa |
|---|---|---|---|---|
| A | moderno | 16.000 | 1.120 | 7,000% |
| A | antiguo | 4.000 | 120 | 3,000% |
| A | total | 20.000 | 1.240 | 6,200% |
| B | moderno | 16.000 | 1.240 | 7,750% |
| B | antiguo | 4.000 | 130 | 3,250% |
| B | total | 20.000 | 1.370 | 6,850% |
La verdad, por lo tanto, es más 0,6500 punto y más 10,48 por ciento, con valor p 0,008490.
Ahora la pérdida. Dentro de cada celda, quien desaparece convierte a la misma tasa que quien se queda, es decir, la pérdida es al azar dado el dispositivo y el brazo. Lo que cambia es cuánta gente desaparece:
| brazo | dispositivo | pérdida | usuarios medidos | conversiones medidas | tasa medida |
|---|---|---|---|---|---|
| A | moderno | 2,5% | 15.600 | 1.092 | 7,000% |
| A | antiguo | 30,0% | 2.800 | 84 | 3,000% |
| A | total | 8,0% | 18.400 | 1.176 | 6,391% |
| B | moderno | 2,5% | 15.600 | 1.209 | 7,750% |
| B | antiguo | 60,0% | 1.600 | 52 | 3,250% |
| B | total | 14,0% | 17.200 | 1.261 | 7,331% |
Note que dentro de cada fila de dispositivo la tasa medida es idéntica a la tasa verdadera. Ninguna celda está sesgada. Y aun así el total lo está.
Las tres lecturas, y lo que devuelve cada una
Test z bilateral de dos proporciones. "Sin significancia" casi siempre significa que falta muestra, no que las versiones sean iguales.
| lectura | control | variación | efecto relativo | valor p |
|---|---|---|---|---|
| verdad (dato completo) | 1.240 de 20.000 = 6,2000% | 1.370 de 20.000 = 6,8500% | más 10,48% | 0,008490 |
| casos completos | 1.176 de 18.400 = 6,3913% | 1.261 de 17.200 = 7,3314% | más 14,71% | 0,000448 |
| imputación por la media del brazo | 1.278 de 20.000 = 6,3900% | 1.466 de 20.000 = 7,3300% | más 14,71% | 0,000200 |
Pegue las tres filas en la calculadora de arriba. Las dos primeras coinciden token a token; la tercera difiere solo por el redondeo de las conversiones imputadas a número entero.
Tres lecturas del mismo experimento, y la única que responde la pregunta es la primera, que en la vida real usted no tiene. Las otras dos se equivocan en la misma dirección y por el mismo motivo:
Por qué los casos completos exageraron. El brazo B perdió 60 por ciento del dispositivo antiguo y el brazo A perdió 30 por ciento. El dispositivo antiguo convierte a la mitad que el moderno. Por lo tanto, la muestra medida de B quedó más rica en dispositivo moderno que la de A: 90,7 por ciento contra 84,8 por ciento. La comparación pasó a mezclar el efecto de la variación con la diferencia de composición entre las dos muestras medidas. No es un problema de tamaño de muestra, es un problema de mezcla, y más tráfico solo vuelve más preciso el número equivocado.
Por qué imputar por la media es peor. Rellenar los huecos con la media observada del propio brazo reproduce exactamente la tasa observada, así que la estimación puntual no se mueve. Lo que se mueve es el denominador: usted vuelve a tener 20.000 por brazo, y el intervalo encoge. El valor p cae de 0,000448 a 0,000200 sin que haya entrado ninguna información nueva. Es precisión inventada encima de un número sesgado, el peor par posible. El informe del National Research Council es explícito en la recomendación 10: los métodos de imputación única no deben usarse como enfoque primario para el tratamiento de datos faltantes, a menos que los supuestos que los sostienen estén científicamente justificados.
La estandarización recupera el número
Si la pérdida depende del dispositivo, y el dispositivo fue medido antes del tratamiento, la corrección es directa: calcule la tasa de cada brazo dentro de cada tipo de dispositivo, y recombine usando los pesos reales del diseño, que la aleatorización garantiza que son iguales en los dos brazos.
| brazo | tasa medida en el moderno | tasa medida en el antiguo | recombinado con 80% y 20% |
|---|---|---|---|
| A | 7,000% | 3,000% | 0,8 por 7,000 más 0,2 por 3,000 = 6,2000% |
| B | 7,750% | 3,250% | 0,8 por 7,750 más 0,2 por 3,250 = 6,8500% |
Diferencia: más 0,6500 punto. Efecto relativo: más 10,48 por ciento. Es exactamente la verdad, recuperada sin ver nunca el dato perdido.
El error estándar de esa estimación, sumando las varianzas ponderadas de cada estrato, es 0,26088 punto, lo que da z igual a 2,4916, valor p 0,012717 e intervalo de confianza de 95 por ciento entre más 0,1387 y más 1,1613 punto.
Tres condiciones para que ese arreglo valga:
- la variable tiene que ser pretratamiento. Condicionar en algo que el tratamiento afectó reintroduce sesgo, y es el mismo error de segmentar por comportamiento posterior que describimos en efecto heterogéneo por segmento.
- los pesos tienen que venir del diseño, no de la muestra medida. Usar la composición observada de cada brazo devolvería el número sesgado, porque es justamente ella la que está contaminada.
- cada estrato necesita tener gente en los dos brazos. Un estrato que perdió casi todo en uno de los lados no sostiene comparación, y en ese caso la salida es agregar estratos, no fingir que hay dato.
Cuánta pérdida ya es problema
No existe un umbral universal, pero existe una cuenta de servilleta que responde en treinta segundos si vale la pena preocuparse. El sesgo de los casos completos es aproximadamente la diferencia de composición entre las dos muestras medidas multiplicada por la distancia entre las tasas de los grupos que componen esa mezcla.
En el ejemplo, la muestra medida de B quedó con 15.600 de 17.200 usuarios en el dispositivo moderno, o 90,698 por ciento, contra 15.600 de 18.400, o 84,783 por ciento, en A. La diferencia de composición es 5,915 puntos. La distancia entre la tasa del moderno y la del antiguo es del orden de 4,5 puntos. El producto da aproximadamente 0,266 punto de sesgo esperado, y el sesgo observado fue 0,2901 punto, la diferencia entre los 0,9401 de los casos completos y los 0,6500 verdaderos. La aproximación se equivoca poco y sirve para decidir.
| diferencia de pérdida entre brazos | diferencia de composición resultante | sesgo esperado, con grupos separados por 4 puntos |
|---|---|---|
| 1 punto | menos de 0,5 punto | menos de 0,02 punto, irrelevante |
| 3 puntos | cerca de 1,5 punto | cerca de 0,06 punto |
| 6 puntos | cerca de 3 puntos | cerca de 0,12 punto |
| 12 puntos | cerca de 6 puntos | cerca de 0,24 punto |
Compare la última columna con el efecto que usted esperaba detectar. Un efecto de 0,30 punto conviviendo con un sesgo de 0,24 punto no es un resultado, es ruido con signo. Y note el segundo término del producto: cuando los grupos que la pérdida separa convierten casi igual, una pérdida enorme no hace ningún daño. Es la combinación de pérdida asimétrica con grupos desiguales lo que arruina la lectura.
Imputación múltiple: por qué más de un rellenado
Cuando existen muchas covariables, o cuando lo que falta es una métrica continua y no la conversión, la estandarización manual se vuelve impracticable y la herramienta estándar es la imputación múltiple. La idea es la que van Buuren resume: crear más de un conjunto de datos completo, analizar cada uno con el método de siempre y después combinar los resultados por las reglas de Rubin.
El punto está en la combinación. La varianza final suma la varianza muestral de siempre, llamada intra-imputación, con la varianza extra causada por el dato faltante, la entre-imputaciones, que es el desacuerdo entre los rellenados. Esa segunda parcela es exactamente lo que la imputación única tira a la basura, y por eso produce un error estándar demasiado pequeño.
| método | estimación puntual | ¿reconoce la incertidumbre de la imputación? | cuándo usarlo |
|---|---|---|---|
| casos completos | sesgada si la pérdida no es completamente al azar | no aplica | pérdida baja y claramente simétrica |
| imputación por la media | igual a la de los casos completos | no | nunca como análisis primario |
| estandarización por estrato | correcta bajo pérdida al azar en la variable usada | sí, en el error estándar combinado | pocas covariables, medidas antes |
| imputación múltiple | correcta bajo pérdida al azar en el modelo usado | sí, por la varianza entre imputaciones | muchas covariables o resultado continuo |
Lo que no tiene arreglo: pérdida que depende del resultado
Si quien desaparece es justamente quien no iba a convertir, ninguna covariable salva, porque la información necesaria está en el dato ausente. Lo que queda es declarar el supuesto y probar cuánto aguanta.
El formato habitual es asumir que los perdidos convierten a una fracción de la tasa observada del mismo grupo y barrer esa fracción. Aplicando el descuento solo al brazo B, que es el que perdió más, y partiendo de la lectura estandarizada:
| tasa de los perdidos en B, como fracción de la observada | tasa estimada en B | efecto relativo |
|---|---|---|
| 100% (pérdida al azar dentro del estrato) | 6,8500% | más 10,48% |
| 80% | 6,7410% | más 8,73% |
| 60% | 6,6320% | más 6,97% |
| 40% | 6,5230% | más 5,21% |
| 20% | 6,4140% | más 3,45% |
| 0% (ningún perdido convirtió) | 6,3050% | más 1,69% |
El resultado de ese barrido es lo más útil que usted puede llevar a la reunión: la dirección de la conclusión no se da vuelta en ningún escenario, ni en el absurdo en que ninguna de las 2.800 personas perdidas en B convertiría. Lo que cambia es el tamaño, que cae de más 10,48 a más 1,69 por ciento.
Compare con el mismo barrido hecho sobre la lectura ingenua, sin estrato: allí la conclusión se anula cuando los perdidos convierten al 8,41 por ciento de la tasa observada, es decir, 0,617 por ciento. Estandarizar no solo corrigió el punto, dejó la conclusión mucho más robusta.
Por eso la recomendación 15 del National Research Council pide que el análisis de sensibilidad sea parte del reporte primario de los hallazgos, y que examinar la sensibilidad a los supuestos sobre el mecanismo de pérdida sea un componente obligatorio del informe.
Una hoja de ruta de seis pasos
- Mida la pérdida antes de mirar la métrica. Dos filas: fracción de usuarios sorteados sin resultado registrado, por brazo. Si la diferencia entre brazos pasa de un punto, trate la pérdida como el problema principal de ese test.
- Corra la prueba de proporción de muestra en la población medida. Un reparto desigual que aparece solo después del filtro de resultado es firma de pérdida diferencial, no de error de sorteo.
- Busque la variable que explica la pérdida. Dispositivo, navegador, país, canal, versión de la app. Tiene que ser pretratamiento.
- Estandarice y compare con los casos completos. Si las dos lecturas concuerdan, la pérdida no estaba distorsionando. Si discrepan, la estandarizada es la que vale, y la diferencia entre ellas es el tamaño del sesgo que usted acaba de remover.
- Barra el supuesto que quedó. La tabla de fracción de arriba toma diez minutos y responde la única pregunta que la dirección va a hacer.
- Arregle la causa antes del próximo test. Un ajuste de instrumentación vale más que cualquier método de corrección, porque cambia el mecanismo de categoría.
Errores comunes
- Reportar la pérdida solo como número agregado. Ocho por ciento de pérdida total no dice nada; 8 contra 14 por ciento entre brazos lo dice todo.
- Filtrar a quien tiene dato completo y llamar a eso limpieza. Ese filtro es una decisión de análisis con sesgo previsible, y merece una línea en el informe.
- Rellenar con cero. Es imputación única con el supuesto más fuerte posible, que todo el que desapareció no convirtió, sin que se declare.
- Usar la composición observada como peso. Devuelve el número sesgado con apariencia de corrección.
- Condicionar en una variable postratamiento. Reintroduce el sesgo que usted intentó quitar, por otra puerta.
- Tratar el análisis de sensibilidad como apéndice. Es el resultado, tanto como el punto estimado.
Hágalo automático con Donnu
La corrección de dato faltante depende por completo de algo que se decide antes del test: guardar el sorteo separado del resultado. Cuando la tabla solo tiene a quien convirtió, no hay forma de saber cuántos desaparecieron, y el análisis por casos completos se vuelve el único disponible sin que nadie perciba que optó por él.
Donnu registra la asignación en el momento en que ocurre, con el estado pretratamiento del usuario sellado junto a ella, lo que deja la tasa de pérdida por brazo visible en la misma pantalla del resultado y convierte la estandarización por estrato en una consulta en vez de un proyecto. La calculadora de significancia cierra las lecturas de la tabla de arriba con los mismos números que usted pegaría a mano.
Referencias
- van Buuren, S. Flexible Imputation of Missing Data, segunda edición, capítulo 1. Fuente de las tres definiciones atribuidas a Rubin (1976): si la probabilidad de faltar es la misma para todos los casos, el dato es faltante completamente al azar; si es la misma solo dentro de grupos definidos por el dato observado, el dato es faltante al azar; y si ninguna de las dos vale, el dato es faltante no al azar. Fuente también del registro de que la pérdida completamente al azar, aunque conveniente, es frecuentemente irrealista para los datos en mano, y de que los métodos modernos de dato faltante en general parten del supuesto de pérdida al azar. stefvanbuuren.name.
- van Buuren, S. Flexible Imputation of Missing Data, sección sobre imputación múltiple en resumen. Fuente de la descripción del procedimiento en tres pasos (crear más de un conjunto completo, analizar cada uno con software estándar y combinar los resultados por las reglas de Rubin) y de la descomposición de la varianza final en varianza intra-imputación, que es la varianza muestral convencional, y varianza entre imputaciones, que es la incertidumbre extra causada por el dato faltante y que la imputación única descarta. stefvanbuuren.name.
- National Research Council. The Prevention and Treatment of Missing Data in Clinical Trials, capítulo de conclusiones y recomendaciones, 2010. Fuente de la recomendación 10, según la cual los métodos de imputación única no deben usarse como enfoque primario para el tratamiento de datos faltantes a menos que los supuestos que los sostienen estén científicamente justificados; de la recomendación 15, que pide que los análisis de sensibilidad sean parte del reporte primario de los hallazgos y que examinar la sensibilidad a los supuestos sobre el mecanismo de pérdida sea componente obligatorio del informe; y del registro de que la elección del método estadístico exige supuestos no verificables sobre el mecanismo que causa la falta. ncbi.nlm.nih.gov.
Lea también: Pérdida de seguimiento por consentimiento · Atrición diferencial · Estratificación en test A/B · SRM: reparto desigual de tráfico · Calculadora de significancia · Leia em português
Preguntas frecuentes
- ¿Qué son datos faltantes completamente al azar, al azar y no al azar?
- La clasificación es de Rubin (1976) y van Buuren la resume así: si la probabilidad de faltar es la misma para todos los casos, el dato es faltante completamente al azar; si es la misma solo dentro de grupos definidos por el dato observado, es faltante al azar; si ninguna de las dos vale, es faltante no al azar. La primera es inofensiva, la segunda es corregible con lo que usted midió, y la tercera no es corregible con ningún dato.
- ¿Analizar solo a quien tiene dato completo es seguro?
- Solo cuando la pérdida es completamente al azar, y eso rara vez es cierto en un test A/B, porque la variación nueva suele cambiar quién consigue ser medido. En el ejemplo de esta guía la pérdida fue de 8 por ciento en el control y 14 por ciento en la variación, y el análisis por casos completos devolvió más 14,71 por ciento contra una verdad de más 10,48 por ciento, es decir, 40 por ciento de exageración sobre el efecto real.
- ¿Imputar por la media resuelve?
- No, y empeora un problema. La imputación por la media del brazo devuelve exactamente la misma estimación puntual sesgada de los casos completos y además estrecha el intervalo, porque trata un valor inventado como valor medido. En el ejemplo, el valor p cae de 0,000448 a 0,000200 sin que haya entrado ninguna información nueva. El informe del National Research Council de 2010 recomienda que los métodos de imputación única no se usen como enfoque primario, a menos que los supuestos que los sostienen estén científicamente justificados.
- ¿Qué recupera el número correcto?
- Estandarizar por aquello que causa la pérdida, cuando esa variable fue medida antes del tratamiento. En el ejemplo, el tipo de dispositivo explica tanto la pérdida como la conversión; recalculando cada brazo con los pesos reales del diseño, 80 por ciento dispositivo moderno y 20 por ciento antiguo, la estimación vuelve a más 0,6500 punto y más 10,48 por ciento, exactamente la verdad, con un intervalo un poco más ancho que el del dato completo.
- ¿Y cuando la pérdida depende del propio resultado?
- Ahí ningún ajuste resuelve, porque la información necesaria está justamente en el dato que no llegó. El camino es el análisis de sensibilidad: asuma que los perdidos convierten a una fracción de la tasa observada y vea a partir de qué fracción la conclusión se da vuelta. En la lectura estandarizada de esta guía la conclusión no se da vuelta ni en el escenario más pesimista posible, pero el efecto encoge de más 10,48 a más 1,69 por ciento.
- ¿Se puede saber por los datos si la pérdida es al azar o no al azar?
- No. Es un supuesto sobre la relación entre variables cuyos valores usted no tiene, y por eso no puede validarse con los datos recolectados. Por eso el mismo informe del National Research Council recomienda que el análisis de sensibilidad sea parte del reporte primario de los hallazgos, y no un apéndice opcional.