Mejorando el Cálculo de Métricas con BSI en WeChat
WeChat mejora la eficiencia en el cálculo de métricas usando tecnología BSI para tomar mejores decisiones.
― 9 minilectura
Tabla de contenidos
- El Desafío del Cálculo de Métricas
- Características de los Datos de Experimento en WeChat
- Representando Datos de Experimentos con BSI
- Cálculo Eficiente Usando BSI
- Cálculo de Métricas con Aritmética BSI
- Cálculo de Scorecards
- Cálculo Pre-Experimento
- Análisis Profundo
- Arquitectura del Sistema para el Cálculo de Métricas
- Evaluación del Rendimiento
- Conclusión
- Fuente original
- Enlaces de referencia
Los experimentos controlados en línea, a menudo llamados pruebas A/B, son super comunes entre las empresas tecnológicas como Microsoft, Google y Meta para tomar decisiones basadas en datos. Estos experimentos comparan diferentes versiones de un producto para ver cuál funciona mejor. En el centro de estos experimentos está el proceso de cálculo de métricas, donde se analiza la data para obtener ideas significativas.
A medida que el número de experimentos y métricas crece, calcular estas métricas de manera eficiente se vuelve cada vez más complicado. Este artículo habla de un enfoque específico usado en la plataforma de experimentos de WeChat, que es parte de Tencent, para manejar el cálculo de métricas de manera efectiva usando una técnica llamada aritmética de índice dividido por bits (BSI).
El Desafío del Cálculo de Métricas
En la plataforma de experimentos de WeChat, se calculan miles de métricas cada día, ya que muchos experimentos se ejecutan al mismo tiempo. Cada experimento afecta a millones de usuarios, lo que resulta en una cantidad enorme de data que necesita ser procesada. El cálculo de métricas requiere muchos recursos, demandando un tráfico de red significativo y potencia de CPU.
El objetivo principal es calcular varias métricas de manera eficiente y responder rápidamente a las consultas de los usuarios. Esto es crucial porque la cantidad de data involucrada puede ser abrumadora, provocando retrasos e ineficiencias si no se gestiona adecuadamente.
Características de los Datos de Experimento en WeChat
Los datos de los experimentos en WeChat pueden clasificarse según actividades y atributos de los usuarios. Esta data a menudo sigue el principio de Pareto, lo que significa que una pequeña parte de los datos (alrededor del 20%) representa una gran parte de los resultados (alrededor del 80%). Esta característica ayuda a optimizar el cálculo de métricas cuando se utiliza BSI.
Las consultas comunes sobre estos datos siguen patrones específicos, lo que permite soluciones especializadas que pueden manejar estas consultas de manera efectiva. El artículo detalla cómo se puede aplicar BSI para representar y calcular datos de experimentos.
Representando Datos de Experimentos con BSI
El primer paso para utilizar BSI es representar correctamente los datos de los experimentos. Esto incluye varios tipos de registros, como los registros de exposición, registros de métricas y registros de dimensiones.
Registro de Exposición
El registro de exposición anota qué estrategias se presentan a diferentes usuarios cuando comienza un experimento. Cada entrada incluye el ID de estrategia, el ID de unidad de análisis, el ID de unidad de aleatorización y la fecha en que comenzó. Este registro ayuda a rastrear qué usuarios reciben qué estrategia durante el experimento.
Registro de Métricas
El registro de métricas captura los valores de métricas reales para cada unidad de análisis a lo largo del tiempo. Por ejemplo, podría incluir datos sobre cuánto tiempo los usuarios permanecieron en una página o cuántas veces reenvían un mensaje. Este registro se conecta con el registro de exposición para analizar el impacto de las estrategias en el comportamiento del usuario.
Registro de Dimensiones
El registro de dimensiones contiene atributos de los usuarios, como edad o tipo de cliente, que pueden ayudar a segmentar y analizar los datos de los experimentos de manera más completa. Este registro es importante para filtrar usuarios específicos y realizar análisis detallados del experimento.
Cálculo Eficiente Usando BSI
Usar BSI para el cálculo de métricas ayuda a manejar las enormes cantidades de datos procesados cada día en WeChat. El enfoque de BSI se centra en representar y operar sobre los datos de una manera que maximiza la eficiencia, especialmente en relación con las siguientes características:
Compresión: BSI comprime datos, reduciendo su tamaño y facilitando el procesamiento por parte del sistema.
Operaciones Eficientes: Operaciones estándar como unir, filtrar y agregar se pueden realizar rápidamente usando BSI. Esto significa que el sistema puede manejar cálculos de métricas sin grandes retrasos.
Manejo de Varianza: Además de calcular métricas simples, BSI también puede estimar varianza y covarianza, lo que es crítico para el análisis estadístico.
Cálculo de Métricas con Aritmética BSI
La lógica central del cálculo de métricas en WeChat se basa en las operaciones BSI. Esto incluye operaciones básicas de SQL como unir y agregar, que se realizan en las representaciones BSI.
Operaciones de Unir, Filtrar y Agregar
- Unir: BSI permite unir rápidamente diferentes registros basados en el ID de unidad de análisis.
- Filtrar: Se pueden filtrar entradas específicas usando columnas normales o condiciones BSI.
- Agregar: Funciones para calcular sumas, promedios y otras métricas se ejecutan de manera eficiente en el formato BSI.
Estas capacidades hacen que BSI sea especialmente poderoso para procesar grandes conjuntos de datos típicos de experimentos controlados.
Cálculo de Scorecards
Un scorecard es un resultado común de un experimento, mostrando cómo diferentes estrategias se desempeñaron según varias métricas. En WeChat, un scorecard puede calcular cientos de métricas a través de millones de usuarios cada día.
El cálculo de scorecards se optimiza usando BSI, reduciendo los recursos de cálculo necesarios y acelerando el proceso de análisis. Los métodos utilizados para el cálculo de scorecards están diseñados para trabajar eficazmente con la estructura BSI, asegurando resultados precisos y a tiempo.
Cálculo Pre-Experimento
Además de los cálculos en tiempo real, se puede usar data pre-experimento para ayudar a reducir la varianza en las métricas durante los experimentos reales. Esto implica analizar la data antes de comenzar el experimento, permitiendo una mejor comprensión de los resultados esperados.
El método de pre-cálculo sigue una lógica similar a los cálculos de scorecards. Combina el registro de exposición con datos métricos pasados para proporcionar ideas que pueden mejorar el diseño del experimento.
Análisis Profundo
Mientras que el scorecard resume los resultados generales, los dueños de los experimentos a menudo necesitan ideas más detalladas. El análisis profundo permite explorar los datos según atributos de usuario o periodos de tiempo específicos.
Este análisis se realiza según sea necesario y sigue un proceso de cálculo similar, pero incluye filtrado para centrarse en grupos específicos de usuarios o marcos de tiempo. Ayuda a descubrir tendencias e ideas que pueden no ser obvias a partir de resúmenes de alto nivel.
Arquitectura del Sistema para el Cálculo de Métricas
La arquitectura diseñada para el cálculo de métricas en WeChat es un sistema sofisticado que procesa los datos de experimentos de manera eficiente. La arquitectura incluye los siguientes componentes:
Procesamiento de Datos: Los registros iniciales se convierten en representación BSI, que luego se almacena en un sistema de datos distribuido.
Cálculos de Rutina: Se envían trabajos de Spark para calcular scorecards y otras tareas rutinarias usando el formato BSI. Esto permite un procesamiento eficiente de grandes lotes de pares de estrategia-métrica.
Consultas Ad-hoc: Para análisis específicos que no se realizan regularmente, se utiliza Clickhouse. Este sistema de bases de datos está optimizado para manejar consultas rápidamente, permitiendo a los dueños de experimentos obtener las ideas que necesitan sin demoras.
Evaluación del Rendimiento
Se ha evaluado el rendimiento del enfoque BSI en varios escenarios, incluyendo la eficiencia de representación, costos computacionales y tiempos de respuesta para consultas ad-hoc.
Eficiencia de Representación BSI
Los estudios muestran que la representación BSI puede reducir significativamente las necesidades de almacenamiento manteniendo la capacidad de realizar las operaciones necesarias directamente sobre los datos comprimidos. Esto resulta en un sistema más ágil que puede manejar más tareas con menos recursos.
Evaluaciones de Costo Computacional
Las pruebas de rendimiento usando tanto BSI como formatos tradicionales han demostrado que los cálculos BSI son más rápidos y eficientes. Por ejemplo, al usar BSI, las horas de CPU requeridas para ciertas tareas se redujeron significativamente en comparación con métodos anteriores.
Latencia de Consultas Ad-hoc
La latencia para consultas ad-hoc también ha mejorado con el enfoque BSI. Al ejecutar consultas complejas sobre grandes conjuntos de datos, el método BSI ha demostrado ser mucho más rápido que los métodos tradicionales, permitiendo análisis en tiempo real cuando sea necesario.
Conclusión
Implementar el enfoque BSI en el sistema de cálculo de métricas de WeChat ha llevado a mejoras significativas. La capacidad de manejar grandes volúmenes de datos de manera eficiente ha facilitado que los dueños de experimentos analicen resultados y tomen decisiones informadas.
Con este sistema, WeChat sigue mejorando la experiencia de usuario en su plataforma, mostrando cómo las herramientas efectivas basadas en datos pueden transformar los procesos de toma de decisiones en grandes organizaciones. La integración de BSI en las operaciones diarias demuestra la importancia de la innovación en el manejo de datos a gran escala.
En resumen, los avances realizados en el cálculo de métricas no solo contribuyen a la eficiencia operativa, sino que también permiten una comprensión más profunda de las interacciones de los usuarios, sentando las bases para mejoras continuas.
Título: Large-Scale Metric Computation in Online Controlled Experiment Platform
Resumen: Online controlled experiment (also called A/B test or experiment) is the most important tool for decision-making at a wide range of data-driven companies like Microsoft, Google, Meta, etc. Metric computation is the core procedure for reaching a conclusion during an experiment. With the growth of experiments and metrics in an experiment platform, computing metrics efficiently at scale becomes a non-trivial challenge. This work shows how metric computation in WeChat experiment platform can be done efficiently using bit-sliced index (BSI) arithmetic. This approach has been implemented in a real world system and the performance results are presented, showing that the BSI arithmetic approach is very suitable for large-scale metric computation scenarios.
Última actualización: 2024-05-14 00:00:00
Idioma: English
Fuente URL: https://arxiv.org/abs/2405.08411
Fuente PDF: https://arxiv.org/pdf/2405.08411
Licencia: https://creativecommons.org/licenses/by/4.0/
Cambios: Este resumen se ha elaborado con la ayuda de AI y puede contener imprecisiones. Para obtener información precisa, consulte los documentos originales enlazados aquí.
Gracias a arxiv por el uso de su interoperabilidad de acceso abierto.