Successfully reported this slideshow.
Your SlideShare is downloading. ×

AB Testing chez M6Web

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 47 Ad

AB Testing chez M6Web

Download to read offline

Par Nastasia Saby (@saby_nastasia) et Fabien de Saint pern (@fabdsp)

Retour d’expérience sur notre solution d’AB testing utilisée sur 6play pour expérimenter de nouvelles fonctionnalités, telles que la recommandation et la personnalisation à la maille utilisateur. Nous parlerons également de canary-testing pour l’optimisation et la mise en production. Nous montrerons la mise en place sur une architecture en micro-services déjà existante, utilisée dans un environnement multiplateforme (Web, Mobile, IPTV). Nous aborderons le monitoring et tracking des tests, ainsi que le suivi de cohorte. Nous parlerons Symfony 3, Apcu, Redis, Varnish… mais aussi Kafka, Cassandra, Elasticsearch, Hadoop.

Par Nastasia Saby (@saby_nastasia) et Fabien de Saint pern (@fabdsp)

Retour d’expérience sur notre solution d’AB testing utilisée sur 6play pour expérimenter de nouvelles fonctionnalités, telles que la recommandation et la personnalisation à la maille utilisateur. Nous parlerons également de canary-testing pour l’optimisation et la mise en production. Nous montrerons la mise en place sur une architecture en micro-services déjà existante, utilisée dans un environnement multiplateforme (Web, Mobile, IPTV). Nous aborderons le monitoring et tracking des tests, ainsi que le suivi de cohorte. Nous parlerons Symfony 3, Apcu, Redis, Varnish… mais aussi Kafka, Cassandra, Elasticsearch, Hadoop.

Advertisement
Advertisement

More Related Content

Similar to AB Testing chez M6Web (20)

Recently uploaded (20)

Advertisement

AB Testing chez M6Web

  1. 1. 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
  2. 2. 6play
  3. 3. 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
  4. 4. AB testing kezako ?
  5. 5. Une expérience L’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.)
  6. 6. Exemple d’AB testing avec la page d’inscription 25% de conversion 17% de conversion X X
  7. 7. 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)
  8. 8. Choix de la population inconnue ou connue ? Stratégies d’ échantillonnage ● Aléatoire simple ● Stratifié ● En grappes Toujours une notion d’aléatoire
  9. 9. Utilisation de l’AB testing Exemples de tests
  10. 10. Utilisation de l’AB testing pour personnaliser ● Test de différents algorithmes de personnalisation Exemples : ● Recommandation de programmes par rubrique
  11. 11. Recommandation de programmes
  12. 12. ● 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.
  13. 13. Tests avec 5 variantes de 20 % (sur 80% total) Activation du test
  14. 14. Utilisation de l’AB testing pour sa communication ● Campagne d'emailing ● Notifications via les apps Résultats inattendus
  15. 15. 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 ?
  16. 16. Utilisation de l’AB testing Exemples de tests techniques
  17. 17. Utilisation de l’AB testing pour faire du Canary testing ● Nouveau player ● Lancement progressif d’un nouvel adserver
  18. 18. 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
  19. 19. 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
  20. 20. Architecture 6play Avant l’AB Testing
  21. 21. Front-end ● Web (ReactJs) ● Application natives/ReactNative iOs, Android ● Boxes FAI français : Free, Orange, Bytel, Sfr / Numéricable, CanalSat
  22. 22. ● API vidéos ○ Métadonnées vidéos ○ Cache Varnish Back-end ● API utilisateurs ○ Données utilisateurs ○ Pas de cache Varnish
  23. 23. L’Applaunch ● Microservice de configuration ● Toutes plateformes ● Front-end ● Back-end
  24. 24. L’Applaunch pour les paramétrer tous Fronts 6play (Apps Mobiles, IPTV, Web …) CacheAPCu Fichiers Json statiques de configuration des apps / services Back-office de configuration “Applaunch” Ecritures Lectures Micro-Services / API Middleware Images Users Workers Advertising ...
  25. 25. Applaunch : configuration par version App version 1.0.0 App version 2.0.0
  26. 26. Applaunch : utilisation Utilisations : ● Feature flipping ● Paramètres de fonctionnalités (Temps de rafraîchissement, timeout…) ● Base URL de services ● Valeurs diverses, messages aux utilisateurs...
  27. 27. Architecture 6play Avec l’AB Testing
  28. 28. Les variantes de l’Applaunch et les tests L’AB Testing : Une configuration personnalisée par utilisateur
  29. 29. Applaunch et le système des variantes Fichier 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
  30. 30. Création des tests et des variantes Métadonnées sur l’AB test Nom du test : Thème Description : Description Type de test : Realtime Pourcentage de la population: 10% Variante Pourcentage Clef Variante Earth 50% color: blue deco: fishes Variante Sea 50% color: brown deco : tree
  31. 31. Le Customizer
  32. 32. 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
  33. 33. Customizer en détail Request Applaunch personnalisé ? ● User ● App ● Version Api des tests Applaunch fichiers 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
  34. 34. Typologie des tests
  35. 35. Typologie des tests chez M6Web Deux 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)
  36. 36. Analyse des AB tests
  37. 37. Une plateforme big data à la rescousse HiveQL Hive : requêtage CLI Dataviz HDFS : stockage Hadoop Jupyter
  38. 38. La construction d’un data lake ● Collecte et agrégation de données M6 ● Batch spark HDFS : stockage Logs des AdServer
  39. 39. 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 test Pas de formule magique
  40. 40. Les pièges ● Effets de saisonnalité ● Nouvelle fonctionnalité peut avoir un fort impact ● Résultats parfois difficiles à voir à l’oeil nu
  41. 41. 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 ?
  42. 42. Comment connaître sa population ?
  43. 43. Agrégation des données de différentes plateformes M6Web Croisement des segments de population avec d’autres sources M6
  44. 44. 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ù ?
  45. 45. Définition de segments Segments : ● Fan des Marseillais, séries américaines, … ● Segments comportementaux : nocturnes, uniques, ...
  46. 46. Le comportement prime La supériorité des données comportementales par rapport aux données déclaratives
  47. 47. Merci « Tester c’est douter, mais le doute c’est le début de la sagesse »

×