Oi Habr. Este artigo é dedicado aos resultados de um desenvolvimento de quatro anos de um conjunto de métodos e ferramentas para processar caminhos de usuário em um aplicativo ou site. O autor do desenvolvimento é
Maxim Godzi , que está à frente da equipe de criadores do produto, ele também é o autor do artigo. O produto em si é chamado Retentioneering, agora é transformado em uma biblioteca de código aberto e hospedado no Github para que qualquer pessoa possa usá-lo. Tudo isso pode ser de interesse para aqueles associados à análise de produtos e marketing, promoção e
desenvolvimento de produtos . A propósito,
um artigo sobre um dos casos de trabalho com Retentioneering já foi publicado no Habré. O novo material fala sobre o que o produto é capaz e como pode ser usado.
Depois de ler o artigo, você mesmo pode escrever seu Retentioneering, pode ser qualquer método padronizado de processar trajetórias de usuários no aplicativo e além, permitindo ver em detalhes o comportamento e extrair insights dele para o crescimento das métricas de negócios.
O que é Retentioneering e por que é necessário?
Inicialmente, nosso objetivo era transferir o Growth Hacking do mundo da "medicina digital" para o mundo dos números, análises e previsões. Como resultado, reduzir a análise do produto a matemática e programação puras é para aqueles que preferem números em vez de histórias e fórmulas de ficção científica a palavras inteligentes como “rebranding”, “reposicionamento” etc. que parecem bonitas, mas na prática ajudam um pouco.
Para resolver esses problemas, precisávamos de uma estrutura de análise através de gráficos e trajetórias e, ao mesmo tempo, uma biblioteca que simplificasse rotinas analíticas típicas, como uma maneira de descrever tarefas regulares de análise de produto, que seriam compreensíveis para pessoas e robôs. A biblioteca oferece uma oportunidade para descrever o comportamento do usuário e associá-lo às métricas de negócios do produto em uma linguagem formal e clara para simplificar e automatizar as tarefas rotineiras de desenvolvedores e analistas, além de facilitar a comunicação com os negócios.
Retentioneering é um método e ferramentas de software analítico que podem ser adaptados e integrados a qualquer produto digital (e não apenas).Começamos a trabalhar no produto em 2015. Agora, este é um conjunto de ferramentas prontas, embora ainda não ideais, em Python e Pandas para trabalhar com dados, modelos de aprendizado de máquina com API semelhante ao sklearn, ferramentas para interpretar os resultados dos modelos de aprendizado de máquina eli5 e shap.
Tudo isso está envolvido
em uma biblioteca de código aberto conveniente no repositório aberto do Github - ferramentas de retenção de retenção . O uso da biblioteca é fácil, quase qualquer pessoa que adora análise de produto, mas que não tenha escrito código antes, pode aplicar nossos métodos de análise a seus dados de forma independente e sem dispêndios significativos de tempo.
Bem, um programador, criador de um aplicativo ou membro de uma equipe de desenvolvimento ou teste que nunca esteve envolvido em análises pode começar a brincar com esse código e ver padrões de uso de seu aplicativo sem ajuda externa.
Trajetória do usuário como elemento básico de análise e métodos para seu processamento
Trajetória do usuário - uma sequência de estados do usuário em momentos específicos. Além disso, os eventos podem ser de diferentes fontes de dados, online e offline. Eventos que acontecem ao usuário fazem parte de sua trajetória. Exemplos:
• pressionou o botão
• viu uma foto
• toque na tela
• recebeu um email
• recomendou o produto a um amigo
• preencheu o formulário
• tela gravada
• rolado
• foi ao caixa
• pediu um burrito
• comeu um burrito
• envenenado por burritos comidos
• entrou no café pela porta dos fundos
• entrou pela porta da frente
• minimizou a aplicação
• recebeu uma notificação por push
• estúpido na tela por mais tempo X
• pago pelo pedido
• comprou um pedido
• foi negado um empréstimo
Se pegarmos os dados das trajetórias do grupo de usuários e estudarmos como as transições são organizadas, podemos rastrear como seu comportamento é construído no aplicativo. Isso é feito convenientemente através de um gráfico no qual estados são nós e as transições entre estados são arestas:

"Trajetória" é um conceito muito conveniente - contém informações detalhadas sobre todas as ações do usuário, com a possibilidade de adicionar dados adicionais à descrição dessas ações. Isso o torna um objeto universal. Se você possui ferramentas bonitas e convenientes que permitem trabalhar com caminhos, poderá encontrar semelhanças e segmentá-las.
A segmentação das trajetórias a princípio pode parecer algo muito complicado. Em uma situação normal, esse é o caso - você precisa usar uma comparação de matrizes de conexão ou alinhamento de sequência. Conseguimos encontrar uma maneira mais fácil - estudar um grande número de trajetórias e segmentá-las por meio de agrupamentos.
Como se viu, você pode transformar a trajetória em um ponto usando representações contínuas, por exemplo,
TF-IDF . Após a transformação, a trajetória se torna um ponto no espaço, onde a ocorrência normalizada na trajetória de vários eventos e transições entre eles é traçada ao longo dos eixos. Essa coisa de um enorme espaço dimensional de mil ou mais (dimS = soma (tipos de eventos) + soma (ngrams_2 tipos)) pode ser projetada em um plano usando
TSNE . TSNE - transformação, reduz a dimensão do espaço para 2 eixos e, se possível, mantém as distâncias relativas entre os pontos. Dessa forma, torna-se possível em um mapa plano, um mapa de projeção figurativa de trajetórias, estudar como os pontos de diferentes trajetórias foram organizados entre si. Analisa-se quão próximos ou diferentes estavam um do outro, se formaram aglomerados ou se espalharam pelo mapa, etc:

As ferramentas analíticas de retenção de retenção tornam possível transformar uma matriz de dados e trajetórias complexas em uma apresentação que possa ser comparada entre si e, em seguida, examinar e interpretar o resultado da transformação.
Falando sobre métodos padrão para processar a trajetória, estamos falando das três principais ferramentas que implementamos no Retentioneering - gráficos, matrizes de etapas e mapas de mapas de projeção.
Trabalhar com o Google Analytics, Firebase e sistemas de análise semelhantes é bastante complicado e não é 100% eficaz. O problema é uma série de restrições para o usuário, como resultado do trabalho do analista em tais sistemas com cliques do mouse e seleção de fatias. A retenção de retenção torna possível trabalhar com caminhos do usuário, e não apenas com funis, como no Google Analytics, onde o nível de detalhe geralmente se resume a um funil, embora criado para um determinado segmento.
Retenção e casos
Um exemplo do uso da ferramenta desenvolvida é o caso de um grande serviço de nicho na Rússia. Esta empresa possui um aplicativo móvel para Android, popular entre os clientes. O volume de negócios anual de um aplicativo móvel foi de cerca de 7 milhões de rublos, flutuações sazonais na faixa de 60 a 130 mil. A mesma empresa possui um aplicativo iOS e a verificação média de um usuário do aplicativo "apple" foi superior à verificação média de um cliente usando um aplicativo Android - 1.080 esfregar. contra 1300 esfregar.
A empresa decidiu aumentar a eficiência do aplicativo Android, para o qual realizou uma análise completa. Várias dezenas de hipóteses foram formadas sobre o aumento da eficácia do aplicativo. Depois de usar o Retentionneering, o problema estava nas mensagens mostradas aos novos usuários. Eles receberam informações sobre a marca, benefícios e preços da empresa. Mas, como se viu, as mensagens deveriam ajudar o usuário a aprender como trabalhar no aplicativo.

Isso foi feito, como resultado, o aplicativo começou a ser excluído menos e o aumento de conversão no pedido foi de 23%. No início, 20% do tráfego recebido era destinado ao teste, mas após alguns dias, após analisar os primeiros resultados e avaliar a tendência, eles mudaram as proporções e, pelo contrário, deixaram 20% para o grupo controle e oitenta foram colocados no teste. Uma semana depois, foi decidido adicionar consistentemente o teste de mais duas hipóteses. Em apenas sete semanas, a rotatividade do aplicativo Android aumentou uma vez e meia em comparação com o nível anterior.
Como trabalhar com retentioneering?
Os primeiros passos são bastante simples - carregue a biblioteca com o comando pip install retentioneering. O próprio repositório contém exemplos prontos e casos de processamento de dados para algumas tarefas de análise de produto. O conjunto é atualizado constantemente, enquanto é suficiente para o primeiro conhecido. Todos podem pegar módulos prontos e aplicar imediatamente em suas tarefas - isso permite que você configure imediatamente o processo de análise e otimização mais detalhadas dos caminhos do usuário o mais rápido e eficiente possível. Tudo isso torna possível encontrar padrões para o uso do aplicativo por meio de código claro e compartilhar essa experiência com os colegas.
O Retentioneering é uma ferramenta que deve ser usada durante toda a vida útil do aplicativo, e aqui está o porquê:
- A retenção é eficaz para rastrear e otimizar continuamente os caminhos do usuário e melhorar o desempenho dos negócios. Portanto, os aplicativos de comércio eletrônico geralmente adicionam novos recursos, cujo impacto no produto nem sempre pode ser previsto corretamente. Em alguns casos, surgem problemas de compatibilidade entre funções novas e antigas - por exemplo, novas “canibalizam” as existentes. E nessa situação, é necessária uma análise constante das trajetórias.
- A situação com os canais de publicidade é semelhante: novas fontes de tráfego e peças criativas de publicidade estão sendo constantemente testadas, é necessário monitorar a sazonalidade, as tendências e a influência de outros eventos, o que leva ao surgimento de novas classes de problemas. Também requer monitoramento e interpretação constantes da mecânica personalizada.
- Existem vários fatores que afetam constantemente a operação de um aplicativo. Por exemplo, novos lançamentos de desenvolvedores: fechando um problema real, eles retornam involuntariamente o antigo ou criam um completamente novo. Com o tempo, o número de novos lançamentos está aumentando e o processo de rastreamento de bugs precisa ser automatizado - inclusive através da análise das trajetórias dos usuários.
No geral, o Retentioneering é uma ferramenta eficaz. Mas não há limite para a perfeição - ela pode e deve ser aprimorada, desenvolvida e construída com base em novos produtos legais. Quanto mais ativa a comunidade do projeto, mais garfos haverá, novas opções interessantes para seu uso aparecerão.
Informações adicionais sobre ferramentas de retenção de retenção: