,

Booster ses ventes avec Apache Mahout (1/2)

MahoutDevant l’étendue des possibilités qu’offre Apache Mahout et de ses divers packages, j’ai choisi de me concentrer sur les applications possibles dans le domaine du e-commerce en complément de solutions comme Magento ou hybris.

Dans une première partie, nous aborderons plus spécifiquement les recommandations pour conclure, dans une seconde partie, sur les usages détournés de Apache Mahout en corrélation avec les réseaux sociaux comme Twitter ou Facebook.

Apache Mahout : machine learning

Apache Mahout est une librairie Java regroupant un ensemble d’algorithmes mathématiques à usage général. Toutes les implémentations ont été faites afin d’être aisément scalables sur Apache Hadoop, la plupart des algorithmes étant applicables à Map-Reduce.

Les algorithmes intégrés permettant de traiter des problématiques de clustering, de classification et d’apprentissage automatique dont les utilisations peuvent être aussi diverses que les études probabilistes, l’analyse de comportements, le recoupement d’informations, ou juste les suggestions d’articles similaires sur LeMonde.fr (ça serait un peu “overkill” vous me direz).

Mahout contient également un certain nombre d’utilitaires pour s’adapter à divers format de données et plateformes de stockages, et peut même exploiter directement Apache Lucene pour l’analyse textuelle.

Mahout Taste et les algorithmes de recommandation

Ce qui nous intéresse tout particulièrement dans Mahout, c’est le package Taste, qui permet de faire de la recommandation. De la recommandation de quoi ? Eh bien de ce qu’on veut, tant que c’est identifié par une valeur numérique.

Mahout Taste traite basiquement deux types d’entités : les utilisateurs et les objets (mais ce n’est qu’une terminologie puisque ce ne sont que des identifiants). Il consomme en fait un ensemble de préférences utilisateur->objet.

Ces préférences peuvent être numériques :

  • l’utilisateur #1 a attribué la note 5 à l’objet #42
  • l’utilisateur #2 a attribué la note 3 à l’objet #1337

Mais elles peuvent aussi être booléennes :

  • l’utilisateur #3 aime l’objet #22
  • l’utilisateur #4 aime l’objet #23

Toutes ces préférences sont regroupées dans ce qu’on appelle un DataModel, qui est utilisé pour calculer divers jeux de données :

  • ItemSimilarity tableau indiquant la similarité (entre -1.0 et 1.0) entre chaque objet et tous les autres,
  • UserSimilarity même chose pour les utilisateurs,
  • UserNeighborhood groupe d’utilisateurs similaires entre eux.

Pour calculer ces similarités et voisinages, Mahout Taste utilise les autres algorithmes de la librairie (c’est bien de la classification et du clustering que l’on fait ici !).

Enfin la dernière “couche” du package Taste sont les Recommender. Un Recommender est un objet qui est capable, à partir d’un identifiant d’utilisateur connu, de recommander plusieurs objets en prenant en compte sa similarité avec les autres utilisateurs, et la similarité des objets qu’il a déjà préférés avec d’autres objets.

Un petit diagramme issu de la documentation officielle pour résumer tout ça ?

Diagramme Apache Mahout

L’utilisation de ces objets est relativement simple, voici un exemple pour des recommandations basées sur la similarité entre utilisateurs :

Recommandations Apache Mahout

 

Une utilisation commerciale dans nos solutions B2B & B2C

En lisant cette courte description de l’algorithme de recommandation de Mahout vous avez sûrement pensé à ce que font Amazon ou autre Fnac sur leur sites web : promouvoir des produits qui pourraient intéresser l’utilisateur pour espérer augmenter le volume de ventes (et je peux dire, en tant qu’acheteur, que ça marche pas mal !).

Nous espérons donc utiliser Mahout Taste pour créer un module de recommandation personnalisée qui serait intégré à nos solutions Magento et hybris (principalement).

L’utilisation qui vient immédiatement à l’esprit est bien sûr la recommandation de produits similaires sur une page produit. Ce type de recommandation peut être fait uniquement à partir des métadonnées des produits (même catégorie, même marque, même modèle, etc), mais la puissance de Mahout Taste permet d’apporter une dimension “humaine” à ces recommandations. C’est-à-dire prendre en compte les habitudes des utilisateurs pour pousser des produits plus pertinents et donc plus susceptibles d’être achetés.

D’autres cas tout aussi utiles peuvent être imaginés :

  • proposer sur la page d’accueil des produits similaires aux anciens achats et anciennes visites de l’utilisateur,
  • proposer sur les pages panier et confirmation de commande des produits souvent achetés avec ceux qui s’y trouvent,
  • capitaliser sur les pages d’erreurs (404, recherche infructueuse),
  • intégrer du contenu pertinent dans les newsletters personnalisées.

 

Aller plus loin

Dans un prochain article nous verrons comment il est possible d’étendre les fonctionnalités d’Apache Mahout Taste pour répondre aux exigences marketing de nos clients en leur permettant de booster des produits tout en passant outre le caractère objectif des recommandations de base.

Nous verrons également quelques pistes pour surfer sur la vague des réseaux sociaux et exploiter les nombreuses informations disponibles sur Twitter et Facebook.

 

0 commentaires

votre commentaire

Se joindre à la discussion ?
Vous êtes libre de contribuer !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Inscription newsletter

Ne manquez plus nos derniers articles !