Download - AB Testing chez M6Web
![Page 1: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/1.jpg)
AB testing chez M6Web
« Tester c’est douter, mais le doute c’est le début de la sagesse »
Nastasia Saby@saby_nastasia
Fabien de Saint pern@fabdspM6Web & Zenika
Octobre 2017
![Page 2: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/2.jpg)
6play
![Page 3: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/3.jpg)
Existe depuis 2008
18 Millions de comptes utilisateurs
+90k videos publiés - 4 millions vidéos vues par jour
Disponible sur plus de 10 plateformes (Web, Apps, IPTV)
Offre gratuite (revenus publicitaires) - Offre payante récente
![Page 4: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/4.jpg)
AB testing kezako ?
![Page 5: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/5.jpg)
Une expérienceL’AB testing
Procédure utilisée en marketing et qui permet de mesurer l’impact d’un changement de version d’une variable sur l’atteinte d’un objectif (clic, validation, remplissage formulaire, …)
● AB test = 2 versions● ABC test = 3 versions● AAB test = 3 versions (2 ident.)
![Page 6: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/6.jpg)
Exemple d’AB testing avec la page d’inscription
25% de conversion
17% de conversion
X
X
![Page 7: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/7.jpg)
L’AB testing pour être «data driven»
Dorénavant, il ne suffit pas d’avoir une bonne idée, mais faut-il encore vérifier si elle est vraiment bonne.
Exemple de l’Infinite scrolling chez Etsy (2013)
![Page 8: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/8.jpg)
Choix de la populationinconnue ou connue ?
Stratégies d’échantillonnage● Aléatoire simple● Stratifié● En grappes
Toujours une notion d’aléatoire
![Page 9: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/9.jpg)
Utilisation de l’AB testingExemples de tests
![Page 10: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/10.jpg)
Utilisation de l’AB testing pour personnaliser● Test de différents algorithmes
de personnalisation
Exemples :
● Recommandation de programmes par rubrique
![Page 11: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/11.jpg)
Recommandation de programmes
![Page 12: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/12.jpg)
● Objectifs : programmes recommandés personnalisés par utilisateur
Recommandation de programmes en détail
Résultats : C le meilleur mais...
● Tests de différents algorithmes :○ A : Contribution manuelle quotidienne (version legacy)○ B : Selon les dernières consommations de la personne○ C & D : Selon les consommations de tous les utilisateurs (2
méthodes)
● Test AABCD○ AA : deux variantes identiques.○ Permet d’analyser la divergence des populations.○ Calcul du biais d'échantillonnage.
![Page 13: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/13.jpg)
Tests avec 5 variantes de 20 % (sur 80% total)
Activation du test
![Page 14: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/14.jpg)
Utilisation de l’AB testing pour sa communication● Campagne d'emailing● Notifications via les apps
Résultats inattendus
![Page 15: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/15.jpg)
AB testing sur des populations déterminées● Fan d’une émission, éléments
socio-démographiques...● Test complet sur une
population ou filtrage
Ex : Pression pub selon les segments
Résultats ?
![Page 16: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/16.jpg)
Utilisation de l’AB testingExemples de tests techniques
![Page 17: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/17.jpg)
Utilisation de l’AB testing pour faire du Canary testing● Nouveau player ● Lancement progressif d’un
nouvel adserver
![Page 18: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/18.jpg)
Utilisation de l’AB testing pour la performance● Tests de performance entre
deux versions● Taux d’abandon au
chargement● Scalabilité d’une architecture● Vidéos : rapport débit / qualité /
erreurs / temps de chargement
Prouver que votre idée est la meilleure par les chiffres
![Page 19: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/19.jpg)
Utilisation de l’AB testing pour de la « prod cachée »● Fonctionnalités disponibles
pour les équipes produits uniquement
● Lancement d’un service pour un groupe d’utilisateurs restreint
![Page 20: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/20.jpg)
Architecture 6playAvant l’AB Testing
![Page 21: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/21.jpg)
Front-end ● Web (ReactJs)● Application
natives/ReactNative iOs, Android
● Boxes FAI français : Free, Orange, Bytel, Sfr / Numéricable, CanalSat
![Page 22: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/22.jpg)
● API vidéos○ Métadonnées vidéos○ Cache Varnish
Back-end
● API utilisateurs○ Données utilisateurs○ Pas de cache Varnish
![Page 23: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/23.jpg)
L’Applaunch● Microservice de
configuration
● Toutes plateformes● Front-end● Back-end
![Page 24: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/24.jpg)
L’Applaunch pour les paramétrer tousFronts 6play
(Apps Mobiles, IPTV, Web …)
Cache A
PC
u
Fichiers Json statiques de configuration
des apps / services
Back-office de configuration “Applaunch”
Ecritures
Lectures
Micro-Services / API
Middleware
Images
Users
Workers
Advertising
...
![Page 25: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/25.jpg)
Applaunch : configuration par version
App version 1.0.0 App version 2.0.0
![Page 26: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/26.jpg)
Applaunch : utilisation
Utilisations :
● Feature flipping● Paramètres de fonctionnalités (Temps de rafraîchissement, timeout…)● Base URL de services● Valeurs diverses, messages aux utilisateurs...
![Page 27: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/27.jpg)
Architecture 6playAvec l’AB Testing
![Page 28: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/28.jpg)
Les variantes de l’Applaunch et les tests
L’AB Testing :
Une configuration personnalisée par utilisateur
![Page 29: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/29.jpg)
Applaunch et le système des variantesFichier json principal Fichier des variantes
{ Test_Theme_Variante_Sea:
color : blue, deco : fishes
Test_Theme_Variante_Earth: color : brown, deco : trees
}
Test_Theme_Variante_Sea
Test_Theme_Variante_Earth
Pas de variante
![Page 30: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/30.jpg)
Création des tests et des variantesMétadonnées sur l’AB test
Nom du test : Thème Description : DescriptionType de test : RealtimePourcentage de la population: 10%
Variante Pourcentage Clef
Variante Earth 50% color: bluedeco: fishes
Variante Sea 50% color: browndeco : tree
![Page 31: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/31.jpg)
Le Customizer
![Page 32: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/32.jpg)
Customizer : applaunch personnalisé
Fichiers Json principal
Services
Fichiers Json des variantes
Users
Middleware
Fronts 6play(Apps, IPTV, Web…)
Advertising
Customizer
2. Par utilisateur
1. Par application
...
API
AB Tests
![Page 33: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/33.jpg)
Customizer en détail
Request
Applaunch personnalisé ?
● User● App● Version
Apides tests
Applaunchfichiers Json des
variantes
API :● Tests actifs (APCu)● Variantes par utilisateur (Cassandra)● Config applaunch des variantes de
l’application (Redis)
Génération du cache APCU :● Toutes les 5 min ou sur cache vide● Précalcul tests & variantes actifs
5 ms de temps de réponse
![Page 34: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/34.jpg)
Typologie des tests
![Page 35: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/35.jpg)
Typologie des tests chez M6WebDeux types de répartition des utilisateurs :
● Realtime○ Répartition aléatoire : utilisation d’un crc32(id_users/ id test)○ Répartition homogène et déterministe○ Recalculable à l’analyse des résultats
● Batch○ Échantillonnage par segmentation○ Socio-démo / consommation - Ex : H/F, 15-25, Fan de Capital ... ○ Importés dans Cassandra (performance)
![Page 36: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/36.jpg)
Analyse des AB tests
![Page 37: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/37.jpg)
Une plateforme big data à la rescousse
HiveQL
Hive : requêtage
CLI
Dataviz
HDFS : stockage
Hadoop
Jupyter
![Page 38: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/38.jpg)
La construction d’un data lake
● Collecte et agrégation de données M6
● Batch spark
HDFS : stockage
Logs des AdServer
![Page 39: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/39.jpg)
Collecte et analyse de données avec des KPIS
KPIS● Nombre de vidéos vues
par utilisateur par jour● Nombre de secondes de
vidéos vues par utilisateur par jour
● Nombre de pubs consommés par utilisateur par jour
● Nombre de visites
KPIS par AB testPas de formule magique
![Page 40: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/40.jpg)
Les pièges● Effets de saisonnalité● Nouvelle
fonctionnalité peut avoir un fort impact
● Résultats parfois difficiles à voir à l’oeil nu
![Page 41: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/41.jpg)
Trouver la vérité au milieu du bruit
Fluctuation due au hasard des échantillons ou à la variation ?
Hypothèse d’homogénéité
A/A - Avant/Après
● Valeur P = Si plus de 5%, on ne peut imputer les fluctuations à l’introduction d’une variante
● Intervalle de confiance = Appui de la p-value
=> Avons-nous des résultats significatifs ?
![Page 42: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/42.jpg)
Comment connaître sa population ?
![Page 43: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/43.jpg)
Agrégation des données de différentes plateformes M6Web
Croisement des segments de population avec d’autres sources M6
![Page 44: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/44.jpg)
Quels types de données ?Données déclaratives
● Age - Sexe● Centres d’intérêts
Données déduites
Consommation vidéo :
● Quoi ?● Combien de fois ?● Combien de temps ?● Quand ? Où ?
Consommation sur les sites M6 :
● Pages vues ?● Combien de fois ?● Quand ? Où ?
![Page 45: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/45.jpg)
Définition de segments
Segments :
● Fan des Marseillais, séries américaines, …● Segments comportementaux : nocturnes, uniques, ...
![Page 46: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/46.jpg)
Le comportement prime
La supériorité des données comportementales par rapport aux données
déclaratives
![Page 47: AB Testing chez M6Web](https://reader035.vdocuments.mx/reader035/viewer/2022062311/5a6e14eb7f8b9a8b2b8b6263/html5/thumbnails/47.jpg)
Merci« Tester c’est douter, mais le doute c’est le début de la sagesse »