Créer un système de recommandation prend du temps

par ‘Mar 4, 2019’Analyse de données, Banque et assurance, E-commerce, Média, Personnalisation

telecharger-media-et-personnalisation-gagnante

 

Gregory Pichon, mon collègue en charge du développement commercial chez Mediego me raconte souvent les échanges qu’il a avec nos prospects notamment quand ils sont issus du secteur des médias en ligne. Les retours de Gregory me permettent d’écrire des articles qui correspondent aux interrogations et sujets qui concernent nos prospects et, lors de ces échanges téléphoniques, quelques thèmes reviennent souvent. Parmi eux, on retrouve le « fait maison ». En d’autres termes, certains prospects, pensent qu’ils ont les capacités et ressources en interne suffisantes pour développer eux-mêmes des algorithmes faits maison dans l’idée de proposer des recommandations personnalisées à leurs lecteurs.

Si je souhaite aborder ce sujet avec vous, c’est aussi parce que quelques prospects ont essayé de développer des algorithmes de recommandation eux-mêmes et se sont finalement tournés vers Mediego après s’être rendu compte de la charge de travail et de tout ce qui leur en coûtait.

Pour éviter de vous retrouver dans cette situation somme toute délicate, nous allons voir ce qu’il est important de prendre en compte avant de se lancer tête baissée dans le développement d’algorithmes de recommandation afin de vous éviter les mauvaises surprises.

D’abord, mettons-nous d’accord sur la définition de ces algorithmes si particuliers.

Sommaire :

 

Qu’est-ce qu’un algorithme de recommandation ?

Si j’avais à expliquer un algorithme de recommandation à quelqu’un qui est loin d’être expert en la matière, le tout sans copier-coller la définition disponible sur Wikipédia, je dirais :

Pour démystifier la définition des algorithmes, dites-vous qu’une recette de cuisine en est un, il ne s’agit donc pas toujours d’instructions mathématiques incompréhensibles, mais d’instructions précises. Pour reprendre l’exemple de la recette de cuisine, mélanger du lait, de la farine et du sucre ne donne pas des crêpes si les étapes de préparation ne sont pas respectées, c’est ce que j’entends par instructions précises. Dans le cadre présent, ce sont des suites d’instructions (fondement même d’un algorithme) permettant dans un premier temps de trier les informations (données) récoltées sur un site, une application ou tout autre support. Après avoir agrégé, trié et analysé les informations amassées, l’algorithme de recommandation a vocation à jouer avec les données dans l’objectif de prédire les goûts futurs des internautes. Ce seront les résultats obtenus qui formeront les recommandations personnalisées qu’un utilisateur se verra proposer lors de sa navigation sur un site web, etc.

 

telecharger-media-et-personnalisation-gagnante

 

Pourquoi développer un système de recommandation en interne n’est-il pas synonyme de réussite ?

C’est bon, tout est clair ! Désormais vous pouvez expliquer ce qu’est un algorithme de recommandation à un enfant de 5 ans. Mais s’il est simple de comprendre leur rôle, cela peut à l’inverse réserver quelques surprises de taille dans le cadre d’un développement en interne.

 

Le temps

La principale problématique au développement en interne d’un algorithme de recommandation c’est : le temps. Puisque vous vous doutez bien que même si l’algorithme tient plus ou moins sur quelques centaines de lignes de code, derrière, il faut qu’il soit intégré dans un écosystème cohérent. C’est là toute la complexité des systèmes de recommandation. Le temps passé à développer l’algorithme en lui-même n’est que la partie visible de l’iceberg.

En réalité, un seul et unique algorithme n’est pas suffisant. C’est une palette d’algorithmes de recommandation qui doit être créée puisque certaines particularités inhérentes aux contenus à recommander ou aux internautes peuvent venir perturber les recommandations. Un système de recommandation bien conçu se doit de suggérer des contenus dans toutes les circonstances. C’est pourquoi avoir plusieurs algorithmes est indispensable pour des situations spécifiques par exemple pour les différents profils de visiteurs : inconnu, réguliers, connus et inactifs. Autant de contraintes qui peuvent considérablement augmenter le travail sur les algorithmes qui du reste doivent fonctionner en parfaite symbiose.

Pour que les algorithmes fonctionnent, il faut de la donnée ! Donc, en développant un système de recommandation, prenez en compte qu’il vous faut votre système de tracking. Vous vous rendrez compte de l’ampleur de la tâche (gourmande en temps) en essayant de rendre les données accessibles rapidement pour que les algorithmes puissent s’en nourrir et ainsi fournir des recommandations à jour.

En parlant de vitesse de calcul, un système de recommandation ne peut pas se permettre d’augmenter les temps de chargement du contenu à chaque nouvelle page chargée ! Le temps de chargement et de calcul est l’un des principaux enjeux des systèmes de recommandation et pour optimiser les temps de chargement, il faut beaucoup de temps « humain » à y consacrer. Je m’explique, quand un internaute navigue sur un site d’actualité, il atterrit sur une nouvelle page (un article économique par exemple), à ce moment précis, l’internaute est identifié (grâce à un identifiant unique), car pendant le chargement de l’article, le script de tracking a lui aussi été chargé. Ensuite, il faut compléter le profil de l’internaute et des profils similaires en y ajoutant l’article économique qu’il est en train de consulter pour éviter de le lui reproposer dans les recommandations, mais surtout pour lui proposer des recommandations pertinentes en prenant en compte le contexte et les informations à jour stockées dans son profil. Pour ce faire, une fois la nouvelle page enregistrée dans le profil du lecteur, les algorithmes de recommandations calculent les recommandations, récupèrent les informations sur les articles à lui suggérer et les affichent directement en bas de l’article dans un bloc dédié. Là où c’est un défi permanent, c’est que le système de recommandation doit être assez robuste pour multiplier ce schéma par le nombre total de lecteurs présent simultanément sur le site, le tout, sans nuire à leur expérience de lecture. Compléter toutes les étapes avec succès dans une fourchette de temps comprise entre 100 à 200 millisecondes est un défi quotidien.

Un autre aspect consommateur en temps et en ressources humaines est qu’il faut monitorer les performances et les résultats obtenus par le système de recommandation. Notamment pour permettre des optimisations ou simplement pour faciliter la lecture sur une interface intelligible par le plus grand nombre dans l’objectif de formuler des reportings, etc. Donc, même si au premier abord, cela peut sembler anecdotique dans l’ensemble du projet, le monitoring est indispensable et là encore, il s’agit d’une interface web à développer et à relier au système de recommandation.

Après avoir échangé avec les principaux concernés chez Mediego, l’équipe technique semble d’accord pour dire qu’il faut entre 6 mois et 1 an pour créer un système de recommandation fonctionnel. Ensuite, il faudra être en mesure d’estimer le temps nécessaire pour réaliser les optimisations. Comme je vous le décris, tout dépendra des compétences dont vous disposez en interne.

 

telecharger-temoignage-newsletter-personnalisée-ouest_france

 

Les coûts

Un autre aspect (et non des moindres) à prendre en compte avant de vous lancer dans le développement d’un système de recommandation : Les coûts.

Nous l’avons vu précédemment, le temps, la patience et l’expertise algorithmique sont des caractéristiques prépondérantes avant que les algorithmes de recommandation ne vous apportent le succès escompté ! Rares sont les entreprises pouvant se permettre un tel laps de temps entre l’idée, la conception et la disponibilité d’un nouvel outil.

De plus, les compétences nécessaires au développement et au monitoring de ces technologies nécessitent 3 ingénieurs chez Mediego. Évidemment, tous les 3 travaillent également sur des sujets subsidiaires comme l’amélioration continue du dashboard (interface client permettant entre autres de suivre les statistiques), l’intégration client, etc., mais ce sont des coûts à anticiper surtout qu’au début, les changements d’orientation sont indispensables pour que les performances attendues soient au rendez-vous.

En plus des coûts de développement inhérent au projet, il ne faut pas omettre qu’un système de recommandation nécessite une structure, notamment pour recueillir les données et calculer les recommandations. C’est un élément à considérer sérieusement, car il représentera des coûts fixes à court comme à long terme, par exemple l’achat de serveurs est indispensable. Bien entendu, les frais seront plus ou moins élevés selon vos besoins en recommandation et la consommation en ressources financières dépendra principalement du nombre de visites sur votre site, du nombre de profils uniques à stocker en base et du volume de recommandations personnalisées mensuelles.

Il est risqué de se lancer dans un projet de cette envergure et surtout d’engager autant moyen humain et financiers pour des résultats difficilement prévisibles.

 

Les compétences

Personnalisation, IA, marchine learning, deap learning, des mots clés populaires sur la toile et à la mode dans les entreprises. Une tendance compréhensible puisque les promesses affichées par ces technologies sont alléchantes. Pour autant, les développeurs sont des perles rares à trouver sur le marché du travail et ceux disposant des compétences nécessaires au développement d’un système de recommandation le sont d’autant plus.

Pour développer les algorithmes de recommandation et toute l’infrastructure permettant de les faire fonctionner correctement, des compétences dans les environnements suivants sont indispensables :

  • Développement Web
    • JavaScript (notamment pour le développement des scripts de tracking)
    • Outil de suivi des statistiques (pour que les équipes marketing puissent suivre l’évolution des résultats obtenus)
  • IA en général et algorithmes de recommandations en particulier
  • Base de données
  • Big Data
  • Statistiques et monitoring : pour l’interprétation des résultats ou la détection de failles (bugs)
  • Génie logiciel
  • Language de programmation
  • Systèmes distribués

Si vous souhaitez également vous lancer dans la personnalisation des newsletters, il faudra prendre en compte que des connaissances pointues dans le domaine de l’emailing sont indispensables. Notamment pour assurer une bonne délivrabilité à vos campagnes marketing.

 

Les points que nous venons d’aborder sont des freins surmontables à la création « maison » de systèmes de recommandation, mais, même si ces obstacles sont franchissables, il est important de considérer que vos données peuvent être confiées à des experts en personnalisation et en recommandation de contenu. Je vous invite à découvrir les offres de personnalisation que nous proposons pour la presse en ligne, mais avant de faire votre choix, je vous invite à découvrir 5 bonnes raisons d’utiliser un système de recommandation SAAS.

 

telecharger-temoignage-newsletter-personnalisée-Publihebdos

 

Pourquoi faire appel à des solutions externes pour les recommandations personnalisées ?

  • Rapidité de mise en place : comme nous l’avons évoqué précédemment, les algorithmes de recommandation sont gourmands en temps pour vos équipes. Contrairement aux 6 mois à 1 an nécessaire au développement d’un tel système, en faisant le choix d’une solution externe, vous pourriez commencer à proposer des recommandations personnalisées à vos lecteurs après environ 1 semaine, le temps de faire communiquer nos outils respectifs et de prendre en compte vos préférences éditoriales.

 

  • Coûts financiers moindres : en France, la main-d’oeuvre est l’un des plus importants facteurs de dépense pour les entreprises. En confiant la personnalisation, vous n’aurez pas besoin de recruter des spécialistes en la matière. Entre un abonnement mensuel et l’alourdissement de la masse salariale, le fossé est grand. De plus, la collecte, la gestion et l’analyse des données sont prises en charge par les solutions externes. Donc vous économisez également les frais d’infrastructures du système de recommandation.

 

  • Expertise : chez Mediego, nous avons la chance d’avoir comme CEO Anne-Marie Kermarrec, ancienne directrice de recherche dans les laboratoires INRIA. En créant Mediego, Anne-Marie transmet aux responsables marketing et éditoriaux de profiter de son savoir-faire, son expertise, et de ses travaux de recherche dans le domaine de l’informatique et plus particulièrement sur les systèmes de recommandation, les systèmes distribués en peer-to-peer, etc.

 

  • Clé en main : l’avantage des solutions de personnalisation comme celles proposées par Mediego, c’est qu’elles sont accessibles rapidement, et surtout, tout est fait pour que la prise en main soit rapide et intuitive. C’est pourquoi les interfaces sont déjà développées et fonctionnelles. Quand je parle d’interface, il s’agit généralement de dashboard comprenant un éditeur d’email permettant d’inclure la personnalisation en quelques clics, une interface pour le suivi des statistiques ou encore d’un outil pour la configuration des actions prédictives d’acquisition.

 

  • Solution éprouvée par les autres clients : commencez de 0 n’est pas toujours une bonne idée surtout quand on s’engage dans un projet qui nécessite une vision à long terme. Le risque principal est d’essuyer les plâtres et de retarder fortement la sortie officielle du système de recommandation. Utiliser les systèmes de recommandation de sociétés spécialisées dans ces technologies, c’est la garantie d’un projet mené à bien et dans les temps, car vous n’êtes pas les seuls clients à utiliser les technologies en question.

 

  • Agilité et réactivité : l’expertise algorithmique et technique dont disposent les acteurs proposant des solutions de recommandation permet de réagir aux nouvelles demandes des clients très rapidement. C’est aussi l’avantage d’utiliser une solution éprouvée par les autres clients, car les demandes spécifiques peuvent se ressembler. Donc, décliner pour un client quelque chose qui a déjà été déployé chez un autre client est plus rapide.

 

telecharger-media-et-personnalisation-gagnante

Webmarketer chez Mediego, Benjamin fait une veille constante sur des sujets comme le e-commerce / média afin de vous transmettre toute l'actualité et vous renseigner sur les meilleures pratiques de personnalisation.

Benjamin Carro

Chargé de WebMarketing, Mediego

À lire ensuite