Avito creó un bot para analizar métricas: la IA redacta el texto, pero los cálculos los hace código convencional
El equipo de BI de Avito creó en Mattermost el bot Big10 Pulse, que cada mañana revisa las métricas financieras clave y envía un PDF con una nota breve. La idea central: todo lo que se puede describir con una regla se queda en código convencional, es decir, la disponibilidad de los datos, los umbrales de anomalía y la aportación de los segmentos. El modelo de lenguaje recibe hechos ya calculados y se limita a convertirlos en un comentario, que después se revisa para detectar afirmaciones inventadas.
Procesado por IA desde Habr AI; editado por Hamidun News
Cada mañana, el analista abre el panel financiero, comprueba si los datos se han actualizado, mira los ingresos y, si la cifra ha dado un salto, empieza a investigar dónde y por qué. Media hora al día, sin ninguna magia, pero son comprobaciones que no se pueden saltar. Los desarrolladores de BI de Avito Aigul Ajmétova y Valeria Smirnova decidieron delegar esta rutina en un bot. El resultado es Big10 Pulse, que funciona en el Mattermost corporativo. Su conclusión más interesante no trata de lo que se puede encargar a un modelo de lenguaje, sino de lo que no se le puede encargar.
Por qué una alerta no basta
Un gráfico muestra que la métrica ha cambiado, pero no explica por qué. Antes de formular cualquier hipótesis, el analista debe asegurarse de que los datos del día se han cargado por completo, de que la desviación sale de las oscilaciones habituales, de que la base de comparación es la correcta y de qué segmento ha aportado la mayor parte del cambio. Si se salta directamente a la explicación, es fácil confundir una fuente con carga incompleta con una caída del negocio, o un efecto festivo con un incidente. Además, el gráfico resulta convincente, y ahí está el problema.
Por eso no optaron por crear un chat universal con el informe. Acotaron la tarea al primer análisis: comprobar que los datos están listos, separar la señal del ruido, descomponer el cambio en factores y sugerir hacia dónde mirar después.
Qué hace el código y qué hace el modelo
Lo primero es lo más terrenal: el bot comprueba la fecha de la última actualización de las fuentes. Mientras los datos no estén listos, el cálculo no se lanza. El modelo no interviene aquí. Es capaz de explicar con fluidez incluso un error de carga, y lo que el equipo necesita en esa situación no es un texto bien hilado, sino la ausencia de texto. El envío queda registrado en un log y el usuario no recibe duplicados.
Después, el bot busca la anomalía. Compara el valor con el de la semana anterior y con la media de siete días. Los límites dependen del tipo de día y del historial de cada métrica, y una regla aparte neutraliza el rebote esperado tras los festivos. Todo esto lo calcula código convencional, porque con los mismos datos el sistema debe tomar siempre la misma decisión. El equipo descartó pedirle al modelo que «mire el gráfico y diga si parece una anomalía».
A continuación, el bot desglosa la diferencia total por líneas de negocio y tipos de ingresos. Las ordena no por el porcentaje más alto, sino por su aportación. Un ejemplo: un total de menos 100 unidades convencionales se compone de menos 80, menos 30 y más 10, y queda claro por qué tramo empezar. Una categoría pequeña puede crecer decenas de puntos porcentuales y no cambiar nada en el resultado final.
El modelo entra solo al final. Recibe un conjunto breve de hechos ya preparados: los cambios relativos están calculados de antemano y los valores absolutos los inserta Python. No le pasan el informe completo, porque cuantas más relaciones casuales ve, más fácil le resulta inventar una explicación verosímil. La fórmula del equipo: cuanta menos libertad tiene el modelo, más útil es la respuesta.
Revisión del texto antes del envío
Incluso con datos de entrada correctos, el modelo tiende a reforzar la conclusión. El cálculo dice: la mayor aportación negativa procede de la línea A. En el texto aparece: «los ingresos cayeron por un error técnico en la línea A». El modelo no sabía nada de ningún error, pero suena seguro.
Por eso la nota pasa dos filtros. El primero descarta marcadores de posición, respuestas de plantilla y mensajes sin datos. El segundo contrasta el texto con el conjunto original de hechos y busca números y afirmaciones que no estaban en él. Lo fundamental es que el componente verificador ve los mismos hechos que el generador. De lo contrario, un modelo probabilístico se limita a valorar lo convincente que es otro, no si dice la verdad.
El bot distingue tres cosas: la anomalía (la métrica se ha salido de los límites), la aportación (dónde ha ocurrido) y la causa (por qué). La causa suele confirmarla una persona, a veces con ayuda de fuentes adicionales. Si se mezclan estas etapas, el sistema empezará a presentar hipótesis como hechos establecidos.
Qué más hubo que resolver
La suscripción almacena el corte, el idioma y el tipo de informe, y se configura con botones en Mattermost. Si varias personas están suscritas al mismo corte, el cálculo se reutiliza. Tras el resumen se puede hacer una pregunta de seguimiento, y la respuesta se vuelve a validar. Los permisos de acceso no cambian: el bot no mostrará nada que el usuario no vería en el sistema de origen. El equipo supervisa el uso y los fallos en Grafana, y considera el feedback de directivos y managers parte del producto.
Resultado y limitaciones
En las pruebas hubo 9 suscriptores, y el equipo estimó un ahorro de aproximadamente 99 horas-persona al mes (9 personas × 30 minutos × 22 días laborables). Más tarde, otros 55 usuarios se suscribieron por su cuenta. Es una estimación calculada, no una medición con cronómetro. Más revelador es el cambio de escenario: en lugar de dedicar entre 30 y 60 minutos a revisar el informe, la persona invierte uno o dos minutos en leer el análisis ya preparado.
El bot no sustituye al analista ni encuentra la causa raíz de cualquier movimiento. Espera a que los datos sean correctos, detecta desviaciones y lleva a la persona a la primera hipótesis verificable. El artículo no aporta cifras sobre el efecto en la calidad de las decisiones ni sobre la precisión de las notas.
Qué conviene llevarse
Si está construyendo un asistente de IA similar para métricas, empiece por el límite de responsabilidad. La disponibilidad de los datos, los umbrales, la estacionalidad y la descomposición de la aportación deben vivir en código determinista. Al modelo, encárguele solo la redacción a partir de un pequeño conjunto de hechos verificados. Al validador, deles los mismos hechos que al generador, y tenga en cuenta los permisos de acceso desde el primer día. La decisión más importante del equipo no fue conectar un modelo de lenguaje, sino frenarlo a tiempo.
- 13 oct 2026Avito revela cómo mide la fiabilidad y en qué se diferencia su presupuesto de errores del de Google
- 23 jul 2026Desarrollo con agentes frente a vibe coding: la experiencia de Avito para controlar la calidad del código generado por IA
- 8 nov 2026El creador de SalesAgent regala su vendedor con IA: el bot supera 197 de 200 pruebas del catálogo
- 30 abr 2026Yandex muestra en AI Dev Day cómo la IA ya está cambiando el desarrollo en Avito, Ozon y T-Bank
Preguntas frecuentes sobre la noticia
¿Qué se sabe sobre Por qué una alerta no basta?
Un gráfico muestra que la métrica ha cambiado, pero no explica por qué. Antes de formular cualquier hipótesis, el analista debe asegurarse de que los datos del día se han cargado por completo, de que la desviación sale de las oscilaciones habituales, de que la base de comparación es la correcta y de qué segmento ha aportado la mayor parte del cambio. Si se salta directamente a la explicación, es fácil confundir una fuente con carga incompleta con una caída del negocio, o un efecto festivo con un incidente.
¿Qué se sabe sobre Qué hace el código y qué hace el modelo?
Lo primero es lo más terrenal: el bot comprueba la fecha de la última actualización de las fuentes. Mientras los datos no estén listos, el cálculo no se lanza. El modelo no interviene aquí. Es capaz de explicar con fluidez incluso un error de carga, y lo que el equipo necesita en esa situación no es un texto bien hilado, sino la ausencia de texto. El envío queda registrado en un log y el usuario no recibe duplicados. Después, el bot busca la anomalía.
¿Qué se sabe sobre Revisión del texto antes del envío?
Incluso con datos de entrada correctos, el modelo tiende a reforzar la conclusión. El cálculo dice: la mayor aportación negativa procede de la línea A. En el texto aparece: «los ingresos cayeron por un error técnico en la línea A». El modelo no sabía nada de ningún error, pero suena seguro. Por eso la nota pasa dos filtros. El primero descarta marcadores de posición, respuestas de plantilla y mensajes sin datos.
Test Frontier LLMs & Autonomous Agents in One Workspace
Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.
Lo esencial de la IA — una vez por semana
Siete historias que de verdad importaron, elegidas a mano. Sin ruido ni notas de prensa.
¡Listo! Revisa tu correo para la confirmación.