Calculadora del tamaño de la muestra de un test A/B (MDE, significación, potencia y duración del test)
Para hallar el tamaño de muestra, introduce el CVR base, el MDE, el nivel de significación y la potencia, y haz clic en «Calcular». Obtienes el tamaño de muestra por grupo para A y B (redondeado hacia arriba) y el total, además de los días necesarios si introduces tus visitas diarias. Cambia «Qué se calcula» a potencia para fijar el tamaño de muestra por grupo y hallar en su lugar la potencia 1 − β.
Índice
-
Qué puedes hacer en esta página
-
¿Para qué sirve este cálculo?
-
Cómo usar
-
Fórmulas y figuras
-
Símbolos y términos
-
Qué conviene saber de antemano
-
Cómo calcularlo con Excel
-
Cómo calcularlo con Hojas de cálculo de Google
-
Cómo calcularlo con Python
-
La fórmula en LaTeX y otras notaciones matemáticas (para copiar)
-
Cómo pedirle a ChatGPT que haga el cálculo
-
Las ventajas de DataChef
-
Funciones relacionadas
-
Todas las calculadoras de NumberChef
Qué puedes hacer en esta página
- Introduce el CVR base (la tasa de conversión de tu versión A actual), el efecto mínimo detectable (MDE, como % relativo o en puntos porcentuales), el nivel de significación \(\alpha\) (bilateral o unilateral) y la potencia \(1-\beta\). Obtienes el tamaño de muestra que necesita cada grupo de tu test A/B (redondeado hacia arriba) y el total
- «Mi página convierte al 3 %. ¿Cuántas visitas necesitan A y B cada una para detectar un incremento del 10 % (del 3 % al 3,3 %)?» Esta página responde a la pregunta más importante antes de empezar un test
- Introduce tus visitas diarias (opcional) para ver también cuántos días se tarda en alcanzar ese tamaño de muestra (redondeado hacia arriba)
- Si solo puedes conseguir un número fijo de visitas por grupo, fija el tamaño de muestra y calcula la potencia \(1-\beta\) (la probabilidad de encontrar una diferencia cuando de verdad la hay)
- Un gráfico de cómo cambia el tamaño de muestra con el MDE, una explicación sencilla de las fórmulas y fórmulas para copiar y pegar en Excel, en Hojas de cálculo de Google y en Python están en esta misma página
¿Para qué sirve este cálculo?
Imagina que la página de producto de una tienda online convierte al 2 %, y quieres detectar un incremento relativo del 10 % (del 2 % al 2,2 %) con un texto de botón nuevo. Con un nivel de significación del 5 % (bilateral) y una potencia del 80 %, necesitas unas 80.682 visitas por grupo, unas 161.364 en total.
Comparar unas pocas decenas o cientos de visitas («B lo hizo mejor la semana pasada») no permite distinguir una diferencia por azar de una real. Calcular el tamaño de muestra antes de empezar evita gastar semanas en un test que no puede dar una respuesta.
Una página de destino recibe solicitudes de demostración con un CVR del 5 %. Para detectar un incremento de 1 punto (del 5 % al 6 %), necesitas 8158 visitas por grupo, 16.316 en total. Con 300 visitas al día, son \(16.316 \div 300 \approx 54{,}4\), es decir, 55 días, u 8 semanas si quieres igualar los días de la semana.
Si alguien pide resultados en 2 semanas, este cálculo te permite explicar con números: «En 2 semanas (4200 visitas, 2100 por grupo), necesitaríamos un MDE mucho mayor, de alrededor de 3 puntos (del 5 % al 8 %, que necesita 1059 por grupo)».
Si tu boletín tiene una tasa de apertura del 20 % y quieres detectar un incremento de 2 puntos (del 20 % al 22 %) con un asunto nuevo, necesitas enviarlo a 6510 personas por grupo, 13.020 en total (nivel de significación del 5 %, potencia del 80 %).
Una métrica con una tasa alta, como la tasa de apertura, necesita menos gente para mostrar una diferencia que un CVR de unos pocos puntos. Esto se debe a que la parte \(p(1-p)\) de la fórmula es distinta: los mismos «2 puntos» necesitan un tamaño de muestra distinto para cada métrica.
Imagina que un test dirigido a un incremento relativo del 10 % en una página con un CVR del 3 % se ejecutó con 5000 visitas por grupo y mostró «ninguna diferencia significativa». Despejar la potencia da solo un 13,5 % aproximadamente. El test estaba montado para perderse una mejora real más de 8 veces de cada 10.
La conclusión correcta aquí no es «no tuvo efecto», sino «este tamaño de muestra no podía saberlo». Calcular la potencia evita que interpretes mal un test y descartes una buena idea.
Una aplicación tiene una retención al día siguiente del 40 %. Para detectar un incremento relativo del 10 % (del 40 % al 44 %) con un tutorial nuevo, bastan unos 2389 usuarios nuevos por grupo, unos 4778 en total (nivel de significación del 5 %, potencia del 80 %).
Una métrica cercana al 50 %, como la retención, tiene una dispersión grande, pero la diferencia de tasas (4 puntos) también es grande, así que los resultados llegan más rápido que en un test sobre un CVR de unos pocos puntos. Estimar el tamaño de muestra de cada métrica también te ayuda a decidir qué mejora abordar primero.
En un test en el que perder una buena idea saldría caro, como un cambio en la forma de mostrar los precios, puedes subir la potencia del 80 % al 90 %. Para un CVR del 3 % y un incremento relativo del 10 %, el tamaño de muestra por grupo sube de 53.211 a 71.233 (unas 1,34 veces).
Este cálculo muestra exactamente cuántas visitas más hacen falta para reducir a la mitad las pérdidas (del 20 % al 10 %), así que puedes ajustar el tamaño de muestra y la duración del test a la importancia del test.
Fórmulas y figuras
Símbolos y términos
Símbolos
| \(p_1\) | pe uno | El CVR base (la tasa de conversión de la versión A actual). \(p\) significa proporción o probabilidad. En las fórmulas, el 3 % se escribe como el decimal 0,03. |
| \(p_2\) | pe dos | El CVR objetivo (la tasa de conversión que esperas que alcance la versión B). Es \(p_1 (1 + r/100)\) para un % relativo y \(p_1 + d\) para puntos porcentuales. |
| \(\bar{p}\) | pe barra | La media de los dos CVR, \((p_1 + p_2) \div 2\). Es el CVR compartido que supones cuando no hay diferencia. En estadística, la barra de arriba marca una media. |
| \(r\) | erre | El MDE dado como % relativo. La r es de «ratio» (razón) e indica en qué porcentaje mejora el CVR base (del 3 % al 3,3 % da \(r = 10\)). |
| \(d\) | de | El MDE dado en puntos porcentuales. La d es de «difference» (diferencia) y es la diferencia simple de CVR (del 3 % al 3,3 % da \(d = 0{,}3\) puntos). |
| \(p_2 - p_1\) | pe dos menos pe uno | La diferencia que quieres detectar, en puntos porcentuales escritos como decimal (0,3 puntos es 0,003). El tamaño de muestra se divide entre su cuadrado, así que cuanto menor es la diferencia, más deprisa crece el tamaño de muestra. |
| \(\alpha\) | alfa | El nivel de significación: la probabilidad de dar por real una diferencia cuando no la hay (la probabilidad de un error de tipo I). El 5 % (0,05) es la elección habitual. Alfa es la primera letra griega, y en estadística se usa para la probabilidad del «primer» tipo de error. |
| \(\beta\) | beta | La probabilidad de no ver una diferencia que de verdad existe (la probabilidad de un error de tipo II). Beta es la segunda letra griega, que se usa para la probabilidad del «segundo» tipo de error. |
| \(1-\beta\) | uno menos beta | La potencia: la probabilidad de encontrar una diferencia cuando de verdad la hay. Lo habitual es el 80 % o el 90 %. |
| \(z_{\alpha/2}\) | zeta sub alfa medios | El valor z del nivel de significación \(\alpha\) en un contraste bilateral (el punto que deja \(\alpha/2\) de la distribución normal estándar por encima). Es 1,9600 al 5 %, 2,5758 al 1 % y 1,6449 al 10 %. Un contraste unilateral usa en su lugar \(z_{\alpha}\) (1,6449 al 5 %). |
| \(z_{\beta}\) | zeta sub beta | El valor z de la potencia \(1-\beta\) (el punto que deja por debajo una probabilidad \(1-\beta\) de la distribución normal estándar). Es 0,8416 al 80 % y 1,2816 al 90 %. |
| \(z_{1-\beta}\) | zeta sub uno menos beta | En la fórmula de la potencia, el valor z despejado a partir del tamaño de muestra. Introdúcelo en \(\Phi\) y obtienes la potencia. (Es lo mismo que \(z_{\beta}\), escrito desde el lado del valor que se despeja.) |
| \(\Phi\) | fi mayúscula | La función de distribución de la distribución normal estándar. Devuelve la probabilidad de que un valor z sea igual o menor que un valor dado: \(\Phi(1{,}96) \approx 0{,}975\) y \(\Phi(0{,}8416) \approx 0{,}80\). La letra griega fi mayúscula es el símbolo habitual de esta función. |
| \(n\) | ene | El tamaño de muestra por grupo (para cada una de las versiones A y B). La n es de «número». El total de A y B es \(2n\). |
| \(\sqrt{\ \ }\) | raíz cuadrada | La raíz cuadrada: el número positivo que da el número de dentro al elevarse al cuadrado, por ejemplo \(\sqrt{30.000} \approx 173{,}205\). Aparece al hallar la dispersión (desviación típica) de un CVR. |
| \(V\) | uve | Las visitas diarias (todas las visitas a la página que se prueba, A y B juntos). La V es de «visitas». |
| \(D\) | de | Los días necesarios. La D es de «días». |
| \(\lceil\ \rceil\) | techo (redondeo hacia arriba) | El símbolo del redondeo hacia arriba (la función techo). Da el menor número entero mayor o igual que el número de dentro (\(\lceil 53{,}211 \rceil = 54\)). |
Términos
| test A/B | Un experimento que reparte a los visitantes al azar entre la versión actual (A) y una versión nueva (B) durante el mismo periodo, para ver cuál rinde mejor (por ejemplo, tiene un CVR más alto). Sirve para comprobar con datos, y no con corazonadas, si un cambio como el color de un botón, un titular, la forma de mostrar un precio o el diseño de una página de destino ayuda de verdad. |
| CVR (tasa de conversión) | La proporción de visitantes o clics que acaban en una acción objetivo (una conversión), como una compra o un registro. En las fórmulas de esta página, el CVR de la versión A es \(p_1\) y el de la versión B es \(p_2\). |
| MDE (efecto mínimo detectable) | El incremento más pequeño que quieres poder detectar. Es el primer valor que hay que decidir al planificar un test A/B. Cuanto menor es, más deprisa crece el tamaño de muestra (es inversamente proporcional al cuadrado de la diferencia), así que elige el incremento más pequeño que importaría a tu negocio. |
| nivel de significación | La probabilidad \(\alpha\) del error que estás dispuesto a aceptar: ver una diferencia por azar y darla por real cuando no hay diferencia. El 5 % es lo habitual, lo que permite una falsa alarma una vez de cada 20. Un nivel más estricto (1 %) necesita un tamaño de muestra mayor. |
| potencia estadística | La probabilidad \(1-\beta\) de encontrar una diferencia cuando de verdad la hay. El 80 % es lo habitual, lo que acepta perder un incremento real una vez de cada 5. Si un test de potencia baja dice «no hay diferencia», eso no es prueba de que no la haya. |
| error de tipo I | El error de dar por real una diferencia cuando no la hay (un falso positivo). La probabilidad que permites para él es el nivel de significación \(\alpha\). Es la otra cara de un error de tipo II (no verla): bajar uno tiende a subir el otro. La forma más básica de reducir los dos es un tamaño de muestra mayor. |
| error de tipo II | El error de no ver una diferencia que de verdad existe (un falso negativo). Su probabilidad es \(\beta\), y \(1-\beta\) es la potencia. Es la otra cara de un error de tipo I (una falsa alarma): bajar uno tiende a subir el otro. La forma más básica de reducir los dos es un tamaño de muestra mayor. |
| hipótesis nula | La hipótesis «las versiones A y B tienen el mismo CVR», que el contraste intenta rechazar. El contraste pregunta cuán raros serían los datos si la hipótesis nula fuera cierta. Si son lo bastante raros, se rechaza la hipótesis nula y el resultado es «una diferencia». |
| hipótesis alternativa | La hipótesis «las versiones A y B tienen CVR distintos», que el contraste intenta mostrar. Se acepta cuando se rechaza la hipótesis nula (no hay diferencia). |
| contraste bilateral | Un contraste que cuenta como diferencia tanto «B es mayor» como «B es menor». Se usa en un test A/B normal, en el que no sabes hacia dónde irá. Necesita un tamaño de muestra mayor que un contraste unilateral, pero también detecta que B lo haga peor. |
| contraste unilateral | Un contraste que solo busca «B es mayor». Necesita un tamaño de muestra menor que un contraste bilateral, pero no puede detectar que B lo haga peor, así que hay que elegirlo antes de empezar el test. (Cambiar a unilateral después de ver los resultados no es válido.) |
| prueba z de dos proporciones | Un contraste que comprueba si dos grupos difieren en una proporción (como el CVR), con un valor z (la diferencia estandarizada) y la distribución normal estándar. Las fórmulas de esta página hallan el tamaño de muestra para este contraste. La aproximación normal funciona cuando cada grupo tiene suficientes conversiones (como regla práctica, al menos 5 a 10). |
| distribución normal estándar | La distribución normal de media 0 y desviación típica 1 (una campana simétrica). Un valor z es un punto de su eje horizontal, y cada valor z corresponde a una probabilidad, como en «el área a la derecha de 1,96 es el 2,5 %». |
| función de distribución | Una función que devuelve la probabilidad de obtener un valor dado o menor. La de la distribución normal estándar se escribe \(\Phi\) y aparece al final de la fórmula de la potencia. En Excel es DISTR.NORM.ESTAND.N (con VERDADERO como segundo argumento), y en Python es NormalDist().cdf. |
| desviación típica (dispersión) | Cuán dispersos están los datos. La dispersión de una proporción \(p\) es proporcional a \(\sqrt{p(1-p)}\). \(\sqrt{2\bar{p}(1-\bar{p})}\) y \(\sqrt{p_1(1-p_1)+p_2(1-p_2)}\) en las fórmulas son la dispersión de la diferencia entre los CVR de los dos grupos. |
| comparaciones múltiples | Comparar varias versiones B o varias métricas a la vez. Cuantas más comparaciones haces, más probable es que al menos una parezca significativa por azar, así que hace falta un ajuste, como dividir el nivel de significación entre el número de comparaciones (la corrección de Bonferroni). |
| detención anticipada (peeking) | Mirar los resultados una y otra vez antes de alcanzar el tamaño de muestra necesario y parar en cuanto el resultado parece significativo. Facilita captar diferencias por azar, así que un test pensado para un nivel de significación del 5 % en realidad se equivoca con mucha más frecuencia. Las fórmulas de esta página suponen que fijas primero el tamaño de muestra y esperas hasta alcanzarlo. |
Qué conviene saber de antemano
Esto es lo que te ayuda a usar el cálculo de esta página entendiendo lo que haces, y no solo pulsando el botón.
Si te atascas, volver sobre estos temas es el camino más rápido.
| Porcentajes (5.º–6.º de Primaria, 10-12 años) |
|
| Raíces cuadradas (2.º–3.º de ESO, 13-15 años) |
|
| Probabilidad básica (2.º de ESO a 1.º de Bachillerato, 13-17 años) |
|
| La distribución normal y los valores z (2.º de Bachillerato, 17-18 años) |
|
| La lógica del contraste de hipótesis (2.º de Bachillerato, 17-18 años) |
|
| Redondeo hacia arriba (3.º–4.º de Primaria, 8-10 años) |
|
Cómo calcularlo con Excel
| CVR base p1 (%) | 3 |
| Incremento relativo r (%) | 10 |
| CVR objetivo p2 (%) | =B1*(1+B2/100) |
| CVR base p1 (%) | 3 |
| CVR objetivo p2 (%) | 3,3 |
| Nivel de significación α (%, bilateral) | 5 |
| Potencia 1−β (%) | 80 |
| z_α/2 | =INV.NORM.ESTAND(1-B3/100/2) |
| z_β | =INV.NORM.ESTAND(B4/100) |
| CVR medio p̄ | =(B1+B2)/2/100 |
| Tamaño de muestra por grupo n (redondeado hacia arriba) | =REDONDEAR.MAS((B5*RAIZ(2*B7*(1-B7))+B6*RAIZ(B1/100*(1-B1/100)+B2/100*(1-B2/100)))^2/((B2-B1)/100)^2;0) |
| Tamaño de muestra por grupo n | 53211 |
| Visitas diarias V (total de A + B) | 2000 |
| Días necesarios D (redondeados hacia arriba) | =REDONDEAR.MAS(2*B1/B2;0) |
| CVR base p1 (%) | 3 |
| CVR objetivo p2 (%) | 3,3 |
| Nivel de significación α (%, bilateral) | 5 |
| Tamaño de muestra por grupo n | 30000 |
| z_α/2 | =INV.NORM.ESTAND(1-B3/100/2) |
| CVR medio p̄ | =(B1+B2)/2/100 |
| z_1−β | =(ABS(B2-B1)/100*RAIZ(B4)-B5*RAIZ(2*B6*(1-B6)))/RAIZ(B1/100*(1-B1/100)+B2/100*(1-B2/100)) |
| Potencia 1−β (%) | =DISTR.NORM.ESTAND.N(B7;VERDADERO)*100 |
La primera tabla muestra 3,3 en B3 (un CVR objetivo del 3,3 %), la segunda muestra 53211 en B8 (el tamaño de muestra por grupo), la tercera muestra 54 en B3 (los días necesarios) y la cuarta muestra unos 55,71 en B8 (una potencia del 55,71 %).
INV.NORM.ESTAND convierte una probabilidad en un valor z, y DISTR.NORM.ESTAND.N (con VERDADERO como segundo argumento) convierte un valor z en una probabilidad. Para un contraste unilateral, borra el «/2» de la fórmula de z_α/2 para que quede =INV.NORM.ESTAND(1-B3/100). REDONDEAR.MAS(…;0) redondea hacia arriba.
Cómo calcularlo con Hojas de cálculo de Google
| CVR base p1 (%) | 3 |
| Incremento relativo r (%) | 10 |
| CVR objetivo p2 (%) | =B1*(1+B2/100) |
| CVR base p1 (%) | 3 |
| CVR objetivo p2 (%) | 3,3 |
| Nivel de significación α (%, bilateral) | 5 |
| Potencia 1−β (%) | 80 |
| z_α/2 | =INV.NORM.ESTAND(1-B3/100/2) |
| z_β | =INV.NORM.ESTAND(B4/100) |
| CVR medio p̄ | =(B1+B2)/2/100 |
| Tamaño de muestra por grupo n (redondeado hacia arriba) | =REDONDEAR.MAS((B5*RAIZ(2*B7*(1-B7))+B6*RAIZ(B1/100*(1-B1/100)+B2/100*(1-B2/100)))^2/((B2-B1)/100)^2;0) |
| Tamaño de muestra por grupo n | 53211 |
| Visitas diarias V (total de A + B) | 2000 |
| Días necesarios D (redondeados hacia arriba) | =REDONDEAR.MAS(2*B1/B2;0) |
| CVR base p1 (%) | 3 |
| CVR objetivo p2 (%) | 3,3 |
| Nivel de significación α (%, bilateral) | 5 |
| Tamaño de muestra por grupo n | 30000 |
| z_α/2 | =INV.NORM.ESTAND(1-B3/100/2) |
| CVR medio p̄ | =(B1+B2)/2/100 |
| z_1−β | =(ABS(B2-B1)/100*RAIZ(B4)-B5*RAIZ(2*B6*(1-B6)))/RAIZ(B1/100*(1-B1/100)+B2/100*(1-B2/100)) |
| Potencia 1−β (%) | =DISTR.NORM.ESTAND.N(B7;VERDADERO)*100 |
Cómo calcularlo con Python
from math import sqrt, ceil
from statistics import NormalDist
base_cvr = 3.0 # CVR base (%)
relative_mde = 10.0 # MDE que detectar (% relativo)
alpha = 0.05 # nivel de significación (bilateral)
power = 0.80 # potencia
daily_visits = 2000 # visitas diarias (total de A + B)
p1 = base_cvr / 100
p2 = p1 * (1 + relative_mde / 100) # CVR objetivo
z_alpha = NormalDist().inv_cdf(1 - alpha / 2) # para un contraste unilateral, usa 1 - alpha
z_beta = NormalDist().inv_cdf(power)
p_bar = (p1 + p2) / 2
n_exact = (z_alpha * sqrt(2 * p_bar * (1 - p_bar))
+ z_beta * sqrt(p1 * (1 - p1) + p2 * (1 - p2))) ** 2 / (p2 - p1) ** 2
n_per_group = ceil(n_exact) # tamaño de muestra por grupo (redondeado hacia arriba)
days = ceil(2 * n_per_group / daily_visits) # días necesarios
print(f"CVR objetivo: {p2 * 100:.4g} %")
print(f"Tamaño de muestra por grupo: {n_per_group} (total {2 * n_per_group})")
print(f"Días necesarios: {days}")
# Despejando al revés: potencia con 30.000 visitas por grupo
n_fixed = 30000
z_power = (abs(p2 - p1) * sqrt(n_fixed) - z_alpha * sqrt(2 * p_bar * (1 - p_bar))) \
/ sqrt(p1 * (1 - p1) + p2 * (1 - p2))
print(f"Potencia con {n_fixed} por grupo: {NormalDist().cdf(z_power) * 100:.2f} %")
La fórmula en LaTeX y otras notaciones matemáticas (para copiar)
p₂ = p₁ × (1 + r/100)
p_2 = p_1 \left(1 + \dfrac{r}{100}\right)
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msub><mi>p</mi><mn>2</mn></msub>
<mo>=</mo>
<msub><mi>p</mi><mn>1</mn></msub>
<mo>(</mo><mn>1</mn><mo>+</mo><mfrac><mi>r</mi><mn>100</mn></mfrac><mo>)</mo>
</mrow>
</math>
p_2 = p_1 (1 + r/100)
p1*(1 + r/100)
p2 := p1*(1 + r/100);
p2 = p1*(1 + r/100);
p_2 = p_1 (1 + r/100)
n = (z_α/2 √(2p̄(1 − p̄)) + z_β √(p₁(1 − p₁) + p₂(1 − p₂)))² ÷ (p₂ − p₁)²
n = \dfrac{\left( z_{\alpha/2}\sqrt{2\bar{p}(1-\bar{p})} + z_{\beta}\sqrt{p_1(1-p_1)+p_2(1-p_2)} \right)^2}{(p_2 - p_1)^2}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>n</mi>
<mo>=</mo>
<mfrac>
<msup>
<mrow>
<mo>(</mo>
<msub><mi>z</mi><mrow><mi>α</mi><mo>/</mo><mn>2</mn></mrow></msub>
<msqrt><mn>2</mn><mover><mi>p</mi><mo>¯</mo></mover><mo>(</mo><mn>1</mn><mo>−</mo><mover><mi>p</mi><mo>¯</mo></mover><mo>)</mo></msqrt>
<mo>+</mo>
<msub><mi>z</mi><mi>β</mi></msub>
<msqrt>
<msub><mi>p</mi><mn>1</mn></msub><mo>(</mo><mn>1</mn><mo>−</mo><msub><mi>p</mi><mn>1</mn></msub><mo>)</mo>
<mo>+</mo>
<msub><mi>p</mi><mn>2</mn></msub><mo>(</mo><mn>1</mn><mo>−</mo><msub><mi>p</mi><mn>2</mn></msub><mo>)</mo>
</msqrt>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
<msup>
<mrow><mo>(</mo><msub><mi>p</mi><mn>2</mn></msub><mo>−</mo><msub><mi>p</mi><mn>1</mn></msub><mo>)</mo></mrow>
<mn>2</mn>
</msup>
</mfrac>
</mrow>
</math>
n = (z_(alpha/2) sqrt(2 bar p (1 - bar p)) + z_beta sqrt(p_1(1 - p_1) + p_2(1 - p_2)))^2 / (p_2 - p_1)^2
Ceiling[(za*Sqrt[2*pbar*(1 - pbar)] + zb*Sqrt[p1*(1 - p1) + p2*(1 - p2)])^2/(p2 - p1)^2]
n := ceil((za*sqrt(2*pbar*(1 - pbar)) + zb*sqrt(p1*(1 - p1) + p2*(1 - p2)))^2/(p2 - p1)^2);
n = ceil((za*sqrt(2*pbar*(1 - pbar)) + zb*sqrt(p1*(1 - p1) + p2*(1 - p2)))^2/(p2 - p1)^2);
n = (z_(α/2) √(2p̄(1 − p̄)) + z_β √(p_1(1 − p_1) + p_2(1 − p_2)))^2/(p_2 − p_1)^2
D = ⌈2n ÷ V⌉
D = \left\lceil \dfrac{2n}{V} \right\rceil
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>D</mi>
<mo>=</mo>
<mo>⌈</mo>
<mfrac><mrow><mn>2</mn><mi>n</mi></mrow><mi>V</mi></mfrac>
<mo>⌉</mo>
</mrow>
</math>
D = |~ (2n)/V ~|
Ceiling[2*n/v]
days := ceil(2*n/V);
D = ceil(2*n/V);
D = ⌈2n/V⌉
1 − β = Φ((|p₂ − p₁|√n − z_α/2 √(2p̄(1 − p̄))) ÷ √(p₁(1 − p₁) + p₂(1 − p₂)))
1 - \beta = \Phi\left( \dfrac{|p_2 - p_1|\sqrt{n} - z_{\alpha/2}\sqrt{2\bar{p}(1-\bar{p})}}{\sqrt{p_1(1-p_1)+p_2(1-p_2)}} \right)
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mn>1</mn><mo>−</mo><mi>β</mi>
<mo>=</mo>
<mi>Φ</mi>
<mo>(</mo>
<mfrac>
<mrow>
<mo>|</mo><msub><mi>p</mi><mn>2</mn></msub><mo>−</mo><msub><mi>p</mi><mn>1</mn></msub><mo>|</mo>
<msqrt><mi>n</mi></msqrt>
<mo>−</mo>
<msub><mi>z</mi><mrow><mi>α</mi><mo>/</mo><mn>2</mn></mrow></msub>
<msqrt><mn>2</mn><mover><mi>p</mi><mo>¯</mo></mover><mo>(</mo><mn>1</mn><mo>−</mo><mover><mi>p</mi><mo>¯</mo></mover><mo>)</mo></msqrt>
</mrow>
<msqrt>
<msub><mi>p</mi><mn>1</mn></msub><mo>(</mo><mn>1</mn><mo>−</mo><msub><mi>p</mi><mn>1</mn></msub><mo>)</mo>
<mo>+</mo>
<msub><mi>p</mi><mn>2</mn></msub><mo>(</mo><mn>1</mn><mo>−</mo><msub><mi>p</mi><mn>2</mn></msub><mo>)</mo>
</msqrt>
</mfrac>
<mo>)</mo>
</mrow>
</math>
1 - beta = Phi((|p_2 - p_1| sqrt(n) - z_(alpha/2) sqrt(2 bar p (1 - bar p))) / sqrt(p_1(1 - p_1) + p_2(1 - p_2)))
CDF[NormalDistribution[0, 1], (Abs[p2 - p1]*Sqrt[n] - za*Sqrt[2*pbar*(1 - pbar)])/Sqrt[p1*(1 - p1) + p2*(1 - p2)]]
power := Statistics[CDF](Normal(0, 1), (abs(p2 - p1)*sqrt(n) - za*sqrt(2*pbar*(1 - pbar)))/sqrt(p1*(1 - p1) + p2*(1 - p2)));
power = normcdf((abs(p2 - p1)*sqrt(n) - za*sqrt(2*pbar*(1 - pbar)))/sqrt(p1*(1 - p1) + p2*(1 - p2)));
1 − β = Φ((|p_2 − p_1| √n − z_(α/2) √(2p̄(1 − p̄)))/√(p_1(1 − p_1) + p_2(1 − p_2)))
Cómo pedirle a ChatGPT que haga el cálculo
Eres un asistente para planificar tests A/B. Haz el siguiente cálculo ejecutando realmente código Python y basa tu respuesta únicamente en los números del resultado de la ejecución (no respondas con cálculo mental ni a ojo).
El CVR de la página actual (el CVR base) es del 3 %. Quiero poder detectar un incremento relativo del 10 % con la versión B (un CVR del 3,3 %).
Con un nivel de significación del 5 % (contraste bilateral) y una potencia del 80 %, halla cada uno de los siguientes valores:
1. El CVR objetivo p2 (p2 = p1 × (1 + 10/100))
2. El tamaño de muestra por grupo n (fórmula de la prueba z de dos proporciones: n = (z_{α/2}·√(2p̄(1−p̄)) + z_β·√(p1(1−p1)+p2(1−p2)))² ÷ (p2−p1)², con p̄ = (p1+p2)/2, redondeado hacia arriba) y el tamaño de muestra total de A y B
3. Los días necesarios (redondeados hacia arriba) con 2000 visitas diarias (A y B juntos)
4. La potencia si solo hay 30.000 visitas por grupo (1−β = Φ((|p2−p1|·√n − z_{α/2}·√(2p̄(1−p̄))) ÷ √(p1(1−p1)+p2(1−p2))))
Usa statistics.NormalDist para los valores z y la función de distribución, y muestra las fórmulas que has usado y los números del resultado de la ejecución.
Cómo usar
-
1Introduce los númerosEscribe en los campos los números con los que quieres calcular
-
2CalculaHaz clic en el botón «Calcular»
-
3Consulta el resultadoEl resultado aparece al instante. En la misma página también encontrarás el desarrollo del cálculo y la explicación de la fórmula
Las ventajas de DataChef
Sin conocimientos técnicos: fácil e intuitivo
Sin necesidad de dar datos personales
Los archivos se borran automáticamente tras la descarga
Sin necesidad de atribución
Sin necesidad de pedir permiso