Hola Habr Este artículo está dedicado a los resultados de un desarrollo de cuatro años de un conjunto de métodos y herramientas para procesar rutas de usuario en una aplicación o en un sitio. El autor del desarrollo es
Maxim Godzi , quien está a la cabeza del equipo de creadores del producto, también es el autor del artículo. El producto en sí se llama Retentioneering, ahora se transforma en una biblioteca de código abierto y se aloja en Github para que cualquiera pueda usarlo. Todo esto puede ser de interés para aquellos asociados con el análisis de productos y marketing, promoción y
desarrollo de productos . Por cierto,
un artículo sobre uno de los casos de trabajar con Retentioneering ya se publicó en Habré. El nuevo material habla de lo que el producto es capaz de hacer y cómo se puede usar.
Después de leer el artículo, usted mismo puede escribir su Retentioneering, puede ser cualquier método estandarizado de procesamiento de trayectorias de usuario en la aplicación y más allá, lo que le permite ver en detalle el comportamiento y extraer información para el crecimiento de las métricas comerciales.
¿Qué es Retencionista y por qué es necesario?
Inicialmente, nuestro objetivo era transferir Growth Hacking del mundo de la "medicina digital" al mundo de los números, análisis y pronósticos. Como resultado, reducir el análisis de productos a matemáticas y programación puras es para aquellos que prefieren los números en lugar de las historias y fórmulas de ciencia ficción a palabras inteligentes como "cambio de marca", "reposicionamiento", etc. que suenan hermosas, pero en la práctica ayudan un poco.
Para resolver estos problemas, necesitábamos un marco para el análisis a través de gráficos y trayectorias, y al mismo tiempo una biblioteca que simplifica las rutinas analíticas típicas, como una forma de describir las tareas regulares de análisis de productos, lo que sería comprensible tanto para las personas como para los robots. La biblioteca brinda la oportunidad de describir el comportamiento del usuario y asociarlo con las métricas comerciales del producto en un lenguaje tan formal y claro para simplificar y automatizar las tareas rutinarias de los desarrolladores y analistas, y facilitar su comunicación con el negocio.
Retentioneering es un método y herramientas de software analítico que se pueden adaptar e integrar en cualquier producto digital (y no solo).Comenzamos a trabajar en el producto en 2015. Ahora, este es un conjunto de herramientas listo para usar, aunque aún no ideal, en Python y Pandas para trabajar con datos, modelos de aprendizaje automático con api tipo sklearn, herramientas para interpretar los resultados de eli5 y modelos de aprendizaje automático shap.
Todo esto está envuelto
en una conveniente biblioteca de código abierto en el repositorio abierto de Github: herramientas de retención . Usar la biblioteca es fácil, casi cualquier persona que ama el análisis de productos, pero que no ha escrito código antes, puede aplicar nuestros métodos de análisis a sus datos por su cuenta y sin una inversión significativa de tiempo.
Bueno, un programador, creador de aplicaciones o miembro de un equipo de desarrollo o prueba que nunca antes haya estado involucrado en análisis puede comenzar a jugar con este código y ver patrones de uso de su aplicación sin ayuda externa.
La trayectoria del usuario como elemento básico de análisis y métodos para su procesamiento.
Trayectoria del usuario: una secuencia de estados de usuario en puntos de tiempo específicos. Además, los eventos pueden ser de diferentes fuentes de datos, tanto en línea como fuera de línea. Los eventos que le suceden al usuario son parte de su trayectoria. Ejemplos:
• presionó el botón
• vi una foto
• golpear la pantalla
• recibió un correo electrónico
• recomendó el producto a un amigo
• llenó el formulario
• pantalla grabada
• desplazado
• fue a la caja
• ordenó un burrito
• comió un burrito
• envenenado por burritos comidos
• entró al café desde la puerta de atrás
• entró por la puerta principal
• minimizó la aplicación
• recibió una notificación push
• estúpido en la pantalla por más tiempo X
• pagado por el pedido
• compró un pedido
• se le negó un préstamo
Si toma los datos de las trayectorias de un grupo de usuarios y estudia cómo se organizan las transiciones, puede rastrear cómo se construye su comportamiento en la aplicación. Esto se realiza convenientemente a través de un gráfico en el que los estados son nodos y las transiciones entre estados son aristas:

"Trayectoria" es un concepto muy conveniente: contiene información detallada sobre todas las acciones del usuario, con la posibilidad de agregar datos adicionales a la descripción de estas acciones. Esto lo convierte en un objeto universal. Si tiene herramientas hermosas y convenientes que le permiten trabajar con rutas, puede encontrar similitudes, segmentarlas.
La segmentación de las trayectorias al principio puede parecer algo muy complicado. En una situación normal, este es el caso: debe usar una comparación de matrices de conexión o alineación de secuencias. Logramos encontrar una manera más fácil: estudiar una gran cantidad de trayectorias y segmentarlas a través de la agrupación.
Al final resultó que, puede convertir la trayectoria en un punto utilizando representaciones continuas, por ejemplo,
TF-IDF . Después de la transformación, la trayectoria se convierte en un punto en el espacio, donde la ocurrencia normalizada en la trayectoria de varios eventos y transiciones entre ellos se traza a lo largo de los ejes. Esta cosa de un enorme espacio dimensional de mil o más (dimS = sum (tipos de evento) + sum (ngrams_2 tipos)) se puede proyectar en un plano usando
TSNE . TSNE - transformación, reduce la dimensión del espacio a 2 ejes y, si es posible, mantiene las distancias relativas entre puntos. Por consiguiente, es posible en un mapa plano, un mapa de proyección figurativa de trayectorias, estudiar cómo se organizaron entre sí los puntos de diferentes trayectorias. Se analiza qué tan cerca o diferentes eran entre sí, ya sea que formaran grupos o se dispersaran por el mapa, etc.

Las herramientas analíticas retentivas permiten convertir una serie de datos y trayectorias complejas en una presentación que se puede comparar entre sí, y luego examinar e interpretar el resultado de la transformación.
Hablando de métodos de procesamiento de trayectoria estándar, estamos hablando de las tres herramientas principales que implementamos en Retentioneering: gráficos, matrices escalonadas y mapas de mapas de proyección.
Trabajar con Google Analytics, Firebase y sistemas de análisis similares es bastante complicado y no es 100% efectivo. El problema es una serie de restricciones para el usuario, como resultado de lo cual el trabajo del analista descansa en tales sistemas con clics del mouse y selección de sectores. La retención hace posible trabajar con trayectorias de usuario, y no solo embudos, como en Google Analytics, donde el nivel de detalle a menudo se reduce a un embudo, aunque construido para un segmento determinado.
Retencionismo y casos
Un ejemplo de uso de la herramienta desarrollada es el caso de un gran servicio de nicho en Rusia. Esta compañía tiene una aplicación móvil para Android, que es popular entre los clientes. La facturación anual de una aplicación móvil fue de aproximadamente 7 millones de rublos, fluctuaciones estacionales en el rango de 60-130 mil. La misma compañía tiene una aplicación para iOS, y la verificación promedio de un usuario de la aplicación "apple" fue mayor que la verificación promedio de un cliente que usa una aplicación de Android. 1.080 rub. contra 1300 rub.
La compañía decidió aumentar la eficiencia de la aplicación de Android, para lo cual realizó un análisis exhaustivo. Se formaron varias docenas de hipótesis sobre el aumento de la efectividad de la aplicación. Después de usar Retentionneering, resultó que el problema estaba en los mensajes que se mostraban a los nuevos usuarios. Recibieron información sobre la marca, los beneficios de la compañía y los precios. Pero, como se vio después, se suponía que los mensajes ayudarían al usuario a aprender cómo trabajar en la aplicación.

Esto se hizo, como resultado de lo cual la aplicación comenzó a eliminarse menos, y el aumento de conversión en el pedido fue del 23%. Al principio, se dio el 20 por ciento del tráfico entrante para la prueba, pero después de unos días, después de analizar los primeros resultados y evaluar la tendencia, cambiaron las proporciones y, por el contrario, dejaron el 20 por ciento para el grupo de control, y ochenta se pusieron en la prueba. Una semana después, se decidió agregar constantemente pruebas de dos hipótesis más. En solo siete semanas, la rotación de la aplicación de Android aumentó una vez y media en comparación con el nivel anterior.
¿Cómo trabajar con retentioneering?
Los primeros pasos son bastante simples: cargue la biblioteca con el comando pip install retentioneering. El repositorio en sí contiene ejemplos listos y casos de procesamiento de datos para algunas tareas de análisis de productos. El conjunto se actualiza constantemente, mientras que es suficiente para el primer conocido. Todos pueden tomar módulos ya preparados y aplicarlos inmediatamente a sus tareas; esto le permite configurar inmediatamente el proceso de análisis más detallado y la optimización de las rutas de los usuarios de la manera más rápida y eficiente posible. Todo esto hace posible encontrar patrones para usar la aplicación a través de un código claro y compartir esta experiencia con colegas.
Retentioneering es una herramienta que se debe utilizar durante toda la vida de la aplicación, y he aquí por qué:
- La retención es efectiva para rastrear y optimizar continuamente las rutas de los usuarios y mejorar el rendimiento del negocio. Por lo tanto, en las aplicaciones de comercio electrónico a menudo se agregan nuevas funciones, cuyo impacto en el producto no siempre se puede predecir correctamente. En algunos casos, surgen problemas de compatibilidad entre funciones nuevas y antiguas, por ejemplo, las nuevas “canibalizan” las existentes. Y en esta situación, se necesita un análisis constante de las trayectorias.
- La situación con los canales publicitarios es similar: constantemente se prueban nuevas fuentes de tráfico y creatividades publicitarias, es necesario controlar la estacionalidad, las tendencias y la influencia de otros eventos, lo que lleva a la aparición de nuevas clases de problemas. También requiere monitoreo e interpretación constantes de la mecánica personalizada.
- Hay una serie de factores que afectan constantemente el funcionamiento de una aplicación. Por ejemplo, nuevos lanzamientos de desarrolladores: cerrando un problema real, sin darse cuenta devuelven el viejo o crean uno completamente nuevo. Con el tiempo, el número de nuevas versiones está creciendo, y el proceso de seguimiento de errores debe ser automatizado, incluso a través del análisis de las trayectorias de los usuarios.
En general, Retentioneering es una herramienta efectiva. Pero no hay límite para la perfección: puede y debe mejorarse, desarrollarse, construirse sobre la base de nuevos productos geniales. Cuanto más activa sea la comunidad del proyecto, más bifurcaciones habrá, aparecerán nuevas opciones interesantes para su uso.
Información adicional sobre herramientas de retención: