Comment se lancer dans le Mobile App Testing avec Booking.com
D’après un sondage sur LinkedIn, 62% des membres de la communauté de Jorden Lentze, Senior Product Manager chez Booking.com, affirment déjà pratiquer l’expérimentation sur mobile. Ce n’est pas encore votre cas ? Vous souhaitez vous lancer ? Nous avons invité Jorden à vous présenter la stratégie Mobile App Testing de Booking.com et détailler les grandes étapes pour se lancer dans la Mobile App Experimentation.
Booking.com, précurseur du Mobile App Testing
Avec 100 millions d'utilisateurs actifs et 1,5 million de conversions par jour, les applications mobiles de Booking.com représentent aujourd’hui presque 40% de l’ensemble des tests lancés par la marque sur ses plateformes digitales et génèrent 50% des conversions totales. Ces chiffres permettent à l’entreprise de disposer d’échantillons de grande taille afin de réaliser de nombreux tests et de se structurer dans des équipes toujours plus spécialisées sur les différents parcours et éléments de l’application.
Toutes les interfaces digitales de Booking n'ont pas la même envergure. Les débuts de Jorden n’étaient pas aussi impressionnants. Il a commencé modestement, en travaillant côté hôtellerie avec entre 1500 et 2000 visiteurs par jour. La première expérimentation sur mobile a été lancée en 2011, puis on constate une vraie montée en puissance dans la stratégie d’expérimentation de Booking en 2018, peu après l’arrivée de Jorden.
Actuellement, 60 équipes travaillent ensemble sur les différentes facettes des deux applications de la marque. Grâce à ses campagnes d'optimisation et aux gains de trafic régulier, les équipes ont pu diviser le parcours client en zones bien définies pour affiner l’optimisation de l’expérience utilisateur grâce à des expertises de plus en plus précises. La stratégie de Booking.com s’organise autour de 2 cycles de release par semaine.
Pourquoi Booking.com a-t-elle misée sur l’expérimentation mobile ?
Jorden explique que la montée en puissance sur l’expérimentation mobile est avant tout guidée par le comportement des utilisateurs de Booking.com :
“Plus de 50 % de nos nuitées proviennent de nos applications mobiles. C'est la première raison qui nous conduit à lancer autant de tests sur app. Parce que c'est là que se trouvent nos clients.” Jorden Lentze, Senior Product Manager chez Booking.com
L’expérimentation permet également de limiter les risques d’altérer l’expérience des clients lors des releases. Les fonctionnalités sont testées et optimisées pour éviter les bugs avant d’être proposées au plus grand nombre et les releases plus sécurisées.
Jorden insiste également sur le rôle essentiel de l'expérimentation pour valider la pertinence des améliorations du parcours visiteur.
Quels types de tests lancer sur mobile ?
Mesurer l’impact d’une modification, même minime
L’expérimentation est un cercle vertueux : plus vous lancez de tests, plus vous comprenez votre Produit et vous apprenez comment nos clients se comportent, plus vous augmentez votre trafic, plus vous pourrez lancer de tests.
Vous pouvez ainsi observer de plus en plus précisément l’impact de modifications de plus en plus petites. Le moindre changement, même imperceptible, peut avoir un impact étonnant sur l’expérience utilisateur.
Par exemple, Jorden et ses équipes ont observé un impact négatif surprenant sur leurs indicatifs business suite à l’ajout d’une petite icône, suite à des recommandations du design, représentant 2 adultes à côté d’une phrase explicitant qu’il s’agissait du “Prix pour 2 adultes”.
Comment une entreprise dont le trafic mensuel représente 10 % de celui de Booking peut-elle tester des détails de la page, comme les icônes, sans attendre des mois pour obtenir des résultats ?
Si vous souhaitez lancer le même type de tests, plusieurs options possibles :
- Augmenter la durée d'exécution et diminuer le MDE (Minimum Detectable Effect)
- Faire un simple test utilisateur
- Ne pas effectuer le changement si vous ne pouvez pas en mesurer l'impact
- Augmenter la taille du changement : ne pas changer une icône, mais toutes les icônes. Utiliser un algorithme statistique permettant de travailler sur un échantillon réduit, comme CUPED.
Jorden Lentze : “Un faible trafic réduit l'ampleur des effets que vous pouvez mesurer. Si vous ne disposez pas d'un trafic suffisant, concentrez-vous sur des changements plus importants. L’exemple montré plus haut montre que même de petits changements peuvent impacter l’expérience de vos utilisateurs et vos objectifs business. L’idée est de vous inviter à rester attentif à chaque modification mise en place, mais vous avez très certainement déjà suffisamment de choses à améliorer, sans avoir besoin d’aller aussi loin dans le détail. Si le problème est lié au trafic et non aux ressources, vous pouvez aussi lancer plusieurs tests en simultané, mais il s’agit d’une pratique plutôt avancée.”
Vérifier la pertinence de chaque élément de votre app
Chaque élément de votre page, de votre écran doit servir vos objectifs. Jorden a par exemple challengé avec ses équipes un carrousel d'offres dont il veut s’assurer de la valeur avant d'investir dans son amélioration.
Itérer pour offrir des fonctionnalités mieux calibrées
L’un des intérêts principaux du Mobile App Testing est la capacité à développer progressivement de nouvelles fonctionnalités pour un lancement plus sûr et vraiment générateur de valeur. Jorden et son équipe ont récemment lancé une fonctionnalité de personnalisation des chambres, permettant à l’utilisateur de choisir le type de lit qu’il préfère.
Gérer les différents systèmes d'exploitation
Une des spécificités de l’expérimentation sur mobile est la gestion des deux systèmes d’exploitation principaux : Android et iOS. Ici, Jorden et ses équipes challengent la pertinence du dark mode sur Android. Cette fonctionnalité est indispensable sur iOS, car c’est un paramètre d’apparence à l'échelle du système. Sous Android, il peut être défini au niveau de l'application.
Y-a-t-il des différences entre iOS et Android dans les résultats des A/B tests ?
Jorden Lentze : “Oui, les différences sont généralement nombreuses. Pour équilibrer les choses, il faut commencer par identifier si elles viennent d’un problème de mise en œuvre, d’un bug, de différences de design inhérentes à Android ou iOS ou à des différences intrinsèques au comportement des utilisateurs. Ils ne sont pas forcément le même persona. Plusieurs études montrent, par exemple, que les utilisateurs d’Apple ont un taux de conversion plus élevé que ceux d’Android.”
Si vous constatez des résultats positifs significatifs sur iOS et aucune différence sur Android, déployez-vous sur Android pour maintenir la parité dans les expériences ou continuez-vous à itérer sur Android ?
Lorsqu’on constate des différences entre les plateformes, il peut s’agir d’un problème d'implémentation. En fonction des implémentations, vous ne verrez pas le même effet. Cela peut aussi être dû à des différences de design, qui sont plutôt fortes entre IOS et Android.
Jorden répond : “En ce qui concerne la parité, à moins qu'il ne s'agisse du prix, de l’image de marque ou d'une fonctionnalité clé, pour moi, ce n'est pas l'objectif. Nous avons, par exemple, abandonné des filtres sur Android qui fonctionnaient très bien sur iOS, mais pas sur Android. Il faut toujours vous assurer que vous ajoutez réellement de la valeur. Si cela ajoutait uniquement de la valeur sur iOS, je le déploierais uniquement sur iOS et non sur Android. La plupart des personnes ne basculent pas entre iOS et Android et le peu qui le font utilisent probablement le même compte sur différents téléphones.”
Quelles différences entre l'expérimentation Web et la Mobile App Experimentation ?
Il existe, bien sûr, des différences dans la manière dont une organisation aborde ces deux types d’expérimentation. L’environnement technologique des sites Web et des applications mobiles peut être très différent, ce qui engendre généralement plus de contraintes pour expérimenter sur application mobile.
Faut-il adopter une stratégie pour chaque type de device ?
La correction d’une fonctionnalité buggée est plus difficile sur une application mobile, car elle nécessite la soumission d’une nouvelle version de l’app à l’Apple Store ou au Google Play, d’attendre son approbation, puis de compter sur les utilisateurs pour télécharger la nouvelle version, ce qui pourrait ne pas arriver avant plusieurs jours. Au contraire, sur un site web, un correctif publié est immédiatement accessible à tous les utilisateurs.
Pour limiter l’impact de ce problème, certains experts proposent de séparer complètement les deux types d’expérimentation sur deux plateformes différentes. Pour Fred de Todaro, il n’existe pas de réponse unique à cette question. La décision dépend de nombreux facteurs, tels que le parcours client, les principaux objectifs de la stratégie d’expérimentation, et bien sûr, la manière dont vos équipes sont organisées. Il ne faut pas risquer de complexifier le parcours de l’utilisateur avec des messages ou des offres incohérents entre le web et le mobile, et la plupart de vos tests doivent donc être conçus pour être cross-devices.
La clé est de reconnaître les aspects uniques de chaque plateforme, car il y aura certaines spécificités. Il existera forcément des différences dans le comportement des utilisateurs entre le Web et le mobile, mais aussi entre IOS et Android.
Est-il aussi facile de mettre en place un test sur mobile que sur desktop ?
La mise en œuvre des tests est nécessairement moins flexible sur les applications mobiles que sur un site internet.
Sur une application Web, vous pouvez exécuter vous-même des tests en utilisant des technologies client-side, comme un éditeur graphique et créer facilement des layouts, des popups, des bannières, sans solliciter de développeur.
Ces outils très flexibles n’existent pas sur application mobile. Vous devez généralement procéder à du feature flagging, puis à de la Feature Experimentation, et vous devez pousser votre code avec le cycle de release de votre application. La gestion des bugs est plus complexe et mobilise davantage de ressources. Vous aurez besoin de développeurs IOS et Android dédiés et vous devez disposer de deux plateformes pour publier.
La vue unifiée de l’utilisateur : un avantage du Mobile App Testing
Sur mobile, vous aurez nécessairement accès à une vue unifiée du parcours de l’utilisateur. Grâce au mobile ID, pas de cookies, vous pouvez suivre toutes les interactions et comportements des utilisateurs à partir des différents touchpoints pour les compiler en une seule donnée cohérente. Le trafic étant généralement assez élevé sur application mobile, vos données sont plus fiables et vous aurez ainsi une meilleure connaissance des préférences et des patterns de vos utilisateurs mobile.
Différents environnements technologiques : trouver le bon équilibre
Nous le mentionnions plus haut, si vous pouvez publier des tests à tout moment dans un environnement Web, vous devez suivre des séquences de publication strictes sur mobile. Les tests doivent être poussés dans les mises à jour de votre application et il faut apporter une attention particulière à la qualité des tests qui doivent être sans bug, car aucune action immédiate ne sera possible pour les résoudre. Cela nécessite une planification, une organisation et une structuration des tests minutieuses.
La performance est clé
Plus encore que sur desktop, les performances sont essentielles sur une application mobile. Les utilisateurs peuvent se trouver dans des zones difficiles où les connexions Internet sont mauvaises. Vous devez donc en tenir compte et vous adapter.
L’équipe de Jorden a donc entrepris de mesurer la vitesse minimale possible pour chaque page, c'est-à -dire la vitesse la plus basse pour laquelle les conversions ne sont pas impactées. La vitesse de l’application a été ralentie de 500 millisecondes et l’impact sur les KPI et les comportements clients a été mesuré.
Par où commencer l'expérimentation sur application mobile ?
Se lancer dans la Mobile App Experimentation demande de maîtriser trois principes fondamentaux du Testing Server-Side et de la Feature Experimentation. Les voici par ordre de maturité :
Débuter par l’utilisation de feature flags
Si le premier objectif de l’A/B testing est de tester de nouvelles idées auprès des utilisateurs, l'expérimentation sert également à un deuxième objectif, tout aussi important : gérer la manière dont les modifications, les mises à jour et les nouvelles fonctionnalités sont proposées aux utilisateurs. Il est essentiel pour vous de comprendre la valeur de vos fonctionnalités et son impact sur les utilisateurs ciblés.
Commencez simplement en mettant en place des feature flags. Cela vous permet de limiter tout impact sur la production. Si votre fonctionnalité ne répond pas à vos attentes, vous pouvez simplement la supprimer instantanément.
Procéder à un déploiement progressif
Ensuite, progressez naturellement vers l'utilisation du déploiement progressif. Lors de vos déploiements, ciblez un groupe d'utilisateurs auquel vous présenterez la fonctionnalité avec votre release. Vous pourrez la déployer progressivement en procédant par itération tout en mesurant à la fois l'impact sur vos indicateurs clés et vos performances avant de la rendre accessible à l’ensemble des utilisateurs.
Cette approche vous permettra également de prouver la valeur de cette pratique à vos managers, et, à partir de ce moment, vous pourrez commencer à introduire vos premières expériences produit.
Prioriser
Évidemment, toutes les idées ou hypothèses n'ont pas besoin d'être testées. Testez surtout dans les cas où vous n’avez aucune data et aucune preuve que votre fonctionnalité aura un impact positif.
Les tests AB visent à fournir la preuve qu'une nouvelle idée est une bonne idée. Vous avez donc besoin d'un bon équilibre entre toutes ces stratégies : feature flagging, déploiements progressifs puis Feature Experimentation et vous ferez de belles choses dans votre application mobile.
Quel est le minimum de vues par semaine ou par mois pour pouvoir lancer un AB test sur application ?
Jorden Lentze : “En réalité, le volume de trafic n’est pas la seule donnée sur laquelle porter votre attention. Vous devez également examiner le volume des conversions que vous obtenez grâce à vos objectifs ou métriques. Cela dépend de ces 2 indicateurs. La bonne nouvelle est que vous avez généralement un engagement plus élevé sur les applications mobiles, ce qui signifie que vous aurez un taux de conversion plus élevé et que vous aurez besoin de moins de trafic que habituellement sur un site Web. Vous pouvez calculer la taille d’échantillon nécessaire en utilisant ce type d’outil : https://cxl.com/ab-test-calculator//”
Comment sélectionnez-vous vos idées d'AB tests ?
Jorden Lentze : “Nous utilisons des frameworks de priorisation binomiale pour déterminer les problèmes sur lesquels nous devons travailler en premier lieu, puis pour hiérarchiser les idées sur lesquelles nous allons travailler. Chez Booking.com, nous avons beaucoup d'idées pour résoudre les problèmes ou améliorer le comportement des clients. Le problème est donc plutôt de comprendre sur quoi travailler en premier, c’est-à-dire quelles idées pourraient avoir le plus grand impact.
Le mieux est de rester simple. Testez les fonctionnalités/améliorations que vous souhaitez lancer lorsque vous n'avez aucune preuve qu'elle aura un résultat positif.”
Mobile App Experimentation : Quelle solution choisir ?
Voici quelques fonctionnalités indispensables pour vous lancer dans l’expérimentation mobile:
Une architecture real-time streaming
Indispensable pour des mises à jour instantanées. Vous devriez pouvoir désactiver une fonctionnalité instantanément, mais aussi accéder à des rapports précis, mis à jour en temps réel, pour que vous puissiez consulter les données instantanément, en particulier lorsque vous effectuez un déploiement progressif.
La solution doit également s'intégrer à votre écosystème d'outils. Vous devez disposer d'une data warehouse pour gérer les flux de données. Portez une attention particulière aux intégrations de votre solution.
Un bucketing cohérent de vos utilisateurs
Il est essentiel de garantir à vos utilisateurs une expérience uniforme sur toutes leurs sessions et tous leurs appareils. La plateforme doit pouvoir montrer la même variante à cet utilisateur, quels que soient les appareils qu'il utilisera.
Une plateforme puissante, collaborative et intuitive
Si vous souhaitez que vos équipes Produit puissent mener des expériences, il faut que la plateforme soit intuitive et flexible. Certaines solutions rationaliseront mieux que d’autres la mise en œuvre des expériences sans aucun développement supplémentaire requis de la part de votre équipe. Plutôt que demander à vos développeurs de coder votre test, ils peuvent simplement coder la fonctionnalité comme avant, puis vous devriez pouvoir créer des variantes de cette fonctionnalité dans votre plateforme d’expérimentation sans aucun développement supplémentaire.
La gestion hors ligne
Vous devez toujours pouvoir montrer la variante aux utilisateurs de l'application et continuer à collecter des données, même lorsque les utilisateurs ne sont pas connectés. C’est indispensable pour la cohérence de leur expérience utilisateur.