Dans le but d’améliorer continuellement son service, Catchr est parti à la recherche d’une nouvelle manière de détecter les anomalies dans les campagnes marketing.

Genèse du projet

Offre actuelle

Catchr propose à ses clients un service d’alertes qui les prévient lors d’un souci quelconque sur une de leurs campagnes marketing. Ce service se base sur l’état de chaque compte au cours du temps. Ces données étant récupérées à travers les API des différents services de campagnes publicitaires digitales.

Actuellement, ce service fonctionne grâce à une banque d’alertes prédéfinies qu’il faut configurer en fonction de ses besoins. Ces alertes préviennent l’utilisateur lorsque les critères définis lors de la configuration d’une alerte sont atteints (dépassement d’un seuil, modification d’un tag, etc.).

Pourquoi cela ne suffit pas ?

Malgré l’intérêt prouvé de notre offre actuelle, nous ne sommes pas complètement satisfaits. Aujourd’hui le système pèche encore sur plusieurs points.

De manière générale, la configuration d’alerte peut être fastidieuse. Il manque par exemple un moyen de créer des alertes similaires automatiquement sur un grand nombre de comptes, comme nous l’ont fait remarquer quelques retours d’utilisateurs.

De plus, de nouvelles alertes doivent être développées régulièrement afin de détecter des anomalies en prenant en compte des variables supplémentaires.

Les pistes d’amélioration

Nous avons exploré plusieurs manières d’améliorer notre service afin de répondre à ces limitations.

Nous pourrions notamment développer des alertes supplémentaires, plus complexes. Celles-ci prendraient en compte de nombreuses variables à la fois, afin de détecter de nouveaux cas d’anomalies plus spécifiques. Des alertes « de base » pourraient également être proposées par défaut pour tous les nouveaux comptes, de manière à gagner du temps sur la configuration d’alertes. Pour faire simple, nous pourrions développer de nombreuses alertes supplémentaires pour pallier à une partie de nos problèmes.

Une autre manière de traiter ces derniers serait de développer un seul outil. Plus complexe, mais plus généraliste, il résoudrait plusieurs problèmes d’un coup.

Dans notre système d’alerte, le volume de données à considérer est grand. C’est pourquoi nous nous sommes intéressés au deep learning. Cette technique nécessite un grand jeu de données pour fonctionner, mais permet potentiellement de faire « apprendre » à la machine les cas d’erreurs les plus courants. Elle pourrait ainsi s’adapter sur tous les comptes sans aucune configuration nécessaire.

Limites du deep learning

Au vu de sa grande adaptabilité et sa capacité à résoudre plusieurs problèmes d’un coup, le deep learning peut paraître comme la solution évidente à nos problèmes. Cependant, il ne faut pas oublier qu’une solution basée sur notre système d’alerte actuel aurait plusieurs avantages: plus simple à développer, besoin de très peu de données pour fonctionner, pas de coût d’entraînement d’un réseau de neurones, besoin de peu de puissance de calcul…

Il faut aussi noter qu’implémenter un algorithme de deep learning nécessite de franchir de nouveaux obstacles. Utiliser le deep learning nécessite des connaissances plus poussées dans le domaine de l’intelligence artificielle lors du développement, car l’implémentation est bien plus complexe. L’entraînement d’un réseau de neurones peut également revenir assez cher, car il demande une grande puissance de calcul, et pour garantir son efficacité il faut posséder un grand volume de données. Enfin, le fonctionnement d’un algorithme de deep learning peut ressembler à une sorte de boîte noire: il permet beaucoup moins de granularité et ses résultats dépendent plus des données que de sa configuration.

Choix de la solution

Les alertes pré-définies sont utiles et possèdent plusieurs avantages. Cependant, elles sont peu évolutives, et leur configuration nécessite du temps. À cela s’ajoute que la granularité d’une configuration alerte par alerte n’est pas utile pour tous les cas d’utilisation de notre outil.

Finalement, développer de nombreuses alertes supplémentaires ajouterait à la complexité de notre système actuel. De notre point de vue, cela ne serait pas la meilleure façon de développer un outil pérenne.

De plus, bien que cela n’était pas le cas au lancement de notre outil, nous remplissons désormais une des premières conditions requises à la mise en place d’un algorithme de deep learning: avoir un grand volume de données. Nous avons donc choisi de profiter de cette chance pour nous lancer dans ce nouveau projet.

Cette nouvelle approche présente en plus de belles opportunités. Elle permettrait potentiellement de détecter des variations bien plus fines dans les données. Ainsi elle détecterait des anomalies que nous ne pourrions repérer autrement. De plus, elle s’affine avec le volume de données (et donc avec le temps), ce qui engendrerait moins de faux positifs au fur et à mesure de l’utilisation de l’outil.

Description de notre projet: « Polymathée »

La détection d’anomalies « intelligente » reposera sur un algorithme de deep learning permettant de faire de la prédiction. Le principe sera de comparer les données réelles, arrivant au fur et à mesure des comptes de nos clients, à des prédictions. Ces prédictions seront fournies par un réseau de neurones, entraîné sur de nombreuses données anonymisées provenant de différents comptes. Chaque niveau de données (comptes, campagnes, adgroups) aura un entraînement distinct du réseau de neurones. En effet, ces différents niveaux n’ont pas forcément tous de liens entre eux.

Après entraînement, ce réseau devrait détecter automatiquement les variables pertinentes dans le jeu de données fourni. Des variables telles que les tendances statistiques, les répétitions de motifs, etc. Ainsi il sera capable de fournir des prédictions temporelles précises compte par compte.

Afin d’améliorer encore les prédictions, nous allons également « partitionner » les données. Cela consiste à les séparer en groupes au comportement similaire. De cette manière, le réseau de neurones réagira différemment à chaque groupe.

Pour conclure: notre comparatif alertes « naïves » / alertes « intelligentes »

Vers une nouvelles manière de détecter les anomalies - comparatif alertes naïves (pré-définies) / alertes intelligentes (par deep learning)
comparatif alertes naïves (pré-définies) / alertes intelligentes (par deep learning) pour la détection d’anomalies
août 26, 2020 8:00
Partagez sur :

Besoin d’être conseillé ?

Nous sommes là pour vous répondre. N’hésitez pas à nous donner votre numéro de téléphone pour que nous puissions vous rappeler dans les plus brefs délais.