Bonjour, Habr. Cet article est dédié aux résultats de quatre années de développement d'un ensemble de méthodes et d'outils pour traiter les trajectoires de mouvement des utilisateurs dans une application ou sur un site web. L'auteur du développement est , qui est à la tête de l'équipe des créateurs du produit, et également l'auteur de l'article. Le produit s'appelle Retentioneering, il a maintenant été transformé en bibliothèque open-source et est disponible sur GitHub, afin que tout le monde puisse en bénéficier. Tout cela peut intéresser ceux qui travaillent dans l'analyse produit et marketing, ainsi que dans la promotion et le développement de produits. D'ailleurs, Habr . Le nouveau matériel explique ce que le produit est capable de faire et comment il peut être utilisé.
En lisant l'article, vous serez en mesure d'écrire votre propre Retentioneering, qui peut être n'importe quelle méthode standardisée de traitement des trajectoires des utilisateurs dans l'application et en dehors, permettant de voir en détail les particularités du comportement et d'extraire des insights pour la croissance des métriques commerciales.
Qu'est-ce que Retentioneering et pourquoi est-ce nécessaire ?
Au départ, notre objectif était de traduire le Growth Hacking du monde du « chamanisme numérique » vers celui des chiffres, de l'analyse et des prévisions. Par conséquent, ramener l'analyse produit à une pure mathématique et programmation pour ceux qui préfèrent les chiffres aux histoires fantastiques, et les formules aux jargons élégants tels que « rebranding », « repositionnement », etc., qui sonnent bien mais qui, dans la pratique, aident peu.
Pour atteindre ces objectifs, un cadre pour l'analyse via des graphes et des trajectoires était nécessaire, ainsi qu'une bibliothèque simplifiant les tâches typiques des analystes, en tant que moyen de décrire les tâches régulières de l'analyse produit, compréhensible tant par les hommes que par les machines. La bibliothèque permet de décrire le comportement des utilisateurs et de le relier aux métriques commerciales du produit dans un langage formel et clair, afin de simplifier et d'automatiser les tâches routinières des développeurs et des analystes, et de faciliter leur communication avec les affaires.
Retentioneering — une méthode et des outils analytiques logiciels qui peuvent être adaptés et intégrés dans n'importe quel produit numérique (et pas seulement).
Nous avons commencé à travailler sur le produit en 2015. Maintenant, c'est déjà un ensemble d'outils prêt, bien que pas encore parfait, basé sur Python et Pandas pour le travail avec les données, des modèles d'apprentissage automatique avec une API similaire à sklearn, et des outils d'interprétation des résultats des modèles d'apprentissage automatique comme eli5 et shap.
Tout cela est encapsulé . Utiliser cette bibliothèque n'est pas difficile, presque n'importe qui aimant l'analyse de produit, mais n'ayant jamais écrit de code auparavant, peut appliquer nos méthodes d'analyse à ses données de manière autonome et sans investissement de temps significatif.
Quant au programmeur, au créateur d'application ou au membre de l'équipe de développement ou de test qui n'a jamais fait d'analyse auparavant, il peut commencer à jouer avec ce code et voir des modèles d'utilisation de son application sans aide extérieure.
La trajectoire de l'utilisateur comme élément de base de l'analyse et ses méthodes de traitement
La trajectoire de l'utilisateur — séquence d'états de l'utilisateur à des moments donnés. De plus, les événements peuvent provenir de différentes sources de données, tant en ligne qu'hors ligne. Les événements survenus avec l'utilisateur font partie de sa trajectoire. Exemples :
• a cliqué sur le bouton
• a vu une image
• est arrivé à l'écran
• a reçu un email
• a recommandé le produit à un ami
• a rempli un formulaire
• a tapé sur l'écran
• a fait défiler
• s'est approché de la caisse
• a commandé un burrito
• a mangé un burrito
• a été intoxiqué par le burrito mangé
• est entré dans le café par l'entrée arrière
• est entré par l'entrée principale
• a fermé l'application
• a reçu une notification push
• a regardé l'écran plus longtemps que X
• a payé la commande
• a récupéré la commande
• a été refusé pour un prêt
Si l'on prend les données de trajectoire d'un groupe d'utilisateurs et que l'on étudie comment sont organisés les passages, on peut retracer comment se construit leur comportement dans l'application. C'est facile à faire à travers un graphe, où les états sont les nœuds et les transitions entre les états sont les arêtes :

La «Trajectoire» est un concept très utile — elle contient des informations détaillées sur toutes les actions de l'utilisateur, avec la possibilité d'ajouter toutes données supplémentaires à la description de ces actions. Cela en fait un objet universel. Si vous disposez d'outils beaux et pratiques qui permettent de travailler avec des trajectoires, vous pouvez trouver des similarités et les segmenter.
La segmentation des trajectoires peut sembler très complexe au départ. Dans une situation normale, c'est le cas — il faut utiliser la comparaison de matrices de connexion ou l'alignement de séquences. Nous avons réussi à trouver une méthode plus simple — étudier un grand nombre de trajectoires et les segmenter par le biais de la classification.
Il s'avère qu'il est possible de transformer une trajectoire en un point grâce à des représentations continues, par exemple, . Après cette transformation, la trajectoire devient un point dans l'espace, où les axes représentent la fréquence normalisée des différentes événements et transitions dans la trajectoire. Cette chose issue d'un espace immense à mille dimensions ou plus (dimS=sum(types d'événements)+sum(types de n-grams_2)), peut être projetée sur un plan grâce à . TSNE — la transformation, réduit la dimensionnalité de l'espace à 2 axes tout en préservant, dans la mesure du possible, les distances relatives entre les points. Il devient donc possible d'étudier comment les points de différentes trajectoires étaient positionnés les uns par rapport aux autres sur la carte plane, une carte de projection figurative des trajectoires. On analyse dans quelle mesure ces points étaient proches ou différents les uns des autres, s'ils formaient des clusters ou étaient dispersés sur la carte, etc. :

Les outils analytiques de Retentioneering permettent de transformer un ensemble de données complexes et de trajectoires en une représentation qui peut être comparée entre elles, puis d'explorer et d'interpréter le résultat de cette transformation.
En parlant des méthodes standard de traitement des trajectoires, trois outils principaux sont impliqués, que nous avons mis en œuvre dans Retentioneering — graphes, matrices d'étapes et cartes de projection des trajectoires.
Travailler avec Google Analytics, Firebase et des systèmes d'analyse similaires est assez complexe et pas 100 % efficace. Le problème réside dans un certain nombre de limitations pour l'utilisateur, ce qui fait que le travail de l'analyste dans ces systèmes se réduit à des clics de souris et à des choix de segments. Retentioneering permet de travailler avec des trajectoires utilisateurs, et non seulement avec des entonnoirs, comme dans Google Analytics, où le niveau de détail se limite souvent à l'entonnoir, même s'il est construit pour un segment particulier.
Retentioneering et ses cas d'utilisation
À titre d'exemple d'utilisation de l'outil développé, on peut citer le cas d'un grand service de niche en Russie. Cette entreprise dispose d'une application mobile pour Android, qui est populaire auprès des clients. Le chiffre d'affaires annuel de l'application mobile s'élevait à environ 7 millions de roubles, avec des fluctuations saisonnières de 60 à 130 milliers. Cette entreprise a également une application pour iOS, et le panier moyen d'un utilisateur de l'application 'Apple' était supérieur à celui d'un client utilisant l'application Android — 1080 roubles contre 1300 roubles.
L'entreprise a décidé d'augmenter l'efficacité de l'application Android, pour cela elle a mené une analyse approfondie. Plusieurs dizaines d'hypothèses ont été formulées concernant l'augmentation de la performance de l'application. Après avoir utilisé Retentioneering, il s'est avéré que le problème résidait dans les messages affichés aux nouveaux utilisateurs. Ils recevaient des informations sur la marque, les avantages de l'entreprise et les prix. Mais, comme cela s'est avéré, les messages devaient aider l'utilisateur à apprendre à utiliser l'application.

Cela a été fait, ce qui a conduit à une réduction du nombre de désinstallations de l'application, et la conversion en commande a augmenté de 23 %. Au départ, 20 % du trafic entrant a été alloué au test, mais après quelques jours, après avoir analysé les premiers résultats et évalué la tendance, ils ont inversé les proportions et ont, au contraire, laissé 20 % pour le groupe de contrôle, et 80 % pour le test. Une semaine plus tard, il a été décidé d'ajouter progressivement le test de deux autres hypothèses. Au total, après sept semaines, le chiffre d'affaires de l'application Android a augmenté d'un tiers par rapport au niveau précédent.
Comment travailler avec Retentioneering ?
Les premières étapes sont assez simples : téléchargez la bibliothèque avec la commande pip install retentioneering. Dans le dépôt, vous trouverez des exemples prêts à l'emploi et des cas d'analyse de données pour certaines tâches d'analyse produit. L'ensemble est constamment enrichi, mais il est déjà suffisant pour une première prise en main. Chacun peut prendre des modules prêts et les appliquer immédiatement à ses tâches — cela permet de configurer rapidement et efficacement le processus d'analyse approfondie et d'optimisation des parcours utilisateurs. Tout cela permet de trouver des motifs d'utilisation de l'application à travers un code compréhensible et de partager cette expérience avec les collègues.
Retentioneering est un outil à utiliser tout au long de la vie de l'application, et voici pourquoi :
- Retentioneering est efficace pour suivre et optimiser en continu les parcours utilisateurs et améliorer les performances commerciales. Ainsi, dans les applications de commerce électronique, de nouvelles fonctionnalités sont souvent ajoutées, dont l'impact sur le produit n'est pas toujours prévisible. Dans certains cas, des problèmes de compatibilité entre les nouvelles et anciennes fonctionnalités surgissent — par exemple, les nouvelles ‘cannibalisent’ celles qui existent déjà. C'est là qu'une analyse permanente des parcours est nécessaire.
- La situation est similaire avec le travail sur les canaux publicitaires : de nouvelles sources de trafic et de nouveaux créatifs sont constamment testés, il est nécessaire de suivre la saisonnalité, les tendances et l'impact d'autres événements, ce qui entraîne l'apparition de nouvelles classes de problèmes. Ici aussi, un suivi et une interprétation constants des mécanismes utilisateurs sont requis.
- Il y a un certain nombre de facteurs qui influencent constamment le fonctionnement de l'application. Par exemple, les nouvelles versions des développeurs : en résolvant un problème actuel, ils réintroduisent involontairement un ancien ou en créent un totalement nouveau. Avec le temps, le nombre de nouvelles versions augmente, et il est nécessaire d'automatiser le processus de suivi des bugs — notamment en analysant les parcours utilisateurs.
Dans l'ensemble, Retentioneering est un outil efficace. Mais il n'y a pas de limite à la perfection — il peut et doit être amélioré, développé et servir de base à de nouveaux produits intéressants. Plus la communauté du projet sera active, plus il y aura de forks, et de nouvelles utilisations intéressantes apparaîtront.
Informations supplémentaires sur les outils Retentioneering :
- Notre site :
- et inscription à la participation
- Gratuit
Source : habr.com
