En DoorDash, confiamos en la experimentación para tomar decisiones relativas a mejoras del modelo y cambios del producto porque no podemos predecir perfectamente los resultados de antemano. Pero los experimentos realizados por el equipo de Dasher con el objetivo de mejorar la calidad de la entrega y la experiencia Dasher se enfrentan a retos que surgen de objetivos contradictorios, como minimizar los efectos de interferencia y, al mismo tiempo, capturar los efectos de aprendizaje y maximizar la potencia.
Retos de la experimentación en el mercado
En resumen, no existe una solución única para diseñar experimentos que satisfagan todas las demandas de resultados. Nuestros experimentos se mueven entre tres objetivos clave:
- Reducir los efectos de interferencia (red). El hecho de que DoorDash represente un mercado de tres lados introduce dependencias complejas. En una prueba A/B a nivel de pedido, los pedidos de tratamiento y control que se produzcan simultáneamente en la misma zona geográfica no serán independientes porque dependen de la disponibilidad de una flota Dasher compartida. Una forma de resolver este problema es diseñar un experimento switchback en el que asignemos aleatoriamente el tratamiento frente al control a pares de región/ventana horaria en lugar de a entregas. Encontrará más información sobre los efectos de red y el switchback en esta entrada del blog.
- Captar los efectos del aprendizaje. Aunque el switchback puede resolver el problema de los efectos de red, no puede medir el aprendizaje del Dasher ni otros efectos a largo plazo, como la retención del Dasher, porque no puede proporcionar una experiencia de tratamiento consistente a los Dashers. Incluso si a veces podemos detectar un efecto con una potencia relativamente alta en un corto período de tiempo, es posible que tengamos que realizar un experimento más largo porque se necesita tiempo - posiblemente varias semanas - para que los Dasher ajusten sus comportamientos en respuesta a un tratamiento.
- Maximizar la potencia. Si intentamos diseñar experimentos que capten los efectos del aprendizaje y minimicen los efectos de red, acabaremos con pruebas de menor potencia que pueden tener dificultades para detectar cambios en las métricas clave. Por ejemplo, podríamos realizar un experimento A/B a nivel de mercado para superar los efectos de red y captar los efectos de aprendizaje, pero tendría una potencia comparativamente baja porque el pequeño número de mercados en relación con, por ejemplo, el número de Dashers, limita el tamaño efectivo de nuestra muestra. Alternativamente, podríamos realizar dos experimentos distintos, por ejemplo, un switchback para los efectos de red y un Dasher A/B para los efectos de aprendizaje. Aunque estos dos tipos de experimentos tienen una potencia media y alta, respectivamente, realizar dos experimentos distintos añade complejidad y podría alargar el tiempo necesario para obtener resultados significativos.
Manténgase informado con las actualizaciones semanales
Suscríbase a nuestro blog de ingeniería para estar al día de los proyectos más interesantes en los que trabaja nuestro equipo.
Please enter a valid email address.
Gracias por suscribirse.
El trilema de la aleatorización
En la mayoría de nuestros experimentos, estamos interesados en múltiples métricas de negocio en torno a la experiencia Dasher y la calidad de la entrega, incluyendo aspectos como la duración de la entrega y el retraso, que implican tanto efectos de red como efectos de aprendizaje. Por lo tanto, es posible que tengamos que diseñar cada experimento de forma diferente en función de las características de las distintas unidades de aleatorización. Las tres unidades de aleatorización más comunes que utiliza nuestro equipo son switchback, Dasher A/B y market A/B. El trilema se esboza en la Figura 1.
Método de aleatorización | Pros | Contras |
Switchback | Efectos de red mínimos, Potencia moderada | No puede captar los efectos del aprendizaje |
Dasher A/B | Alta potencia, Puede captar los efectos del aprendizaje | Graves efectos de red |
Mercado A/B | Poco o ningún efecto de red, Puede captar los efectos del aprendizaje | Baja potencia |
Impacto de la aleatorización en la potencia
Los distintos métodos de aleatorización producen una potencia diferente porque las entregas en las mismas unidades de cambio, Dashers o mercados no son independientes. En consecuencia, utilizamos errores estándar robustos de agrupación, o CRSE, para evitar posibles resultados falsos positivos. Encontrará más detalles en esta entrada del blog. Como resultado, la potencia experimental no viene determinada por el número de entregas, sino por el número de conglomerados, que son el número de unidades de conmutación, Dashers o mercados en los tres métodos de aleatorización descritos anteriormente. Varias unidades de conmutación, Dashers o mercados pueden tener diferentes números de entregas, y este desequilibrio de volumen puede reducir aún más la potencia efectiva.
Tenga en cuenta que podemos aumentar la potencia de un experimento switchback reduciendo la ventana temporal o el tamaño de la región, pero estas reducciones se producen a costa de un aumento potencial de los efectos de red. Los experimentos switchback no están completamente libres de efectos de red, ya que pueden seguir existiendo en torno a las fronteras geográficas y temporales entre clusters. Cuanto más pequeñas sean las unidades de switchback, más graves serán los efectos de red, ya que un mayor porcentaje de entregas puede producirse cerca de ventanas temporales o límites geográficos en los que aún pueden estar presentes los esfuerzos de red.
También es importante señalar que, debido al número limitado de mercados, una simple aleatorización para el mercado A/B puede dar lugar a un sesgo previo al experimento entre el tratamiento y el control para algunas métricas. En consecuencia, normalmente necesitamos utilizar métodos de estratificación y de diferencia en diferencia para tener más en cuenta el posible sesgo previo al experimento y garantizar que se cumple el supuesto de tendencia paralela; será necesario un control sintético si se incumple este supuesto.
Creación del diseño experimental óptimo
Para aprovechar al máximo el ancho de banda de nuestros experimentos, los diseñamos dinámicamente en función de las compensaciones previstas entre los efectos de red, los efectos de aprendizaje y la potencia de cada intervención. Podemos optar por ejecutar una sola prueba o varios tipos de pruebas en paralelo para triangular el verdadero impacto sin perder potencia.
Compromisos entre potencia y efectos de red
No todos nuestros experimentos afectan a todos los pedidos del sistema. Hay experimentos que sólo afectan a un subconjunto del total de pedidos. Por ejemplo, un experimento que sólo afecte a la entrega de flores puede que sólo afecte directamente al 1% del volumen total. Incluso si aleatorizamos una prueba de este tipo a nivel de pedido, los efectos de red podrían ser tan pequeños que podemos ignorarlos porque es poco probable que estas entregas de tratamiento y de control compitan por el mismo grupo de Dashers. En esta situación, podríamos optar por no realizar un experimento switchback, realizando en su lugar un experimento Dasher A/B u otro experimento A/B para aumentar significativamente la potencia.
Cuando sólo esperamos fuertes efectos de red o efectos de aprendizaje
En este sencillo escenario, podemos ejecutar un experimento switchback para mitigar los efectos de red si queremos probar un nuevo modelo de estimación de la duración de la entrega, o podemos ejecutar un experimento Dasher A/B para abordar los efectos de aprendizaje Dasher con alta potencia si queremos probar un cambio de producto Dasher app. Podemos seguir el análisis de potencia habitual para determinar la duración mínima del experimento -generalmente redondeada a semanas para evitar el efecto del día de la semana- o calcular el efecto mínimo detectable, o MDE, dada una duración mínima del experimento requerida por la definición de la métrica, como la retención de Dasher. Si no hay conflicto con otros experimentos, podemos ejecutarlo en todos los mercados para maximizar la potencia.
Cuando se prevén efectos de red y de aprendizaje importantes
Este es el escenario más común al que nos enfrentamos. En general, podríamos realizar un experimento A/B diff-in-diff por mercados o dos experimentos separados -uno switchback y otro Dasher A/B- ya sea por tiempo o por mercados.
Un mercado único A/B diff-in-diff
Un experimento A/B de mercado es adecuado cuando es razonable esperar que la potencia sea suficientemente alta, es decir, cuando los efectos esperados del tratamiento son significativamente mayores que la MDE calculada para la prueba. La realización de este experimento único evita llevar a cabo dos experimentos separados, lo que añade complejidad y podría retrasar el aprendizaje y la toma de decisiones. Sin embargo, debido al reducido número de mercados, la aleatorización simple puede no proporcionarnos una separación comparable entre el tratamiento y el control; por lo tanto, tendemos a utilizar la aleatorización estratificada para dividir los mercados y maximizar la potencia. Por ejemplo, si tenemos dos métricas -X1 y X2-, podemos dividir todos los mercados en, digamos, nueve estratos (alto/medio/bajo en función de cada métrica) y, a continuación, asignar aleatoriamente el mismo número de mercados de cada estrato al tratamiento y al control.
Dos experimentos distintos
Sin embargo, el mercado A/B no suele darnos suficiente potencia. En su lugar, tenemos que realizar dos experimentos diferentes: un Dasher A/B para medir la retención de Dasher y un switchback para medir las métricas de calidad de entrega. Dado que los dos experimentos no pueden ejecutarse simultáneamente en los mismos mercados, tenemos que asignar nuestro limitado ancho de banda de experimentos de forma secuencial o geográfica, tal y como se ilustra en las figuras 2 y 3.
1) Separación geográfica
Una forma de ejecutar dos experimentos en paralelo sería repartir el tráfico geográficamente entre un experimento switchback y un experimento Dasher A/B. En tal reparto geográfico, podemos dividir eficazmente los mercados entre los dos experimentos de manera -por ejemplo, 70/30- que requieran aproximadamente el mismo número de semanas según el análisis de potencia (véase la figura 2a). Una división ineficiente de los mercados requeriría que un experimento se desarrollara durante cuatro semanas, mientras que el otro tendría que hacerlo durante ocho, como se ilustra en la figura 2b. Un diseño tan ineficiente retrasa la toma de decisiones final para este experimento. Independientemente de la proporción óptima de división, siempre recomendamos dividir los mercados mediante aleatorización estratificada para reducir cualquier ruido potencial introducido por la división.
2) Separación secuencial
A menudo preferimos una asignación secuencial en lugar de una geográfica para fallar e iterar con rapidez (véase la Figura 3b). Esto resulta especialmente útil si creemos que es necesario ajustar algunos aspectos de la intervención antes de comprometernos con una prueba de aprendizaje a más largo plazo en la que, por definición, se tardará varias semanas en observar los efectos.
Consideremos un experimento en el que queremos medir tanto la retención de Dasher como la calidad de la entrega, pero el mercado A/B no tiene suficiente potencia. Podemos realizar primero un experimento switchback para medir los efectos de la calidad y, a continuación, realizar un experimento Dasher A/B para medir los efectos de la retención. Si los efectos de la calidad no cumplen nuestras expectativas, podemos iterar rápidamente y mejorar el diseño del tratamiento para realizar otro experimento switchback sin tener que esperar a que se complete un experimento Dasher A/B a largo plazo. Una vez que estemos satisfechos con las métricas de calidad y finalicemos el diseño del tratamiento, podemos iniciar el experimento Dasher A/B a largo plazo para medir la retención.
Conclusión
En la cultura impulsada por los datos de DoorDash, la experimentación determina cómo y cuándo enviar los cambios de producto e iterar sobre las mejoras del modelo. Como resultado, necesitamos desarrollar procedimientos de prueba rápidos y de gran potencia para poder aprender y tomar decisiones rápidamente. Sin embargo, debido a las complejas interacciones entre consumidores, Dashers y comerciantes en el mercado y la plataforma DoorDash, la mayoría de nuestras intervenciones implican compromisos entre efectos de red, efectos de aprendizaje y potencia. Ningún marco experimental puede servir para todas las intervenciones que queremos probar. Por ello, ideamos un conjunto de soluciones de diseño de experimentos que pueden utilizarse en diversos escenarios. Aplicando estos métodos, utilizando técnicas de reducción de la varianza y ejecutando varios experimentos simultáneamente, podemos mejorar significativamente la velocidad, potencia y precisión de nuestra experimentación, lo que nos permite enviar con confianza más cambios de productos y mejoras de modelos. Estos enfoques son prácticos, fáciles de aplicar y aplicables a una amplia variedad de casos de uso en el mercado.