17 votos

A / B ratio de pruebas de sumas

Contexto

Considere el siguiente escenario para una empresa de venta de productos en línea. Un usuario puede comprar varios artículos (es decir, la canasta de artículos), algunos de los cuales son de particular importancia y se realiza el seguimiento de concreto (vamos a llamarlos estrella de los elementos).

Queremos probar un cambio en un algoritmo (por ejemplo, recomendación, evaluación de riesgos, agregar la orientación, lo que sea...) que pueden influir tanto en el número de estrellas de los artículos vendidos, y el total de ventas.

  • Este estándar de prueba a/B de la instalación de la unidad de aleatorización es en el nivel de usuario.
  • El propósito de la prueba a/B es comparar el impacto del algoritmo de cambio: el grupo de control tiene el algoritmo original y la variante con el nuevo algoritmo
  • Una métrica clave de interés se define como la relación de la estrella de los elementos de las ventas sobre el total de ventas. Esta es una suma de todas las transacciones de todos los usuarios en el ámbito de cada a o B grupo.
  • Esto significa que la unidad de análisis es a nivel de la transacción, que es diferente de la unidad de aleatorización
  • Las métricas son calculados sobre la totalidad de la duración de la prueba (por ejemplo, 2 semanas)

Detalle de la métrica utilizada

Dado Un grupo y un conjunto de usuarios $U_A = \{u_1,u_2,...,u_{N_A} \}$, cada usuario está involucrado en un número de $t_{u_n}$ de las transacciones. El conjunto $T_A$ de todas las transacciones de todos los usuarios en el grupo a para la duración de la prueba es $T_A = \{ t_{u_{11}}, t_{u_{12}}, ... t_{u_{nm} } \}$.

La métrica de interés para el grupo a está definida sobre todas las transacciones en el ámbito del grupo A. Las sumas que están en el nivel de transacción, no a nivel de usuario.

$$\text{Metric}_A = \frac{\sum_{t_{i} \in T_A} \text{sales star items }$}{\sum_{t_{i} \en T_A} \text{ventas }$ }$$

Por supuesto, podríamos modificar la definición para calcular el nivel de usuario media y que sería simplificar las cosas, pero que no es la métrica que se utiliza.

Preguntas

¿Qué prueba estadística podría ser utilizado para una métrica ? Una consideración adicional es que, aunque podemos asumir con seguridad que los usuarios se yo.yo.d., lo más probable es erróneo suponer que la compra individual de las cestas se yo.yo.d. para el mismo usuario.

Aquí están algunas ideas que me encontré, tiene A/B testing profesionales de venir a través de métricas similares en el pasado ?

  • la prueba z de proporciones
  • Arranque y Jacknife
  • Método Delta
  • Cambiar la métrica (último recurso)

https://en.wikipedia.org/wiki/Ratio_estimator

Editar - Algunas aclaraciones

La razón detrás de esta pregunta es que he visto a menudo a los de la prueba z de una proporción utilizado en esta situación. Populares herramientas que se utilizan para las pruebas a/B con frecuencia predeterminada en la proporción de la prueba y negocios a los usuarios rara vez comprobación de los supuestos subyacentes necesarios para que la prueba sea válida. @dnqxt la respuesta de abajo es un buen ejemplo: "Sólo el uso de la prueba z de una proporción !" - pero me gustaría ver un estadístico riguroso justificación de por qué (o por qué no) esta prueba puede ser usada en este caso.

Yo personalmente no creo que el uso de una prueba z de proporciones que trabajo aquí como las ventas de una compra evento no son ensayos de Bernoulli. Yo sostengo que no podemos decir que cada dólar vendido en el denominador puede ser visto como un ensayo de Bernoulli, resultando en 0 o 1 estrella elemento de dólares vendidos en el numerador. Por otra parte, desde la aleatorización de la unidad está en el nivel de usuario, la compra eventos de un mismo usuario no son independientes (pero yo diría que es una cuestión secundaria). Yo podría estar equivocado, así que por favor siéntase libre de probar esto de otra manera !

También podemos cambiar la métrica para hacer de él un Bernoulli/Binomio que converge a la Normalidad mediante la cuenta, pero eso sería una solución de último recurso

$$ \frac{\# \text{sales with star items} }{\# \text{sales}} $$

5voto

usεr11852 Puntos 5514

Lo que se describe es un caso clásico de Un a/B experimento en el que hemos dependencia entre los usuarios y los elementos (compras aquí); necesitamos tener en cuenta para esto, porque de lo contrario tendremos una estimación sesgada de los asociados de la varianza. Para contrarrestar eso, que sea bootstrap teniendo en cuenta de usuario/elemento de clusters o vamos totalmente paramétrico utilizando un modelo mixto. El papel por Bakshy & Eckles (2013) la Incertidumbre en la Línea de los Experimentos con Datos Dependientes: Una Evaluación de los Métodos Bootstrap es una valiosa referencia en la materia que se centra en la línea de pruebas a/B.

Mirando las cosas con más detalle, en algunas formas de la B&E el papel es de un caso de uso de la Owen (2007) el papel de La caja de bootstrap. Del mismo modo mixto efecto de enfoque se basa en el súper-clásico de papel por Bayeen et al. (2009) efectos Mixtos de modelado con cruzado de efectos aleatorios para los sujetos y objetos.

Breve comentario en los métodos que mencionas: como identificar correctamente el $z$-prueba en proporción está simplificando; asumirá el ALCOHOLÍMETRO y como el B&E documento presenta, esta suposición puede ser gravemente engañosa. La misma limitación se extiende a bootstrap, si hacemos caso de la estructura de los datos. Sobre el método Delta: desviaciones de la normalidad y/o datos ruidosos generalmente hace el método Delta subóptima en comparación con bootstrap enfoques (por ejemplo, el Agujero De 2007 Una comparación de enfoques para la estimación de intervalos de confianza para la disposición a pagar de las medidas), pero he visto algunos trabajos recientes (por ejemplo, Deng et al. 2017 Confiable de análisis de la línea de pruebas a/B: Riesgos, retos y soluciones y Deng et al. 2018 Aplicar el Método Delta en Métricas de Analytics: Una Guía Práctica con nuevas Ideas) que parecen prometedores; aviso de que no es el supuesto implícito de que el efecto medio del tratamiento será normal. Por último, el cambio de métrica también es una excelente idea cuando razonable. No debemos tener miedo a impulsar cambios que son más matemáticamente coherente sólo porque una métrica que ya está en marcha.

En conclusión: Si hay una excesiva esquema en todos los papeles que he citado anteriormente es que tenemos que asegurarnos de que nuestra unidad de análisis y la unidad de aleatorización están alineados con nuestras preguntas de investigación.

2voto

John Puntos 1

Un enfoque muy simple sería utilizar una prueba de permutación. Esta es la distribución gratuita de prueba para que usted no tiene que preocuparse acerca de las distribuciones.

La idea es simple. De forma aleatoria reproducción aleatoria de las etiquetas y la cuenta de cuantas veces la medida de la diferencia de la métrica de interés es mayor que la diferencia que se obtuvo de los datos reales. La proporción que se obtiene es el p-valor.

Por qué funciona ? Bien, si la hipótesis nula es Verdadera, entonces al azar barajando las etiquetas (que yo.e siendo en el grupo a o B) muy a menudo generan mejores valores, a continuación, la que se mide. Sin embargo, si su recomendación funciona el algoritmo, al azar, a continuación, arrastrando los pies rara vez se podría obtener un mejor resultado que el que tienes.

Usted también puede usar bootstrap para obtener los intervalos de confianza sobre la métrica de su a y B grupo. Este, dos, está permitido sin suposiciones sobre su distribución. Eso no es equivalente a una prueba estadística (incluso si el CI de los intervalos no se cruzan), pero el aspecto visual de "barras + error de" barras puede ser interesante para su equipo.

Me han respondido de una forma muy similar a la pregunta (donde, de hecho, me encontró). Cómo probar la diferencia de dos proporciones cuando los resultados no son binarias? . Creo que el código que sugiere que no se aplican aquí también.

p1 <- sum(sales_data[target_control==1,"final_value"])/sum(sales_data[target_control==1,"initial_value"])
p2 <- sum(sales_data[target_control==0,"final_value"])/sum(sales_data[target_control==0,"initial_value"])
yourGap<-abs(p1-p2)
L<-sales_data["target_control"]==1
LfilterOnlyBuyers<-sales_data["sale_success"]==1

count=0
for ( i in 1:10000) {
  Lperm=sample(L)
  p1_perm <- sum(sales_data[Lperm,"final_value"])/sum(sales_data[Lperm & LfilterOnlyBuyers,"initial_value"])
  p2_perm <- sum(sales_data[!Lperm,"final_value"])/sum(sales_data[!Lperm & LfilterOnlyBuyers,"initial_value"])
  if (abs(p1_perm-p2_perm)>=yourGap) {
    count=count+1
  }
}
pvalue=count/10000

2voto

Los intervalos de confianza Bootstrap sería mi elección de la técnica para este escenario. Me gustaría esbozar un acercamiento con algunos ejemplo de elección de los números que usted puede utilizar el razonamiento detrás de la aproximación:

  1. Tiene dos macetas o bolsas y cada bolsa contiene a la gente desde el control grupo y la variante de grupo: $U_{ctr}$ e $U_{var}$ con los respectivos los tamaños de las $N_{ctr}$ e $N_{var}$. He cambiado la notación un poco, me espero que bien.
  2. Se selecciona una muestra aleatoria de $k$ a personas de ambos grupos con el reemplazo. Si ambas poblaciones son "suficientemente grande" (decir que al menos los usuarios de 2000, por ejemplo, usted puede optar $k<N_{ctr}$ e $k<N_{var}$. Regla de oro: por lo general, seleccione $k = \frac{min(N_{ctr},N_{var})}{5}$. Si sus poblaciones son más pequeñas, a continuación, usted todavía puede hacer eso, pero asegúrese de seleccionar "suficientemente grande" $k$ (por decir lo menos 400 usuarios), de nuevo por muestreo con reemplazo. Digamos que tenga en cuenta los $SU_{ctr}$ e $SU_{var}$ tanto de tamaño $k$
  3. Calcular la métrica mediante la obtención de todas las transacciones que cada persona en cada grupo hizo mirar el original $T$ las transacciones conjunto de datos para cada usuario en $SU_{ctr}$ e $SU_{var}$. Usted va a terminar con $Metric_{ctr1}$ e $Metric_{ctr2}$. Almacenar estos valores. Aviso importante: se debe calcular estos valores por sumar el total de estrellas elementos ventas y dividiendo por el total de las ventas. No se toma el promedio de cada persona de las ventas de la cesta. Esto es muy importante ya que es la métrica que se está mirando.
  4. Volver al punto 2 y repetir. El número óptimo de muestras bootstrap, $B$, que puede elegir depende de muchos factores pero, de nuevo, una buena regla de oro sería de alrededor de 5000 veces.
  5. Ahora tiene un $B$ cantidad de $Metric_{ctr}$ y lo mismo $Metric_{var}$. Ahora usted puede elegir para comparar sus medios utilizando muchas de las técnicas habituales. Creo personalmente que elija para construir intervalos de confianza y ver si se superponen o una t de muestras independientes prueba Y completar el análisis con algunos histogramas/densidad de las parcelas y boxplots.

Off-topic opinión personal: Siempre elegir a saber cosas tales como las distribuciones siempre que sea posible, tenemos el poder para hacer que el día de hoy. Las pruebas anteriores son totalmente bien, pero hay casos en los que podrían salir mal. Por ejemplo, si usted elige $B$ a ser extremadamente alta, decir 1000000, a continuación, incluso la más pequeña diferencia entre las medias es más probable que sea marcado como importante.

El de arriba es robusto porque no importa qué distribución subyacente es, el teorema del límite central asegura que si $B$ es lo suficientemente grande, tanto en medios de $Metric_{var}$ e $Metric_{ctr}$ a través de las muestras serán distribuidos normalmente y las pruebas serán válidos. Usted será testigo de que a partir de las imágenes así. Cualquier inquietud acerca de las distribuciones subyacentes de usuario diferente gasta etc será tratada por la CLT.

Hay un montón de referencias y buenas lecturas por parte de los usuarios antes de mí. Además, hay una gran cantidad de investigaciones realizadas sobre el mejor ejemplo, los números que he mencionado más arriba, usted puede mirar en él. Yo sólo quería darle una forma más empírica y fácil de entender esquema de enfoque que es robusto. Usted puede empezar con eso y ver si las cosas cambian al cambiar el ejemplo anterior de los números.

0voto

polfosol Puntos 131

Como una fracción de las ventas estrella del total de ventas, su métrica es solo una proporción simple. Uno puede pensar que es una proporción igual al conteo de dólares de las ventas de estrellas dividido por el conteo total de dólares de todas las ventas.

Por lo tanto, puede comparar las proporciones $\hat{p_A}$ con $\hat{p_B}$ de una manera habitual.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X