La función de prueba A/B le permite validar configuraciones de algoritmos en una pequeña porción del tráfico antes de aplicarlas a todo el tráfico en línea, lo que evita que cambios no probados afecten negativamente sus servicios. Puede crear pruebas para configuraciones de análisis de consultas, ordenamiento preliminar y ordenamiento fino.
Uso
1. Flujo de trabajo básico para configurar una prueba A/B
Se recomienda habilitar la recopilación de datos de clics antes de configurar una prueba A/B para obtener métricas más completas. Si es la primera vez que utiliza esta función, siga los pasos a continuación para configurar e iniciar una prueba:
Inicie el proceso de creación de la prueba:
En la consola de OpenSearch, vaya a Feature Extensions > A/B Test en el panel de navegación izquierdo. Haga clic en Create para comenzar a crear una prueba A/B.
Cree un grupo de pruebas:
Un grupo de pruebas le permite ejecutar pruebas de análisis de consultas, ordenamiento preliminar, ordenamiento fino y predicción de categorías. El nombre del grupo de pruebas tiene fines exclusivamente de visualización y se puede modificar. El nombre no debe exceder los 30 caracteres. El campo Test Application muestra el nombre de la aplicación actual. Después de introducir la información, haga clic en Next para continuar con la configuración de la prueba.
Cree una prueba:
Una vez creado el grupo de pruebas, haga clic en "Create Test" para agregar pruebas específicas al grupo. Puede crear un máximo de 20 pruebas en cada grupo, con un límite de 10 pruebas ejecutándose en línea simultáneamente. De forma predeterminada, la página incluye una prueba base llamada Online Performance (Baseline) con ID 0 que recibe el 100 % del tráfico.
3.1 Nombre de la prueba: Defina un nombre personalizado para la prueba, el cual no debe exceder los 30 caracteres. Después de introducir el nombre de la prueba, aparecerá el área de configuración para Sort policy types and policies a la derecha. 3.2 Agregue una configuración:
Configure pruebas para análisis de consultas, ordenamiento preliminar y ordenamiento fino mediante la selección de reglas existentes en el cuadro de diálogo de configuración.
Cuando seleccione un tipo de análisis de consultas y una directiva:
Si selecciona "Custom", las opciones disponibles serán todas las reglas de análisis de consultas que haya creado para la aplicación actual.
Al seleccionar "Use Default Online Configuration", se aplica la lógica en línea existente y se excluye este elemento de configuración de la prueba.
Cuando seleccione un tipo de directiva de ordenamiento y una directiva:
Se aplica la misma lógica para los tipos de directivas de ordenamiento y las directivas. Dado que las directivas de ordenamiento en estado "Configuring" aún se pueden editar, lo cual afectaría los resultados de la prueba A/B en línea, solo puede seleccionar directivas en estado "Published".
3.3 Tráfico de la prueba: La asignación mínima de tráfico para una prueba es del 1 %. Para un solo escenario, el tráfico total asignado a todas las pruebas en línea dentro del mismo grupo de pruebas debe ser menor o igual al 100 %.
Complete la creación del grupo de pruebas:
Después de configurar la prueba, haga clic en "Next" y luego en "Complete" para regresar a la página principal de pruebas A/B. Se mostrará un mensaje que indica que el grupo de pruebas se creó correctamente, junto con recomendaciones para los siguientes pasos. El grupo de pruebas recién configurado estará en estado "Pending".
Inicie la prueba:
Una vez creado el grupo de pruebas, localice el grupo y haga clic en "Start Testing" en la columna Actions. El estado del grupo de pruebas cambiará a "Testing".
Active la prueba A/B:
Para activar la prueba en línea, especifique el parámetro abtest en sus consultas de búsqueda. El parámetro abtest tiene dos partes: scene_tag y flow_divider. En la página Search Test de la consola, introduzca el valor de abtest en la sección Parameters para aplicar la prueba.
URL de solicitud de ejemplo:
/v3/openapi/apps/160029126/search?query=query=default:'Shenzhen'&&config=start:0,hit:10,format:fulljson&abtest=scene_tag:test_1,flow_divider:123456
scene_tag: El nombre del grupo de pruebas. Establezca este parámetro con el nombre de un grupo de pruebas que haya creado en la consola. El tráfico se enruta entonces a las pruebas dentro de ese grupo.
flow_divider: Obligatorio. El sistema aplica una función hash a este valor para distribuir el tráfico de consultas entre las pruebas según la asignación de tráfico configurada. Se recomienda utilizar un ID de usuario único. Si no está disponible, utilice un ID de dispositivo o una dirección IP.
Nota:
Si utiliza un SDK para acceder a OpenSearch, no necesita codificar los valores de
scene_tagyflow_dividersi no contienen espacios ni signos de puntuación. Simplemente llame a la interfaz correspondiente. Si los valores contienen signos de puntuación, debe codificarlos primero. Para obtener más información, consulte la sección "Ejemplo práctico".Si accede a OpenSearch mediante llamadas a la API, los valores de
scene_tagyflow_dividerdeben estar codificados como URL. El formato final del parámetroabtestque se pasa a OpenSearch esabtest=urlencode(scene_tag:urlencode(\$scene),flow_divider:urlencode(\$value)), dondeurlencodees una función de codificación de URL.Para obtener más información, consulte el documento Preguntas frecuentes sobre pruebas A/B.
2. Gestione grupos de pruebas y pruebas
Gestión de grupos de pruebas
La página principal de pruebas A/B muestra una lista de grupos de pruebas con las columnas Test group name, Status, Creation time, Last modified time y Actions. Puede realizar las siguientes operaciones en los grupos de pruebas:
Iniciar pruebas:
Inicie grupos de pruebas que estén en estado "Pending" o "Stopped".
Detener pruebas:
Detenga grupos de pruebas que estén en estado "Testing".
Eliminar un grupo de pruebas:
Elimine cualquier grupo de pruebas desde la página principal de pruebas A/B.
Gestión de pruebas
En la página principal de pruebas A/B, haga clic en Details en la columna Actions de un grupo de pruebas para consultar sus pruebas. La lista de pruebas muestra el nombre de la prueba, el tipo y la directiva de análisis de consultas, el tipo y la directiva de ordenamiento, la asignación de tráfico y las acciones. Puede realizar las siguientes operaciones en las pruebas:
Editar una prueba: Modifique el nombre de la prueba, la configuración y la asignación de tráfico.
Eliminar una prueba: Cuando se elimina una prueba, se quita su información de configuración y la prueba deja de tener efecto en línea.
Lista de permitidos.
La función de lista de permitidos le permite asignar un flow_divider específico a una prueba concreta para facilitar la evaluación de su rendimiento de búsqueda. En la página de configuración de la lista de permitidos, introduzca un valor de flow_divider, haga clic en Add y luego en Save.
3. Detalles del grupo de pruebas A/B
Estado de los datos de comportamiento
En la página de detalles del grupo de pruebas, el estado de los datos de comportamiento puede ser uno de los siguientes:
Not Activated: No se están cargando datos de comportamiento para la aplicación actual. (Click here for details)
Activated with No Data: La recopilación de datos de comportamiento está habilitada para la aplicación actual, pero no se han recibido datos.
Data Abnormal: La comprobación de calidad determinó que los datos de comportamiento actuales no son confiables debido a un alto número de incidencias.
Estado del grupo de pruebas
En la página de detalles del grupo de pruebas, el estado del grupo de pruebas puede ser uno de los siguientes:
Pending: El grupo de pruebas está listo para iniciarse. Este estado se utiliza tanto si el grupo nunca se ha ejecutado como si se detuvo previamente.
Testing: Indica que el grupo de pruebas se ha iniciado en la consola. Se muestra el número de días transcurridos desde que se inició el grupo de pruebas.
Stopped: Indica que el grupo de pruebas está detenido. La duración acumulada de la prueba es el número total de días que el grupo de pruebas estuvo ejecutándose activamente, sin contar los periodos en los que estuvo detenido.
Estadísticas de datos
Desde la página de lista de grupos de pruebas A/B, haga clic en "Details" o vaya a "Report Statistics > A/B test report" para consultar el informe de datos. Los datos están disponibles con base T+1 (los resultados de hoy aparecen mañana). La consola combina una página de comparación de métricas principales con una tabla detallada de datos de métricas. Seleccione un tipo de métrica en la lista desplegable y elija varias pruebas para comparar. Las métricas principales se presentan en un gráfico de líneas que muestra los datos del día anterior de forma predeterminada. Las métricas principales disponibles incluyen PV de búsqueda, UV de búsqueda, tasa de cero resultados, PV de búsqueda promedio por usuario, recuento de exposiciones, consultas de búsqueda y consultas de búsqueda promedio por usuario.
Nota: El informe de prueba A/B de un día determinado está disponible a las 8:00 a. m. del día siguiente. Incluso si detiene una prueba A/B durante el día, podrá consultar los datos del informe anteriores a la detención de la prueba al día siguiente.
Ejemplo práctico
Un producto de comercio electrónico utiliza OpenSearch para dos tipos de consultas de búsqueda:
Tipo 1: Tráfico de búsqueda de usuarios finales que buscan productos por palabra clave. El formato de la consulta es:
query=config=format:fulljson&&query=default:'infant formula'&&sort=price
Tipo 2: Tráfico proveniente de llamadas realizadas por otros servicios internos. El formato de la consulta es:
query=config=format:fulljson&&query=cat_id:'1'|'2'|'3'&&sort=timestamp
Para el primer tipo de tráfico, desea dividir el tráfico según los ID de miembro de los usuarios finales para comparar la eficacia de diferentes expresiones de ordenamiento, modelos de predicción de categorías o reglas de análisis de consultas. El usuario configura la prueba de la siguiente manera:
Cree un grupo de pruebas y pruebas en la función de prueba A/B de la consola. Al crear el grupo de pruebas, asígnele el nombre
user_search.Establezca los parámetros de la prueba A/B en la consulta. Dado que el grupo de pruebas en la consola se llama
user_search, la consulta para este caso de uso debe incluir los parámetrosscene_tag:user_searchyflow_divider:xxxx, dondexxxxes el ID de miembro del usuario final.
2.1 Mediante un SDK (El siguiente ejemplo utiliza el SDK de Java. El uso del SDK de PHP es similar):
OpenSearch opensearch = new OpenSearch(accesskey, secret, host);
OpenSearchClient serviceClient = new OpenSearchClient(opensearch);
SearcherClient searcherClient = new SearcherClient(serviceClient);
searchParams = new SearchParams();
searchParams.setQueryString("default:'infant formula'");
searchParams.setFormat("json");
searchParams.addSort("price", "-");
searchParams.setAbtest(new Abtest().setSceneTag("user_search").setFlowDivider("Zhang San"));
aliyun-sdk-opensearch-3.4.1 (Java), opensearch-sdk-php-3.3.0 (PHP).
2.2 Mediante la API
i. query=config=format:fulljson&&query=default:'infant formula'&&sort=-price&abtest=scene_tag:user_search,flow_divider:%e5%bc%a0%e4%b8%89
Nota: Los valores de los subparámetros scene_tag y flow_divider de abtest están codificados como URL aquí.
ii. Codifique como URL el valor de cada parámetro en la solicitud (es decir, query, sort, abtest):
query=config%3dformat%3afulljson&&query%3ddefault%3a'infant%20formula'
-
Después de completar estas configuraciones, implemente la prueba A/B para el primer escenario de tráfico.
Informe de operaciones comerciales
Interfaz
Para abrir el informe de estadísticas de pruebas A/B, vaya a [Feature Extensions > A/B Test] y haga clic en "Report Statistics".
Alternativamente, vaya directamente a "Report Statistics > A/B test report".
La página del informe analiza los datos en cinco dimensiones: métricas principales, métricas de tráfico, métricas de comportamiento, métricas de conversión y métricas de análisis de usuarios. Filtre los datos por intervalo de fechas y prueba.
Para consultar las descripciones de las métricas en el informe de pruebas A/B, click here.