Cdiscount, la data science au cœur du e-commerce

Publié le dans seminar-past

Compte-rendu de l'intervention de Cdiscount lors du séminaire du Mastère Spécialisé® Big Data du 16 mars 2017.

Romain Savidan, diplômé du Mastère Spécialisé® Big Data et Data Scientist chez Cdiscount, est venu de Bordeaux présenter lors du Meetup MS Big Data les activités du pôle data science de l'entreprise.

Le big data est en effet une réalité pour Cdiscount, numéro 2 du e-commerce en France : chaque jour, sa plateforme est visitée par plusieurs millions de personnes et autant de recherches pour plusieurs dizaines de millions de produits.

Romain a d'abord présenté la stack technologique mise en place chez Cdiscount. Le stockage des données se fait de façon distribuée sur un cluster Hadoop, les données sont ensuite requêtées par Hive pour alimenter la partie data processing. Les algorithmes de machine learning sont eux codés en Python et appliqués en mode batch de façon séparée.

Les équipes IT et data science réalisent deux tâches principales: le data engineering des données constitue la première, la mise en place de différents algorithmes pour améliorer le fonctionnement de la plateforme de e-commerce est le second chantier.

Pour la partie data engineering, l'enjeu est d'enrichir les données brutes (qui correspondent principalement à des logs de navigation) avec des données de contexte ou externes pour aboutir à des données exploitables qui permettent de répondre aux questions : quel type, par qui, comment, etc.

Côté algorithmes, les data scientists de Cdiscount travaillent pour mettre en place et maintenir différents types de modèles.

Le moteur de recherche

L’utilisation de la data science permet tout d’abord d’améliorer considérablement la pertinence des résultats du moteur de recherche du site. En effet, les méthodes basées sur l’analyse sémantique, comme la plateforme libre Solr, ne répondaient plus aux besoins de Cdiscount étant donnée la taille du catalogue. L’analyse des données de navigation permet désormais de proposer des catégories et des marques qui répondent mieux aux attentes des clients.

Le système de recommandation

Les algorithmes d’apprentissage statistique ont également permis de développer le système de recommandation à destination des clients. Celui-ci permet de proposer au visiteur des produits similaires ou complémentaires aux articles qu’il s’apprête à acheter. Ces modèles se basent sur l’approche réseau où les nœuds représentent des produits reliés par des arêtes qui symbolisent le nombre de fois où les deux produits ont été vus ou achetés au cours d’une même visite. Les recommandations sont alors réalisées en fonction de l’importance des liens entre les produits. Ces méthodes ont démontré leur efficacité lors de tests grandeur nature où leurs résultats étaient systématiquement meilleurs que les propositions des experts métiers ou que des approches purement sémantiques.

Les algorithmes de classification

Le dernier défi relevé par les data scientists de Cdiscount est l’assignation automatique des nouveaux produits à l’une des 8000 catégories du site à partir de leur description. La classification des produits constitue un enjeu clé pour Cdiscount. La possibilité pour un client de se tourner vers la concurrence s’il ne trouve pas rapidement le produit qu’il recherche représente une réelle menace pour un site de vente en ligne. La recherche d’un algorithme adapté à la classification des nombreux produits avait donné lieu à un concours de data science. Aujourd’hui la solution développée permet de suggérer plusieurs catégories lors de la mise en vente du produit. Elle laisse toutefois le choix final de la catégorie au vendeur. La plateforme envisage alors de poursuivre ses recherches en data science pour générer automatiquement des catégories guidées par la demande mais également pour d’autres problématiques comme la fraude pour les paiements étalés dans le temps ou la gestion des stocks pour des livraisons rapides.

Compte rendu rédigé par les étudiants du Mastère Spécialisé® Big Data : Maylis Cotadze et Antoine Nuttinck.