USE Together : la data comme levier de développement d’une start-up

Eman Al Shaour
neoxia
Published in
5 min readDec 18, 2019

Parmi nos projets chez Neoxia, nous avons parfois la chance de contribuer au développement de projets prometteurs, en leur faisant profiter de notre expertise technique. Ainsi, USE Together est une start-up accompagnée par Neoxia depuis deux ans, offrant une solution de travail collaboratif multi-utilisateurs. En plus du classique partage d’écran, la fonctionnalité phare du produit est la possibilité pour tous les utilisateurs d’utiliser leur propre curseur simultanément pour interagir avec le contenu visionné à l’écran.

Suite à une campagne de beta testing, USE Together a fait appel à Neoxia pour améliorer la gestion de ses données utilisateurs, mettre en place une pipeline d’ingestion et de traitement de ces données, identifier les différents patterns d’usage de la solution, et explorer des pistes de modélisation statistique des comportements sur l’application.

Une pipeline d’ingestion et de nettoyage des données

Avant d’envisager toute analyse de données, il nous a fallu travailler pendant plusieurs semaines à l’organisation de ces dernières. Comme toute start-up, USE Together dispose de logs applicatifs assez détaillés, mais qu’il fallait au préalable nettoyer en profondeur et stocker au bon format afin d’en tirer les informations susceptibles d’être analysées.

Pour ce faire, nous avons opté pour la mise en place sur Google Cloud Platform (GCP) d’une pipeline entièrement serverless, c’est-à-dire composée de services cloud managés, et sans création de la moindre machine virtuelle. Notre objectif était ainsi de tirer parti des services proposés par GCP pour créer une infrastructure automatisée, robuste et scalable. Au final, c’est Cloud Dataflow, service de traitement des données (en stream ou en batch), qui s’occupe du nettoyage des données et de leur ingestion dans BigQuery, le service phare de Google pour le stockage serverless et l’analyse en SQL de gros volumes de données. Nous avons également fait usage des Cloud Functions pour connecter l’ensemble du système et déclencher les traitements lors de l’apparition de nouvelles données.

Au final, cette pipeline permet désormais à USE Together d’ingérer ses données quotidiennement et de façon entièrement automatisée. Cette infrastructure, achevée après plusieurs semaines de design et d’implémentation, a ensuite servi de base solide pour la mise en place de dashboards rafraîchis dès l’arrivée de nouvelles données.

Une analyse plus poussée des données utilisateurs

En 2019, USE Together a été mentionné par plusieurs articles en ligne comme l’une des meilleures applications de partage d’écran collaboratif. Dès lors, la start-up a souhaité encore mieux comprendre les usages des utilisateurs existants, ainsi que ceux des nouveaux arrivants suite à cette exposition médiatique. Nous avons donc entamé un travail d’analyse en profondeur des comportements sur l’application.

La première brique de cette analyse était la création d’un dashboard permettant à l’équipe USE Together de suivre quotidiennement les métriques clés de leur application. Ces métriques incluaient des statistiques sur la communauté (utilisateurs actifs, new vs. returning, types d’abonnement…) et sur les aspects plus techniques (nombre et durée des sessions, OS et navigateurs les plus fréquents…). Le service Data Studio a logiquement été choisi pour réaliser ce travail, pour sa connexion très facile avec BigQuery et sa simplicité d’utilisation.

La seconde brique, la plus innovante, était l’usage du machine learning pour créer plusieurs modèles statistiques et obtenir des insights sur les comportements des utilisateurs dans le futur. Dans le domaine des applications web et mobile, on a coutume de dire que l’acquisition d’un nouvel utilisateur est 5 à 6 fois plus coûteuse que de veiller à conserver les clients existants. C’est pourquoi notre effort principal a consisté à créer un modèle prédisant la probabilité de “churn” de chaque utilisateur, c’est-à-dire ses chances de ne plus utiliser l’application le mois prochain, alors qu’il/elle l’utilise aujourd’hui. Ce problème s’est avéré assez complexe à modéliser, mais nous avons par exemple découvert après un certain nombre d’expérimentations que le comportement des co-utilisateurs était parmi les meilleurs prédicteurs du churn : si vos amis/collègues se servent moins de l’application, alors vos propres chances de l’abandonner s’élèvent drastiquement.

Après le nettoyage de nombreuses variables, la création d’autres features, et l’expérimentation de plusieurs méthodes (régression logistique, random forests), nous avons finalement opté pour une solution de gradient boosting. Cette implémentation nous permet de prédire correctement le churn d’un utilisateur dans 92 % des cas. Ce premier modèle permet donc l’intervention “préventive” de l’équipe USE Together, par exemple en contactant les utilisateurs les plus susceptibles d’abandonner l’application, pour obtenir leur feedback, répondre à leurs questions, etc.

Une fois ce premier challenge atteint, nous avons ensuite travaillé à la création d’autres modèles davantage tournés vers la conversion des utilisateurs, c’est-à-dire le passage de la formule “basic” à la formule “premium” de l’application. Les résultats observés ont permis à la fois d’identifier les utilisateurs les plus proches d’effectuer cette conversion, mais également de lister les leviers les plus efficaces pour augmenter cette probabilité chez tous les utilisateurs.

Pour mettre en place cette “routine” de machine learning et l’automatiser, nous avons, là encore, fait plein usage des services serverless proposés par GCP. Cloud Scheduler est en charge de déclencher l’extraction des données d’entraînement et de test grâce à des jobs Dataflow. Ensuite, AI Platform sert à la fois pour l’entraînement des modèles et la génération de prédictions via des appels API. Enfin, des Cloud Functions viennent ici aussi assurer le déclenchement des différentes étapes grâce à des triggers. Ainsi, le dépôt de nouvelles données sur Google Cloud Storage (GCS) lance automatiquement un nouvel entraînement, puis le modèle généré est lui-même envoyé vers GCS et immédiatement déployé sur AI Platform.

En conclusion, ce travail au service de USE Together nous a permis de mettre en place un véritable système de “end-to-end machine learning”, c’est-à-dire l’architecture et les modèles nécessaires à l’ensemble du processus d’apprentissage, depuis la première ingestion de données jusqu’au déploiement du modèle final dans le cloud. La start-up dispose désormais d’un système robuste et durable de traitement de ses données, et de modèle de machine learning permettant d’éviter le churn et favorisant la souscription d’abonnements premium. Les équipes de USE Together peuvent ainsi entamer un travail plus orienté business et marketing, visant à tirer les meilleures enseignements des dashboards et modèles mis en place pour attirer davantage d’utilisateurs et conserver les abonnés.

De notre côté, ce projet a été riche en enseignements : il nous a permis de tester la gamme complète des services GCP orientés data, et en particulier de monter en compétences sur le déploiement de modèles via AI Platform — compétences que nous avons déjà eu l’occasion de mettre à profit pour le déploiement de multiples modèles de deep learning pour un autre client de Neoxia.

Si le concept proposé par l’application USE Together vous intéresse, que ce soit pour du pair programming, du télétravail collaboratif ou des réunions de travail à plusieurs mains, n’hésitez pas à la tester sur www.use-together.com !

Article écrit par Eman Al-Shaour et Florent Geslin

--

--