Trouver une meilleure analyse mobile
Publié: 2022-03-10Lors de la création d'une application mobile, un développeur imagine un modèle et la manière dont les utilisateurs utiliseront l'application. L'un des problèmes auxquels les développeurs sont confrontés est que les utilisateurs n'utilisent pas toujours une application de la manière envisagée par le développeur.
Comment les utilisateurs interagissent-ils avec l'application ? Que font-ils dans l'application ? Font-ils ce que le développeur veut qu'ils fassent ? L'analyse mobile aide à répondre à ces questions. Les analyses permettent au développeur de comprendre ce qui se passe avec l'application dans la vie réelle et offrent la possibilité d'ajuster et d'améliorer l'application après avoir vu comment les utilisateurs l'utilisent réellement. Pour faire simple, l'analyse est l'étude du comportement des utilisateurs.
Lectures complémentaires sur SmashingMag :
- Prioriser les appareils : test et conception Web réactive
- La transition de Noah vers les tests d'utilisabilité mobile
- Où sont les meilleurs laboratoires d'appareils ouverts au monde ?
- Un guide pour des tests d'utilisateurs mobiles simples et indolores
Avec cet article, nous comparerons certains des systèmes d'analyse mobile les plus populaires. Le processus d'ajout d'analyses à une application implique la prise en compte de nombreux détails, et notre objectif est de vous fournir des conseils utiles sur la mise en œuvre des analyses. Ces informations devraient vous aider à trouver un système d'analyse mobile adapté à vos besoins et à l'implémenter correctement dans votre application.
L'analytique dans la vraie vie
Prenons comme exemple une petite application iOS que nous avons développée. Il s'appelle Ce que je mange, et il est destiné à suivre les habitudes alimentaires de l'utilisateur.
Les utilisateurs peuvent suivre leurs repas, consulter le journal des repas quotidiens et basculer entre les jours du calendrier pour consulter les journaux précédents. L'application a une bannière publicitaire, mais les utilisateurs peuvent payer pour la désactiver.
Lors de la conception de What I Eat, notre objectif principal était de permettre à l'utilisateur d'ajouter facilement de nouveaux enregistrements de repas et de revoir facilement son historique quotidien de repas. Nous souhaitions également monétiser l'application avec un achat in-app pour supprimer la publicité. Pour comprendre si nous avons réussi à le faire, nous suivons les événements suivants dans l'application :
- lorsque l'utilisateur lance l'application pour la première fois (installation de l'application),
- lorsque l'utilisateur ouvre la liste des repas quotidiens (écran principal de l'application),
- lorsque l'utilisateur ajoute une nouvelle fiche de repas,
- lorsque l'utilisateur effectue un achat intégré pour supprimer les publicités.
Plus loin dans cet article, nous montrerons comment nous utilisons les analyses pour déterminer si les utilisateurs ont commencé à utiliser l'application et quel pourcentage d'utilisateurs commencent à suivre les repas après avoir installé l'application.
Comparaison des services analytiques
Aujourd'hui, de nombreux services d'analyse sont sur le marché, allant des systèmes bien connus tels que Google Analytics aux outils de niche. Les analyser et les comparer prendrait une éternité ; donc, pour cet article, nous n'utiliserons que ceux que nous avons trouvés les plus pratiques. Autrement dit, nous avons choisi ceux dont l'interface de tableau de bord et la boîte à outils d'exploration de données sont relativement faciles à comprendre et à utiliser pour ceux qui n'ont pas beaucoup d'expérience avec l'analyse, comme nos clients. En tant que systèmes d'analyse orientés mobiles, ils sont également pratiques du point de vue du développement, car le code d'analyse peut être facilement implémenté et réglé dans une application mobile. Voici les systèmes :
- Flurry par Yahoo
- Réponses de Crashlytics
- Amplitude
- Panneau mixte
Pour analyser les performances de What I Eat, nous utilisons deux outils principaux fournis par presque tous les systèmes d'analyse : les événements et les entonnoirs. Les événements décrivent ce que les utilisateurs font dans l'application, tandis que les entonnoirs permettent une analyse qualitative de ces données. Examinons comment chacun des systèmes les implémente pour What I Eat.
Panneau mixte
Mixpanel vous permet de suivre des événements personnalisés. Le développeur peut ajouter des paramètres personnalisés aux événements et utiliser ces paramètres pour segmenter les entonnoirs de conversion.
Nous avons construit un entonnoir qui comprend deux événements : "Installer" (qui indique le lancement initial de l'application après l'installation) et "Ajouter un repas" (qui suit chaque fois que l'utilisateur ajoute un repas). Ceux-ci nous montrent quel pourcentage d'utilisateurs a non seulement téléchargé l'application, mais a également commencé à l'utiliser. La conversion est estimée à 65 %, ce qui signifie que sur 100 personnes qui ont installé l'application, jusqu'à 65 ont commencé à suivre les repas.
Parfois, un développeur a besoin que des événements apparaissent dans le tableau de bord d'analyse en temps réel ou avec un délai minimal après qu'ils se sont produits dans l'application. Par exemple, un développeur peut avoir lancé une campagne de marketing sur les réseaux sociaux et doit suivre en temps réel son impact sur son application. Mixpanel affiche les événements presque en temps réel. Les entonnoirs nouvellement créés sont calculés et visualisés presque instantanément.
Amplitude
Juste après que le développeur a ajouté le kit de développement logiciel (SDK) d'Amplitude à son projet, et sans autre configuration d'événements ou d'entonnoirs, le logiciel commence à suivre les données quotidiennes et mensuelles des utilisateurs actifs (DAU et MAU). Nous l'utilisons beaucoup dans What I Eat pour comprendre combien de personnes utilisent l'application chaque jour.
Comme Mixpanel, Amplitude fournit une boîte à outils puissante pour travailler avec des événements et des entonnoirs ; le développeur peut créer un entonnoir et le segmenter par paramètres. Contrairement à Mixpanel, Amplitude peut visualiser les segments directement dans un graphique en entonnoir, ce qui est pratique lorsque vous devez comprendre comment un paramètre affecte le taux de conversion. Le tableau ci-dessous montre comment la conversion de "Installer" à "Ajouter un repas" varie selon la langue de l'interface.
Comme vous pouvez le constater, l'interface russe affiche une meilleure conversion que l'anglaise (83 % contre 66 %). Ainsi, avec nos prochaines mises à jour d'applications, nous devrons peut-être examiner davantage notre public non russe.
Réponses de Crashlytics
Comme pour Amplitude, une fois que le SDK d'Answers est ajouté au projet d'application, il commence à suivre les données. Sans presque aucun effort de la part du développeur, Answers fournit une vue épurée de certains indicateurs de performance clés (KPI) de l'application mobile : MAU, DAU, nouveaux utilisateurs quotidiens et sessions.
Le développeur peut définir et suivre des KPI personnalisés en tant qu'événements, et Answers les visualisera de la même manière.
Answers fournit également des informations sur le degré d'activité de votre public et sur le temps que les gens passent dans l'application.
Les analyses d'Answers conservent les données des 30 derniers jours et n'ont pas d'entonnoirs. Ainsi, cela ne fonctionne que pour une analyse simple et à court terme des performances d'une application.
Flurry par Yahoo
Flurry n'est pas aussi pratique que Mixpanel ou Amplitude lorsque vous devez créer des entonnoirs et effectuer une analyse de cohorte.
Les utilisateurs de Flurry peuvent créer jusqu'à 10 segments et les appliquer à un entonnoir. L'ajout d'un nouveau segment à un entonnoir existant nécessite son recalcul, ce qui peut prendre environ une journée. Les utilisateurs ne peuvent pas créer plus de 10 segments à appliquer à leurs entonnoirs. Les calculs des entonnoirs nouvellement créés peuvent prendre jusqu'à trois jours.
Nous n'avons pas trouvé les événements et les entonnoirs de Flurry utiles pour What I Eat, et nous avons principalement utilisé Mixpanel et Amplitude.
Quoi d'autre est important ?
Bien que les événements et les entonnoirs soient des fonctionnalités clés, quelques autres éléments entrent en compte dans le choix du bon système d'analyse.
Données démographiques
Certains des services analytiques fournissent des informations sur l'audience de l'application, même si elles ne sont pas collectées dans l'application. Pour ce faire, ils obtiennent des données utilisateur à partir de sources autres que votre application mobile. Cela s'avère pratique lorsque vous devez identifier vos utilisateurs avancés mais que votre application ne collecte aucune donnée à leur sujet. Par exemple, dans l'application What I Eat, les utilisateurs n'ont pas à s'inscrire et il n'y a pas d'autre moyen de recevoir des données utilisateur, mais nous aimerions toujours savoir qui les utilise afin de cibler avec précision les nouveaux utilisateurs avec l'application. mises à jour.
Answers fournit des données sur votre public, telles que son sexe et ses centres d'intérêt. Vous vous demandez peut-être comment il fait cela? Eh bien, Answers est étroitement intégré à Twitter, et parce que Twitter sait à peu près tout sur tous ceux qui utilisent la plate-forme, ces données personnelles sont exploitées par Answers.
Flurry estime les données démographiques en se rapprochant des informations utilisateur qu'il reçoit des applications qui les ont partagées. La raison pour laquelle les développeurs partagent ces informations est qu'ils reçoivent un ensemble de données d'audience plus précis en fournissant des données d'analyse à Flurry. Flurry vous montre les intérêts, la tranche d'âge et le sexe de vos utilisateurs.
Avec l'aide de Flurry et Answers, nous pouvons voir que le public de What I Eat est principalement composé de femmes d'âge moyen intéressées par la santé et la forme physique.
Mixpanel et Amplitude ne fournissent aucune donnée démographique.
API externe pour l'importation et l'exportation de données
Les analyses permettent d'importer et d'exporter des données via des API externes. L'exportation permet l'analyse des données en dehors du tableau de bord d'analyse (c'est-à-dire à l'aide de logiciels d'exploration de données tiers tels que Windrush et DataHero). L'importation d'API vous permet de déployer des données sur des plates-formes d'analyse à partir de sources telles que des serveurs principaux et des systèmes de suivi d'attribution tels qu'AppsFlyer. Examinons quels services analytiques fournissent de telles fonctions :
- Amplitude fournit une API externe pour l'importation et l'exportation d'événements.
- Mixpanel a des API d'importation et d'exportation. Il prend en charge le langage de requête JavaScript pour permettre des requêtes d'exportation complexes.
- Answers n'a pas d'API externe. Vous pouvez télécharger des données d'événements sous forme de fichier CSV à partir du tableau de bord, mais il n'inclut aucun paramètre d'événement.
- Flurry n'a pas d'API d'importation. Vous ne pouvez exporter des données qu'à l'aide de son API d'exportation.
Prix
Les sociétés d'analyse mobile expérimentent la tarification et peuvent modifier leurs tarifs assez souvent. Les données suivantes datent de juillet 2016 :
- Flurry et Answers sont entièrement gratuits.
- Le forfait gratuit d'Amplitudes fournit 10 millions d'événements par mois. Si vous prévoyez de suivre plus que cela, cela vous coûtera 2 000 $ par mois. Bien que nous ayons utilisé Amplitude dans de nombreux projets, nous n'avons jamais eu à passer au niveau payant car les limites du plan gratuit sont également élevées.
- Mixpanel propose un niveau gratuit de 25 000 événements par mois. Un million d'événements coûte 300 $ par mois. Pour plus de 10 millions d'événements, vous devrez débourser 1 250 $ par mois.
Conseils de mise en œuvre d'Analytics
Maintenant que nous connaissons les principales différences entre chaque système d'analyse, plongeons dans les aspects pratiques de la mise en œuvre de l'analyse.
Fais tes devoirs
Si vous avez décidé que vous avez besoin d'analyses dans votre application, le codage n'est pas la première chose à laquelle vous devriez penser. Nous pensons qu'un bon développeur devrait commencer par les étapes suivantes :
- Notez ce que vous devez suivre. . Commencez par composer une liste de questions auxquelles vous souhaitez que l'analyse réponde. Sur la base de cette liste, présentez les événements et les paramètres que vous devez suivre pour répondre aux questions. N'incluez pas d'analyses dans l'application pour le plaisir.
- Reformulez-le en fonction de vos analyses. . Une fois votre liste d'événements complétée, formalisez-la en fonction de la plateforme d'analyse que vous avez sélectionnée. Par exemple, alors qu'Amplitude autorise les événements avec n'importe quel ensemble de paramètres, Google Analytics dispose d'un ensemble prédéfini de paramètres. Tenez compte de ces nuances lors de la mise en œuvre de l'analyse.
- Faites une petite démo. . Une bonne idée serait de créer une petite application de test, de suivre une douzaine d'événements avec son aide, puis de vérifier comment ces événements sont visualisés dans la plate-forme de votre choix et quels instruments d'exploration de données sont disponibles. Utilisez ces connaissances pour optimiser les fonctionnalités de la plate-forme sélectionnée lors de la mise en œuvre de l'analyse dans l'application en direct.
Pensez grand lors du codage
Concevez le code d'analyse pour le rendre indépendant du code du projet et du SDK d'analyse. Ainsi, placez le code d'analyse dans un sous-système ou une classe distincte et définissez des méthodes d'interface pouvant être appelées à partir du code d'application. Par exemple, lorsqu'un utilisateur appuie sur un bouton de menu, le code d'application appelle le code de classe d'analyse. Pour une application iOS écrite en Swift, cela ressemblerait à ceci :
/** Application code: menu tap handler */ @IBAction func menuButtonPressed(sender: UIButton) { //Showing menu, etc... AnalyticsManager.sharedInstance.userTapMenuButton() }
La classe d'analyse générale appelée par le code d'application collecte une liste de paramètres et envoie ces données à la classe d'analyse spécifique.
/** General analytics class: a bridge between the application code and the specific analytics class */ class AnalyticsManager { static let sharedInstance = AnalyticsManager() private var services: [AnalyticsService] private init() { services = [AmplitudeAnalyticsService()] } func userTapMenuButton() { let name = "MenuTap" let properties: [String: AnyObject] = [/* define your properties */] for service in services { service.trackEvent(withName: name, properties: properties) } } }
La classe d'analyse spécifique envoie des données au SDK d'analyse. Dans notre cas, il s'agit du SDK d'Amplitude.
/** Specific analytics class. */ class AmplitudeAnalyticsService: AnalyticsService { func trackEvent(withName name: String, properties: [String : AnyObject]?) { if let propertiesToTrack = properties { Amplitude.instance().logEvent(name, withEventProperties: propertiesToTrack) } else { Amplitude.instance().logEvent(name) } } }
Avec une telle structure, chaque fois que vous décidez de migrer vers une autre plate-forme d'analyse ou d'ajuster l'ensemble de paramètres à suivre, vous n'aurez qu'à modifier le code de classe d'analyse mais pas le code d'application.
Analysez toutes vos données
Collectez des données de toutes les sources de la plateforme d'analyse de votre choix. Envoyez des données non seulement depuis l'application mobile, mais également depuis le back-end, à l'aide d'une API externe. Si vous lancez une campagne publicitaire, utilisez un système de suivi des installations tel qu'AppsFlyer ou Adjust pour mesurer son efficacité et comprendre d'où viennent vos utilisateurs. Sélectionnez à l'avance le système de suivi des installations que vous utiliserez pour vous assurer qu'il fonctionne bien avec votre plateforme d'analyse.
Contrôler le nombre de SDK
Essayez d'utiliser les SDK des plates-formes d'analyse qui sont déjà dans l'application. Si vous suivez les plantages avec Crashlytics, vous pouvez utiliser les analyses d'Answers sans code supplémentaire, car Crashlytics et Answers sont inclus dans le SDK Fabric. Si votre application permet l'enregistrement auprès de Facebook, elle dispose déjà du SDK qui implémente l'analyse mobile de Facebook, vous pouvez donc aussi bien l'utiliser.
Essayez de combiner différents systèmes d'analyse, mais ne submergez pas le binaire de votre application avec trop de SDK.
Documentez-le
Enfin, parallèlement à la mise en place d'analyses pour votre application, travaillez sur sa documentation : notez quels événements et paramètres vous suivez et comment vous le faites. Pour cela, nous utilisons généralement un fichier Readme.md
qui est stocké dans le dossier principal du projet. Chaque événement est décrit par les données suivantes :
- nom de l'événement (par exemple, "Enregistrement de l'utilisateur");
- lorsqu'il est suivi (par exemple, "Après l'enregistrement réussi d'un nouvel utilisateur");
- paramètres (par exemple, "Email/String");
- contrôleur où le code de suivi est appelé (par exemple, "SignInController").
De tels détails sont faciles à oublier, mais ils deviennent critiques lorsque vous souhaitez modifier l'ensemble de données à suivre ou lorsque vous souhaitez migrer vers une autre plate-forme d'analyse.
Résumé
Aucun service d'analyse n'est parfait ; chacun a ses avantages et ses inconvénients. Lorsque vous en choisissez un, vous devez peser des facteurs tels que le type d'application, l'interface du tableau de bord d'analyse, votre budget, etc. Vous pouvez même utiliser des solutions de niche, telles que l'analyse des jeux qui a été créée pour analyser les expériences utilisateur non linéaires (par exemple, GameAnalytics) ou l'analyse orientée développeur (par exemple, Keen IO).
Nous avons trouvé une combinaison de réponses et d'amplitude pour fonctionner parfaitement avec What I Eat et pour fournir toutes les analyses nécessaires à l'application. Alors que Answers est gratuit et affiche des données démographiques et des KPI d'application, Amplitude permet une analyse de cohorte comportementale plus complexe. Nous suivons également les pannes d'application avec le SDK Fabric d'Answers.
Nous aimerions connaître la boîte à outils d'analyse que vous utilisez dans votre application mobile. S'il vous plaît partagez vos idées dans les commentaires.