Upload
fabien-de-saint-pern
View
754
Download
3
Embed Size (px)
Citation preview
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
6play
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
AB testing kezako ?
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.)
Exemple d’AB testing avec la page d’inscription
25% de conversion
17% de conversion
X
X
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)
Choix de la populationinconnue ou connue ?
Stratégies d’échantillonnage● Aléatoire simple● Stratifié● En grappes
Toujours une notion d’aléatoire
Utilisation de l’AB testingExemples de tests
Utilisation de l’AB testing pour personnaliser● Test de différents algorithmes
de personnalisation
Exemples :
● Recommandation de programmes par rubrique
Recommandation de programmes
● 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.
Tests avec 5 variantes de 20 % (sur 80% total)
Activation du test
Utilisation de l’AB testing pour sa communication● Campagne d'emailing● Notifications via les apps
Résultats inattendus
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 ?
Utilisation de l’AB testingExemples de tests techniques
Utilisation de l’AB testing pour faire du Canary testing● Nouveau player ● Lancement progressif d’un
nouvel adserver
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
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
Architecture 6playAvant l’AB Testing
Front-end ● Web (ReactJs)● Application
natives/ReactNative iOs, Android
● Boxes FAI français : Free, Orange, Bytel, Sfr / Numéricable, CanalSat
● API vidéos○ Métadonnées vidéos○ Cache Varnish
Back-end
● API utilisateurs○ Données utilisateurs○ Pas de cache Varnish
L’Applaunch● Microservice de
configuration
● Toutes plateformes● Front-end● Back-end
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
...
Applaunch : configuration par version
App version 1.0.0 App version 2.0.0
Applaunch : utilisation
Utilisations :
● Feature flipping● Paramètres de fonctionnalités (Temps de rafraîchissement, timeout…)● Base URL de services● Valeurs diverses, messages aux utilisateurs...
Architecture 6playAvec l’AB Testing
Les variantes de l’Applaunch et les tests
L’AB Testing :
Une configuration personnalisée par utilisateur
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
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
Le Customizer
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
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
Typologie des tests
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)
Analyse des AB tests
Une plateforme big data à la rescousse
HiveQL
Hive : requêtage
CLI
Dataviz
HDFS : stockage
Hadoop
Jupyter
La construction d’un data lake
● Collecte et agrégation de données M6
● Batch spark
HDFS : stockage
Logs des AdServer
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
Les pièges● Effets de saisonnalité● Nouvelle
fonctionnalité peut avoir un fort impact
● Résultats parfois difficiles à voir à l’oeil nu
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 ?
Comment connaître sa population ?
Agrégation des données de différentes plateformes M6Web
Croisement des segments de population avec d’autres sources M6
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ù ?
Définition de segments
Segments :
● Fan des Marseillais, séries américaines, …● Segments comportementaux : nocturnes, uniques, ...
Le comportement prime
La supériorité des données comportementales par rapport aux données
déclaratives
Merci« Tester c’est douter, mais le doute c’est le début de la sagesse »