Auth0 Experiment Center es un motor de experimentación nativo de Auth0. Permite realizar pruebas A/B de cambios en la experiencia de autenticación y ver su impacto en los registros de eventos de autenticación.
Con Experiment Center, define su prueba A/B en Auth0, el tráfico se divide de forma determinista y sus eventos de autenticación existentes se enriquecen con metadatos del experimento para que pueda analizar los resultados con sus propias herramientas.
Experiment Center le permite ejecutar pruebas A/B controladas en su flujo de autenticación de Auth0. En lugar de desplegar un cambio para todos los usuarios a la vez, expone un nuevo comportamiento a un porcentaje controlado del tráfico, mide el resultado mediante eventos de autenticación enriquecidos y promueve la opción ganadora cuando está listo.
Experiment Center se basa en tres entidades:
- experimento: define cómo se divide el tráfico y cuándo se ejecuta la prueba.
- flag de funcionalidad: define qué se está probando y las variaciones posibles.
- Segment: define un conjunto de reglas para asignar experimentos a variaciones específicas.
Durante la Beta, Experiment Center solo funciona en inquilinos de desarrollo. Los inquilinos de producción no están soportados.
Un experimento es una capa de medición sobre un flag de funcionalidad. Define:
- Qué flag de funcionalidad se está probando
- Cómo se asigna el tráfico entre las variaciones
- Cuándo se está ejecutando la prueba
Cada experimento hace referencia a un único flag de funcionalidad.
Ciclo de vida de los experimentos
Los experimentos tienen cinco estados:
| Estado | Significado |
|---|
draft | Creado, pero no iniciado. Se puede probar de forma segura mediante sobrescrituras de parámetros de consulta. |
active | En ejecución. La asignación de variantes y la inyección de contexto están activas en todas las transacciones de autenticación. |
paused | Suspendido temporalmente. No se realizan nuevas asignaciones. Las sesiones en curso conservan la variante asignada. |
completed | Finalizado. No se realizan nuevas asignaciones. La configuración se conserva como referencia durante la promoción manual. |
archived | Eliminado de forma lógica. Oculto de las vistas de lista predeterminadas. Se conservan los datos de analítica. |
Estrategias de asignación
Un experimento utiliza una de estas dos estrategias de asignación:
Basada en porcentajes: El tráfico se distribuye entre las variaciones según su peso. Todos los pesos deben sumar 100. Un peso de 0 es válido (la variación está en la definición del experimento, pero no recibe tráfico).
Basada en segmentos (dirigida): El tráfico se dirige a las variaciones según la pertenencia a segmentos. Los segmentos se evalúan en orden de prioridad. El primer segmento que coincide es el que se aplica. Si no coincide ningún segmento, la asignación is_fallback recibe la solicitud.
Para obtener más información sobre la entidad de experimento, consulta Detalles de entidades.
Cuando un experimento está activo y se asigna una variación, Experiment Center inyecta un objeto ExperimentContext en las superficies de tu entorno de ejecución.
Las pantallas de ACUL solo lo reciben cuando habilitas la pantalla mediante context_configuration.
Para obtener más información, consulta la guía de integración de ACUL.
Actions y las plantillas de página lo reciben automáticamente siempre que haya un experimento activo. La estructura del objeto:
{
experiment_id: string; // El ID del experimento activo
variation_id: string; // El ID de la variación asignada
config: { // Configuración combinada (base + sobrescritura)
[paramName]: { value: unknown }
};
is_control: boolean; // True si esta es la variación de control
}
El campo config contiene la configuración combinada completa de la variación asignada. Cada parámetro definido en el indicador de funcionalidad siempre tiene un valor. No es necesario que escribas lógica alternativa.
Una asignación es la forma en que un usuario se enruta a una variación específica durante una transacción de autenticación. Las asignaciones son deterministas y persistentes: el mismo usuario ve siempre la misma variación para el mismo experimento en el mismo dispositivo, por lo que su experiencia se mantiene estable entre inicios de sesión.
- Asignación por porcentaje divide el tráfico entre variaciones según su peso. A un sujeto determinado se le asigna siempre la misma variación.
- Asignación por segmento evalúa las propiedades de la solicitud según las reglas de segmento, en orden de prioridad. El primer segmento que coincide determina la variación, y una solicitud que coincida con el mismo segmento siempre da como resultado la misma variación.
Los resultados de la asignación se registran en los registros del inquilino en details.experiment; no se exponen a través de una API separada.
Para obtener más información sobre la entidad de asignación, consulte Detalles de las entidades.
Un flag de funcionalidad es la unidad de control de lo que se está probando. Contiene:
- Una configuración base: parámetros tipados y sus valores predeterminados
- Una o más variaciones: configuraciones alternativas que difieren de la configuración base
Los flags de funcionalidad tienen alcance de inquilino y se pueden reutilizar. Se puede hacer referencia al mismo flag desde varios experimentos a lo largo del tiempo (por ejemplo, una prueba del T1 y un ajuste del T2 sobre la misma funcionalidad).
Ciclo de vida del flag de funcionalidad
Los flags de funcionalidad tienen un ciclo de vida persistente con tres estados:
| Estado | Significado |
|---|
draft | Se ha creado, pero aún no está activo. No puede ser referenciado por un experimento activo. |
active | Listo para usarse. Es un requisito previo para que pueda activarse cualquier experimento que haga referencia a este flag. |
archived | Estado terminal. Ningún experimento nuevo puede hacer referencia a este flag. Cree un flag nuevo si es necesario. |
Para obtener más información sobre la entidad de flag de funcionalidad, consulte Detalles de entidades.
Una variación es una versión de la experiencia definida dentro de un feature flag. Especifica qué parámetros de configuración difieren de la base y en qué medida.
- La variación de control es la base; tiene sobrescrituras vacías (no se modifica ningún parámetro con respecto a los valores predeterminados del flag).
- Las variaciones de tratamiento especifican, cada una, una o más sobrescrituras de parámetros.
Las variaciones no incluyen un marcador is_control. Que una variación sea el control estadístico de un experimento determinado se establece en la asignación, no en la variación. La misma variación puede ser el control en un experimento y un tratamiento en otro.
Para obtener más información sobre la entidad de variación, consulta Detalles de las entidades.
Un segmento es un grupo identificado por un nombre de solicitudes de autenticación que coincide con un conjunto de reglas. Usa segmentos en experimentos de asignación dirigida para enrutar cohortes específicas de tráfico a variaciones concretas.
Los segmentos están limitados al inquilino y se pueden reutilizar en distintos experimentos.
Para obtener más información sobre la entidad de segmento, consulta Detalles de las entidades.
Las siguientes limitaciones se aplican durante la Beta:
- Un experimento activo por inquilino. Puede tener muchos experimentos en estado
draft, paused o completed, pero solo uno puede estar active a la vez.
- Solo parámetros estructurados. Los parámetros de las flags de funcionalidad usan la estructura clave/tipo/valor.
- Tres activadores de Actions. El contexto del experimento está disponible en
post_login, pre_user_registration y post_user_registration.
- Solo tráfico de prueba. La Beta se ejecuta en inquilinos de desarrollo con tráfico que usted genera. Los datos de los usuarios finales de producción no pasan por la Beta.
- Promoción manual. Cuando se completa un experimento, usted aplica manualmente la configuración de la variación ganadora a su inquilino.
Consulta Detalles de entidades para obtener más información sobre las entidades y propiedades de Experiment Center.
Consulta Experiment Center Quickstart para aprender a crear un indicador, activar un experimento y observar entradas de registro enriquecidas de extremo a extremo.