Expérimentation (préversion)
L'expérimentation est le processus qui consiste à tester systématiquement des hypothèses ou des changements afin d'améliorer l'expérience de l'utilisateur ou la fonctionnalité du logiciel. Cette définition est également vraie pour la plupart des domaines scientifiques, y compris la technologie, où toutes les expériences ont quatre étapes courantes :
- Développement d’une hypothèse pour documenter l’objectif de cette expérience,
- Planification d’une méthode pour effectuer l’expérience, y compris la configuration, ce qui est mesuré et comment,
- Observation des résultats mesurés par les métriques définies à l’étape précédente,
- Tirer une conclusion concernant la validation ou l’invalidation de l’hypothèse.
Regardez cette vidéo pour une démonstration rapide de l’expérimentation dans la configuration des applications, en mettant l’accent sur le cas d’utilisation de l’optimisation de l’expérience utilisateur pour stimuler vos métriques métier.
Expérimentation dans Azure App Configuration (préversion)
Dans Azure App Configuration, la fonctionnalité d’expérimentation permet aux développeurs de tester facilement différentes variantes d’une fonctionnalité et de surveiller l’impact au niveau de la fonctionnalité. Une fois configurés, les utilisateurs peuvent analyser de nouvelles fonctionnalités, comparer différentes variantes d’une fonctionnalité et évaluer rapidement les métriques pertinentes pour les nouvelles modifications de produit. Cette capacité permet aux équipes de développement de disposer d'informations mesurables, facilitant ainsi des déploiements de produits plus rapides et plus sûrs. Microsoft collabore avec Split Software pour fournir la fonctionnalité d’expérimentation dans Azure App Configuration. L’espace de travail Split Expérimentation (préversion) est une ressource Azure Native ISV pour l’intégration entre Microsoft et Split Software.
Flux de données de haut niveau pour l’expérimentation dans Azure.
Pour commencer une expérimentation, vous devez d’abord identifier la fonctionnalité et ses variantes sur lesquelles vous souhaitez expérimenter. Voici ensuite les métriques qui constituent la base de l’évaluation des fonctionnalités. Pour commencer votre première expérience dans Azure, suivez les étapes décrites dans ce didacticiel.
Concepts liés à l’expérimentation
Indicateurs de fonctionnalité de variantes : Représentent différentes versions ou configurations d'une fonctionnalité. Dans une expérience, les indicateurs de fonctionnalité de variante sont comparés en pertinence aux métriques qui vous intéressent et au trafic alloué pour l’audience de l’application.
Télémétrie: la télémétrie est les données des variations d’une fonctionnalité et des métriques associées pour évaluer la fonctionnalité. Pour la configuration dans Azure, les données d’évaluation/d’affectation des indicateurs de fonctionnalité sont transmises au fournisseur de données de télémétrie. Application Insights est le fournisseur de télémétrie pour la configuration de l’expérimentation. Les données des métriques définies sont également transmises à la même instance Application Insights.
Test A/B: test A/B, également appelé test fractionné, est une méthode standard pour évaluer l’impact des changements potentiels dans une pile technologique.
Taille d’échantillonnage: la taille d’échantillonnage correspond à la taille de l’échantillon d’utilisateurs sous expérience. Il s’agit du nombre d’événements envoyés pour toute variante de la fonctionnalité sur laquelle vous expérimentez.
Taille d’échantillonnage minimale: est le nombre minimal d’événements requis par variante de la fonctionnalité pour l’expérience afin de vous montrer des résultats statistiquement significatifs. Plus la taille de l'échantillon est importante, meilleure est la signification statistique des résultats de l'expérience.
Prenons l’exemple suivant : vous souhaitez voir si les clients de votre site web e-commerce sont plus susceptibles de cliquer sur le bouton d’achat s’il est jaune (variante A) ou bleu (variante B). Pour configurer cette comparaison, vous êtes susceptible de diviser le trafic entre les deux variantes de l’indicateur de fonctionnalité et d’utiliser le nombre de clics en tant que métrique pour mesurer leurs performances. Il est peu probable que toutes vos fonctionnalités soient aussi simples à mesurer et à évaluer immédiatement, et c’est là que l’expérimentation entre en jeu. La réalisation d'une expérience implique la mise en place d'un calendrier pour ce processus de comparaison des performances de chaque variante en fonction des paramètres qui vous intéressent. Les termes « Tests A/B » et « expérimentation » sont souvent utilisés de manière interchangeable, où l’expérimentation est essentiellement un test A/B étendu où vous testez systématiquement des hypothèses.
Configuration de votre expérience
Avant de commencer, tenez compte des questions suivantes dans votre étape de découverte d’hypothèses : à quelles questions essayez-vous de répondre en exécutant une expérience ? Sur quoi devez-vous exécuter une expérience ? Pourquoi ? Où commencez-vous ? Quelles sont les stratégies à suivre en fonction des besoins de votre entreprise ? Cette expérience vous aidera-t-elle à apporter des améliorations immédiates aux performances de votre application ou à votre entreprise ?
Identifiez ce que vous souhaitez réaliser en exécutant une expérience avant de publier une version complète, vous devez documenter votre plan à ce stade. Quelles sont les variantes de la caractéristique ou de la fonctionnalité que vous souhaitez expérimenter ? Quels sont les métriques qui vous intéressent ? Quels événements d'interaction avec l'utilisateur ou le système pourraient être utilisés pour capturer des données afin d'alimenter ces mesures ?
La qualité de votre expérience dépend des données que vous recueillez. Avant de commencer l'expérience, vous devez déterminer la variante que vous comptez utiliser comme contrôle (variante de base) et celle pour laquelle vous comptez observer des changements (variante de comparaison).
Tirer une conclusion de l’expérience
L'élaboration d'une conclusion (ou de plusieurs conclusions si nécessaire) est la dernière étape de votre cycle d'expérimentation. Vous pouvez vérifier les résultats de l'expérience, qui montrent le résultat et l'impact de la variante de comparaison par rapport à la variante de contrôle. Les résultats montrent également leur signification statistique. La mesure Statsig dépend des données de télémétrie et de la taille de l’échantillon.
Les résultats vous aident à conclure les apprentissages et les résultats en éléments exploitables que vous pouvez immédiatement mettre en œuvre dans la production. Toutefois, l’expérimentation est un processus continu. Commencez de nouvelles expériences pour améliorer continuellement votre produit.
Scénarios d’utilisation de l’expérimentation
Défense des versions
Objectif : garantir des transitions fluides et maintenir ou améliorer les métriques clés avec chaque version.
Approche : utilisez l’expérimentation pour déployer progressivement de nouvelles fonctionnalités, surveiller les métriques de performances et recueillir des commentaires pour obtenir des améliorations itératives.
Avantages :
- Réduit le risque de problèmes généralisés à l’aide de métriques de garde-fou pour détecter et résoudre les problèmes dès le lancement.
- Permet de maintenir ou d’améliorer les métriques de satisfaction des utilisateurs et des performances clés en prenant des décisions éclairées en fonction des données en temps réel.
Hypothèses de test
Objectif : valider les hypothèses pour prendre des décisions éclairées sur les fonctionnalités du produit, les comportements des utilisateurs ou les stratégies métier.
Approche : utilisez l’expérimentation pour tester des hypothèses spécifiques en créant différentes versions de fonctionnalités ou scénarios, puis analysez les interactions utilisateur et les métriques de performances pour déterminer les résultats.
Avantages :
- Fournit des insights fondés sur des preuves qui réduisent l’incertitude et guident la prise de décision stratégique.
- Permet une itération et une innovation plus rapides en confirmant ou réfutant des hypothèses avec des données utilisateur réelles.
- Améliore le développement de produits en mettant l’accent sur les idées qui sont éprouvées pour fonctionner, ce qui aboutit à des fonctionnalités plus performantes et alignées sur l’utilisateur.
Test A/B
Objectif : optimiser les métriques métier en comparant différentes variantes d’interface utilisateur et en déterminant la conception la plus efficace.
Approche : effectuez des tests A/B à l’aide d’expérimentations pour tester des éléments d’interface utilisateur, mesurer les interactions utilisateur et analyser les métriques de performances.
Avantages :
- Améliore l’expérience utilisateur en implémentant des modifications de l’interface utilisateur basées sur des preuves empiriques.
- Augmente les taux de conversion, les niveaux d’engagement et l’efficacité globale des produits ou services numériques.
Pour les applications intelligentes (par exemple, les fonctionnalités basées sur l’IA)
Objectif : accélérer l’adoption de l’IA générative (Gen AI) et optimiser les modèles d’IA et les cas d’usage par le biais d’expérimentations rapides.
Approche : utilisez l’expérimentation pour itérer rapidement sur des modèles IA, tester différents scénarios et déterminer des approches efficaces.
Avantages :
- Améliore l’agilité dans l’adaptation des solutions IA à l’évolution des besoins des utilisateurs et des tendances du marché.
- Facilite la compréhension des approches les plus efficaces pour la mise à l’échelle des initiatives IA.
- Améliore la précision et les performances des modèles IA en fonction des données et des commentaires réels.
Expériences de personnalisation et de ciblage
Objectif : fournir du contenu et des expériences personnalisés adaptés aux préférences et comportements de l’utilisateur.
Approche : tirez partie de l’expérimentation pour tester du contenu personnalisé, mesurer l’engagement et itérer sur les stratégies de personnalisation.
Avantages :
- Augmente l’engagement des utilisateurs, les taux de conversion et la fidélité des clients par le biais d’expériences pertinentes et personnalisées.
- Favorise la croissance des revenus et la rétention des clients en ciblant les audiences avec des messages et des offres personnalisés.
Expériences d’optimisation des performances
Objectif : améliorer les performances des applications et l’expérience utilisateur par le biais d’expériences d’optimisation des performances.
Approche : effectuez des expériences pour tester les améliorations des performances, mesurer les métriques clés et implémenter des optimisations réussies.
Avantages :
- Améliore la scalabilité, la fiabilité et la réactivité des applications grâce à des améliorations proactives des performances.
- Optimise l’utilisation des ressources et les coûts d’infrastructure en implémentant des optimisations efficaces.
Opérations d’expérience
Créer une expérience: l’expérience peut être créée sur un indicateur de fonctionnalité de variante qui émet des données de télémétrie. Une fois qu’une expérience est créée, une version d’expérience est également créée avec l’expérience. Toute modification supplémentaire de l’indicateur de fonctionnalité entraîne la création d’une nouvelle version d’expérience pour cette expérience.
Expérience Archive: l’archivage d’une expérience la place dans un état archivé. Pendant qu’une expérience est archivée, aucun calcul n’est effectué sur l’expérience. Vous pouvez toujours restaurer l’expérience ultérieurement pour reprendre les calculs et revenir à l’état actif.
Récupérer l’expérience: la récupération d’une expérience place une expérience archivée dans un état actif et les calculs sont repris pour l’expérience.
Supprimer l’expérience: la suppression d’une expérience supprime l’expérience dans Split et toutes ses données associées. Il s’agit d’une opération irréversible, il n’y a donc aucune restauration après la suppression.
Vérifier les résultats de l’expérience: la vérification des résultats d’une expérience active vous permet de voir comment chaque variante de l’expérience s’exécute.
Conditions d’accès pour les opérations d’expérience
Les sections suivantes détaillent les rôles requis pour effectuer des opérations liées à l’expérience avec Microsoft Entra ID.
Configurer l’expérimentation
Pour configurer l’expérimentation avec les ressources requises, notamment l’espace de travail d’expérimentation fractionné, le rôle Propriétaire de l’abonnement Azure ou la combinaison des rôles Contributeur d’abonnement et Administrateur d’accès utilisateur est nécessaire.
Créer ou mettre à jour une expérience
Pour créer, mettre à jour, archiver ou supprimer une expérience, vous avez besoin du rôle Propriétaire des données App Configuration dans le magasin App Configuration. Il nécessite également le rôle d’ExperimentationDataOwner dans l’application Entreprise qui gère l’accès aux données à l’espace de travail Split Expérimentation connecté.
Lire les résultats de l’expérience
Pour vérifier les expériences, leurs versions et leurs résultats, vous avez besoin du rôle Lecteur de données App Configuration dans le magasin App Configuration. Il nécessite également le rôle d’un ExperimentationDataReader ou d’un ExperimentationDataOwner dans l’application Entreprise qui gère l’accès aux données à l’espace de travail d’expérimentation Split connecté.
Considérations et limites de facturation
App Configuration ne facture pas spécifiquement les expériences. L’expérimentation est fournie via une intégration à l'espace de travail d’expérimentation Split (préversion). Consultez le plan tarifaire pour l’expérimentation Split pour Azure App Configuration.
La taille minimale requise pour l’expérimentation Split est de 30 par variante. Une expérience doit avoir la taille minimale de l’échantillon pour obtenir les résultats de l’expérience ou les résultats indiquent « Aucune donnée » dans le résultat.