Compruebe la muestra y significancia de su test A/B
Este comprobador de significancia para tests A/B convierte los totales de visitantes y conversiones de dos variantes de una página de destino en tasas observadas, su diferencia y una puntuación z combinada de dos proporciones.
Ejecutar — gratis
También verifica si ambas variantes incluyen suficientes conversiones y no conversiones para respaldar razonablemente la aproximación normal. Úselo como una señal rápida y transparente antes de decidir, sin olvidar que la estadística no sustituye el diseño experimental, el control de la calidad del tráfico ni una regla de parada definida de antemano.
Introduzca totales coherentes del mismo experimento
Indique el número de visitantes y conversiones de las variantes A y B. El total de visitantes representa las personas o sesiones aptas asignadas a cada versión, mientras que las conversiones corresponden a quienes completaron el mismo objetivo predefinido. Mantenga idénticos en ambas variantes la ventana de atribución, las reglas de audiencia, el filtrado de bots y la definición de conversión. La calculadora rechaza una variante sin visitantes porque no permite observar una tasa, y también rechaza más conversiones que visitantes, pues eso no describe un resultado binomial de una conversión por persona. Si su métrica admite compras repetidas o varios eventos por visitante, conviértala primero en un resultado individual de conversión o no conversión. No mezcle totales de fechas, campañas, dispositivos o reglas de asignación diferentes salvo que esas diferencias formen parte del experimento previsto. La asignación aleatoria y la exposición simultánea son esenciales: una puntuación z precisa no corrige efectos del día de la semana, repartos defectuosos, visitantes duplicados ni seguimientos distintos entre versiones.
Interprete juntas las tasas, la diferencia y la puntuación z
La tasa observada de cada variante es el número de conversiones dividido por sus visitantes. La diferencia absoluta resta la tasa de A a la de B; por tanto, un resultado positivo favorece a B y uno negativo favorece a A. La diferencia en puntos porcentuales expresa la misma distancia en una escala familiar de 0 a 100 y no equivale al incremento relativo. Después, la calculadora combina las conversiones de ambos grupos para estimar el error estándar esperado bajo la hipótesis nula de tasas subyacentes iguales. Al dividir la diferencia observada por ese error se obtiene la puntuación z. El resultado se marca como estadísticamente notable cuando su valor absoluto alcanza al menos 1.96, el umbral bilateral habitual del 5%. Es una regla de evaluación sencilla, no una promesa de que la página ganadora reproducirá el mismo aumento. No ofrece una probabilidad bayesiana, no corrige revisiones repetidas ni comparaciones múltiples y tampoco incorpora el valor de los ingresos. Considere conjuntamente la dirección, la magnitud práctica y la señal estadística.
Respete la advertencia sobre suficiencia antes de decidir
El procedimiento z de dos proporciones se basa en una aproximación normal. Esta herramienta considera adecuada la muestra únicamente cuando cada variante reúne al menos cinco conversiones y cinco no conversiones. Es un mínimo práctico, no una garantía de potencia suficiente. Si no se cumple, la puntuación z sigue mostrándose por transparencia, pero conviene interpretar con cautela su señal de umbral; quizá resulte más apropiado un método exacto o recopilar más observaciones. Aunque la comprobación sea favorable, valore si el experimento podría detectar el efecto mínimo con importancia comercial. Una mejora diminuta pero estadísticamente notable quizá no compense su implantación, mientras que una diferencia grande y prometedora puede seguir siendo incierta con poco tráfico. Evite detener el test justo cuando la puntuación supere 1.96, porque las consultas repetidas elevan los falsos positivos salvo que use un diseño secuencial. Defina antes del lanzamiento la métrica objetivo, el efecto mínimo detectable, la duración, las exclusiones y la regla de parada. Por último, revise métricas de protección y equilibrio entre segmentos; esta calculadora resume un único resultado binario y no revela páginas más lentas, cambios en devoluciones, desequilibrios de asignación ni mejoras restringidas a tráfico sospechoso.
Qué puede hacer con ella
Evalúe una variante ganadora
Compare las altas tras un test planificado y compruebe si la diferencia observada supera un umbral z bilateral habitual.
Detecte datos iniciales insuficientes
Identifique variantes sin suficientes conversiones o no conversiones antes de presentar una conclusión basada en la aproximación normal.
Audite un experimento comunicado
Recalcule tasas y puntuación z combinada desde los totales originales para verificar un panel o una afirmación interna.
Preguntas frecuentes
¿Qué significa aquí estadísticamente notable?
Significa que el valor absoluto de la puntuación z combinada de dos proporciones es al menos 1.96, equivalente a un umbral bilateral sencillo del 5% bajo los supuestos del test.
¿Cómo se comprueba la suficiencia de la muestra?
Cada variante debe contener al menos cinco conversiones y cinco no conversiones. Esto respalda la aproximación, pero no demuestra que exista potencia suficiente para su objetivo empresarial.
¿Un resultado notable demuestra que B es mejor?
No. Aporta evidencia bajo un modelo estadístico concreto, pero no prueba causalidad ni rendimiento futuro. Siguen siendo esenciales la asignación aleatoria, un seguimiento fiable y una regla de parada prevista.
¿Puede haber más conversiones que visitantes?
No en este cálculo, que modela un resultado binario por visitante. Convierta los eventos repetidos en el número de visitantes únicos que realizaron al menos una conversión.
¿Cuánto cuesta la calculadora?
Puede ejecutarla gratis en el navegador desde esta página. Cada solicitud a la API cuesta $0.002.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/ecom/landing-page-ab-test-significance \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"variant_a_visitors":5000,"variant_a_conversions":500,"variant_b_visitors":5000,"variant_b_conversions":600}'const res = await fetch("https://api.kit.forhosting.com/ecom/landing-page-ab-test-significance", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"variant_a_visitors": 5000,
"variant_a_conversions": 500,
"variant_b_visitors": 5000,
"variant_b_conversions": 600
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/ecom/landing-page-ab-test-significance",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"variant_a_visitors": 5000,
"variant_a_conversions": 500,
"variant_b_visitors": 5000,
"variant_b_conversions": 600
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/ecom/landing-page-ab-test-significance", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"variant_a_visitors":5000,"variant_a_conversions":500,"variant_b_visitors":5000,"variant_b_conversions":600}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"variant_a_visitors":5000,"variant_a_conversions":500,"variant_b_visitors":5000,"variant_b_conversions":600}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/ecom/landing-page-ab-test-significance", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"variant_a_visitors": 5000,
"variant_a_conversions": 500,
"variant_b_visitors": 5000,
"variant_b_conversions": 600
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "ecom.landing_page_ab_test_significance",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |