47
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 @fabdsp M6Web & Zenika Octobre 2017

AB Testing chez M6Web

Embed Size (px)

Citation preview

Page 1: AB Testing chez M6Web

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

6play

Page 3: AB Testing chez M6Web

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

AB testing kezako ?

Page 5: AB Testing chez M6Web

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

Exemple d’AB testing avec la page d’inscription

25% de conversion

17% de conversion

X

X

Page 7: AB Testing chez M6Web

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

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

Utilisation de l’AB testingExemples de tests

Page 10: AB Testing chez M6Web

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

Recommandation de programmes

Page 12: AB Testing chez M6Web

● 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

Tests avec 5 variantes de 20 % (sur 80% total)

Activation du test

Page 14: AB Testing chez M6Web

Utilisation de l’AB testing pour sa communication● Campagne d'emailing● Notifications via les apps

Résultats inattendus

Page 15: AB Testing chez M6Web

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

Utilisation de l’AB testingExemples de tests techniques

Page 17: AB Testing chez M6Web

Utilisation de l’AB testing pour faire du Canary testing● Nouveau player ● Lancement progressif d’un

nouvel adserver

Page 18: AB Testing chez M6Web

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

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

Architecture 6playAvant l’AB Testing

Page 21: AB Testing chez M6Web

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

● 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

L’Applaunch● Microservice de

configuration

● Toutes plateformes● Front-end● Back-end

Page 24: AB Testing chez M6Web

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

Applaunch : configuration par version

App version 1.0.0 App version 2.0.0

Page 26: AB Testing chez M6Web

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

Architecture 6playAvec l’AB Testing

Page 28: AB Testing chez M6Web

Les variantes de l’Applaunch et les tests

L’AB Testing :

Une configuration personnalisée par utilisateur

Page 29: AB Testing chez M6Web

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

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

Le Customizer

Page 32: AB Testing chez M6Web

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

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

Typologie des tests

Page 35: AB Testing chez M6Web

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

Analyse des AB tests

Page 37: AB Testing chez M6Web

Une plateforme big data à la rescousse

HiveQL

Hive : requêtage

CLI

Dataviz

HDFS : stockage

Hadoop

Jupyter

Page 38: AB Testing chez M6Web

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

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

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

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

Comment connaître sa population ?

Page 43: AB Testing chez M6Web

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

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

Définition de segments

Segments :

● Fan des Marseillais, séries américaines, …● Segments comportementaux : nocturnes, uniques, ...

Page 46: AB Testing chez M6Web

Le comportement prime

La supériorité des données comportementales par rapport aux données

déclaratives

Page 47: AB Testing chez M6Web

Merci« Tester c’est douter, mais le doute c’est le début de la sagesse »