Retour à la vue d'ensemble
  • Intelligence artificielle

Processus d'apprentissage par renforcement : comment augmenter la probabilité d'achat grâce à l'analyse en temps réel (partie 2)

  • Publié le 5 mars 2018
  • Eric Mende
  • Temps de lecture : 10 min.

Dans la deuxième partie de notre série consacrée à notre processus d'apprentissage par renforcement, nous abordons la manière dont nous utilisons l'analyse en temps réel pour traiter l'historique de navigation d'un utilisateur d'une boutique en ligne afin que l'agent puisse l'exploiter et prendre les bonnes décisions. Il doit ici relever le défi de filtrer en peu de temps les informations pertinentes parmi l'ensemble des données collectées afin de pouvoir les utiliser pour formuler des recommandations.

La photo montre le cadran d'une montre.

L'analyse en temps réel en bref

Dans le cadre de l'analyse en temps réel, les données qui arrivent dans un système informatique sont directement analysées et traitées. Cela sert généralement à aider les personnes à prendre des décisions en quelques minutes ou quelques secondes. Cela peut même être utilisé pour prendre des décisions automatisées en quelques secondes ou millisecondes (par exemple, décider quel contenu doit être affiché pour un utilisateur qui consulte actuellement le site web). Pour un système en temps réel, il est particulièrement important que les résultats de l'analyse soient générés suffisamment rapidement pour que les décisions associées puissent également être mises en œuvre rapidement.


Restez informé des dernières nouveautés en matière de personnalisation : inscrivez-vous à la newsletter epoq. Inscrivez-vous dès maintenant !


Analyses en temps réel pour une utilisation dans les boutiques en ligne

Pour fournir des recommandations pertinentes dans une boutique en ligne, notre agent doit prendre des décisions automatisées en temps réel. Lorsqu'un acheteur en ligne consulte une page sur laquelle un widget de recommandation est intégré, une requête est envoyée à notre serveur. Le serveur interprète la requête et crée un vecteur numérique(fig. 1) contenant des informations sur la requête pour l'agent. Sur la base du vecteur numérique, l'agent décide d'une ou plusieurs actions (par exemple, définir la fourchette de prix des recommandations e-commerce entre 40 € et 60 €). Ces décisions influencent la chaîne de règles qui détermine les produits à recommander. Ces produits sont ensuite renvoyés au navigateur de l'utilisateur. Ils s'affichent alors dans le widget. L'ensemble de ce processus ne prend que quelques millisecondes.

Fig. 1 : Vecteur numérique contenant des informations sur l'appel

La question qui se pose alors naturellement est de savoir comment le serveur interprète la requête et crée le vecteur numérique pour l'agent. Le défi consiste ici à obtenir le plus d'informations pertinentes possible tout en les calculant dans le peu de temps imparti.

Collecte et enrichissement des données

Lorsque le navigateur demande le widget de recommandation, il envoie des paramètres d'appel à notre serveur. Ces paramètres comprennent l'identifiant de session de l'acheteur en ligne et des informations sur la page demandée, par exemple l'identifiant d'un produit sur une page de détails du produit. Le serveur conserve d'autres données dans la mémoire vive grâce à notre base de connaissances, qu'il peut utiliser pour enrichir les données d'appel. Il tire ces données du catalogue de produits et peut ainsi ajouter des informations supplémentaires sur le produit demandé. Il peut s'agir d'entrées simples telles que

  • Prix
  • marque
  • Catégorie ou également
  • informations dérivées (produit haut de gamme ou bas de gamme au sein de la catégorie)

être.

Influence des demandes précédentes

Le serveur conserve également en mémoire les requêtes précédentes de la session et les identifiants de produit associés. Il peut ainsi ajouter des statistiques sur tous les produits consultés, par exemple :

  • le prix moyen des produits consultés et
  • le nombre de produits consultés dans la catégorie actuelle.

Il est également possible de prendre en compte le fait que l'utilisateur consulte toujours des produits haut de gamme ou uniquement des produits d'un petit nombre de marques, ou encore que la proportion d'articles en promotion augmente lors des consultations ultérieures.

Influence du facteur temps

Le dernier exemple montre que non seulement les données relatives au comportement moyen de l'utilisateur sont collectées, mais aussi les changements de comportement. Ceci est important car de nombreux utilisateurs continuent à naviguer sur le site web après avoir trouvé le produit qu'ils recherchaient. Cependant, leur comportement change alors (comment ? Par exemple, ils passent d'un comportement ciblé à un comportement de navigation). À chaque requête, le serveur enregistre non seulement l'ID du produit, mais aussi l'heure exacte à laquelle la requête est arrivée sur le serveur. Il en déduit à son tour certaines informations, telles que :

  • Combien de temps le client consacre-t-il à chaque page ?
  • il devient plus rapide ou plus lent,
  • Quels sont les produits qui l'ont le plus intéressé ?
  • Quels sont les produits dont il s'est immédiatement rendu compte qu'ils n'étaient pas faits pour lui ?

Comparaison avec d'autres clients

Le serveur compare également ces observations avec celles d'autres clients. Les conclusions suivantes ont pu être tirées :

  • De nombreux clients sont plus agités le soir après 20 heures que ceux qui font leurs achats vers 15 heures en semaine.
  • Ces clients passent moins de temps par site web consulté, mais affichent un taux de conversion plus élevé par session.

C'est pourquoi le serveur associe également l'heure et le jour de la semaine aux données créées jusqu'à présent.

Informations sur le comportement à adopter sur les pages sans recommandations

Lorsque chaque consultation d'une page Web par un utilisateur est transmise au serveur, même si le site Web ne comporte pas de widget de recommandation, comme c'est le cas des pages d'aperçu des catégories ou des pages d'informations sur les frais de port, le serveur relie également ces données. Il observe ainsi si l'utilisateur revient souvent à la page précédente et calcule le temps que l'utilisateur a passé sur les pages de catégories ou les pages de détails des produits.

  • Les clients qui recherchent un produit spécifique passent plus de temps à consulter les pages produits.
  • Les clients qui naviguent passent plus de temps sur les pages de résultats de recherche, les aperçus de catégories ou les pages promotionnelles.

Le serveur dispose également d'excellentes possibilités pour enrichir les données lorsque les cookies sont correctement suivis et que les utilisateurs récurrents sont ainsi reconnus. Cela permet de mettre les données collectées en relation avec l'historique correspondant. Nous pourrions citer ici de nombreuses autres observations possibles sur les données, mais la liste serait alors beaucoup trop longue.

Reconnaître des modèles dans le Big Data

Le nombre de points de données que le serveur peut collecter est énorme. Ainsi, plusieurs milliers de données individuelles peuvent être rapidement rassemblées pour une seule requête de recommandations. Il y a plusieurs raisons pour lesquelles il n'est pas judicieux que l'agent traite toutes les données. Tout d'abord, cela prend plus de temps au serveur. Or, notre objectif est de fournir des recommandations en temps réel.

Si les données sont trop nombreuses, l'agent peut également avoir des difficultés à identifier les modèles importants dans les données. Pour comprendre pourquoi, reprenons l'exemple de la première partie de la série d'articles , dans lequel nous apprenons à notre chien Benno à rapporter une balle.

On pourrait essayer l'entraînement sur une place libre dans une zone piétonne. Cependant, il sera très difficile d'apprendre au chien à courir après la balle lancée. Le chien est soumis à de nombreux stimuli. Il devra éviter les nombreux passants, il sera attiré par l'odeur des stands de currywurst, les cris et les hurlements des enfants et, surtout, les jolies chiennes, qui sont bien plus intéressantes qu'une drôle de balle qui s'envole. Le chien ne parviendra donc pas à se concentrer sur l'essentiel.

Il en va de même pour notre agent d'apprentissage par renforcement. Si on lui fournit trop de données à apprendre, il peut devenir difficile de distinguer les modèles importants des modèles moins importants.

Si vous emmenez votre chien de la zone piétonne au parc, il peut encore y avoir de nombreux stimuli qui rendent l'entraînement difficile. Les chiens de chasse, en particulier, peuvent développer un goût pour la course non seulement après une balle, mais aussi après tout ce qui s'éloigne rapidement d'eux, comme les écureuils, les cyclistes ou les bourdons. Ils courent alors après eux aussi.

De tels effets peuvent également se produire lors de la formation de l'agent. Par exemple, les clients pourraient consulter des produits haut de gamme dans la catégorie des aliments pour animaux et se voir recommander des ballons de football dans la fourchette de prix de 30 à 50 euros. À ce stade, cela pourrait générer un chiffre d'affaires important. Cependant, cela peut aussi être le fruit du hasard et ne pas constituer cette fois-ci un modèle que l'agent doit apprendre. Dans ce cas, l'agent apprendrait à tort à recommander à nos amis des animaux des ballons de football dans la gamme de prix moyenne. Plus l'agent reçoit de données pour son apprentissage, plus le risque que de tels modèles aléatoires apparaissent est élevé.

Du Big Data au Smart Data pour permettre l'analyse en temps réel

Il est possible de contrer les effets négatifs d'un excès de stimuli ou de données pendant l'entraînement en réduisant habilement ces stimuli et ces données.

Un chien progresse davantage lorsque l'entraînement se déroule dans une pièce aussi peu stimulante que possible. Aucun écureuil ne traverse la pièce, la télévision et la radio sont éteintes et aucun plat appétissant n'est en cours de préparation dans la cuisine. Le chien peut ainsi mieux se concentrer sur la balle et les gestes du dresseur.

Nous facilitons également l'apprentissage de notre agent de renforcement en filtrant uniquement les données utiles. Parallèlement, nous veillons à ce que les requêtes de recommandations puissent être traitées en temps réel. À l'aide de méthodes statistiques simples, nous déterminons dans quelle mesure les différentes données permettent de prédire les achats dans la boutique. Nous déterminons également quelles données, une fois regroupées, fournissent les informations les plus variées.

Si nous avons par exemple les quatre données suivantes pour un utilisateur

  • Temps passé sur les pages de catégories,
  • Temps passé sur les pages détaillées des produits,
  • temps relatif Pages de catégorie vers pages de détails du produit
  • et prix,

nous constatons alors que les trois premières sont statistiquement corrélées entre elles. Si nous voulons réduire le nombre de données à trois en filtrant une date, nous choisirions l'une des trois premières données, car la dernière apporte plus de diversité dans les données. Nous sélectionnerions celle des trois premières qui est statistiquement la moins significative pour la prévision des achats. Nous effectuons cette analyse sur des milliers de données jusqu'à ce qu'il n'en reste plus qu'environ 60 à 100.

Ainsi, le fait que l'utilisateur passe plus ou moins de temps que les autres utilisateurs sur la page d'accueil ne peut pas toujours être utilisé pour établir une prévision.


Restez informé des dernières nouveautés en matière de personnalisation : inscrivez-vous à la newsletter epoq. Inscrivez-vous dès maintenant !


Compiler des données intelligentes en temps réel

Le filtrage en lui-même prend également du temps. Lorsqu'une requête est envoyée au serveur, cela prendrait trop de temps de calculer d'abord toutes les données, puis de déterminer celles qui doivent être filtrées. Il est préférable de calculer une fois par jour les données qui doivent être conservées. Lorsqu'une requête parvient au serveur, celui-ci vérifie quelles données sont réellement nécessaires et ne calcule que celles-ci. Il parvient ainsi à préparer les données pour l'agent en quelques millisecondes seulement.

Notre conclusion sur l'analyse en temps réel pour augmenter la probabilité d'achat

Pour pouvoir proposer des recommandations pertinentes en temps réel, il est nécessaire de disposer d'un un savoir-faire en science des données ! D'une part, il faut collecter, enrichir puis interpréter autant de données que possible. D'autre part, il faut réduire la masse d'informations à celles qui sont vraiment significatives afin de pouvoir les diffuser en temps réel. Nous pensons que ce processus en vaut la peine pour remplir les paniers grâce à des recommandations pertinentes et satisfaire les acheteurs en ligne.

Première partie de notre série d'articles intitulée « Processus d'apprentissage par renforcement » : Comment utiliser l'apprentissage par renforcement de manière rentable pour votre boutique en ligne (partie 1)
Et voici la troisième partie : Comment augmenter votre chiffre d'affaires grâce à des algorithmes d'auto-apprentissage (partie 3)

 

5,04 % d'augmentation du chiffre d'affaires par session : Outletcity Metzingen a remis en question sa stratégie de personnalisation.
Demandez dès maintenant l'étude de cas !

Eric, data scientist chez epoq
Eric Mende
Data scientist
Au moment de la publication, Eric travaillait chez Epoq en tant que data scientist et était responsable du domaine du machine learning. Il optimisait quotidiennement nos algorithmes afin qu'ils obtiennent les meilleurs résultats pour nos clients.