
Plateforme SaaS d'optimisation publicitaire par IA Machine Learning - AdsPower
Plateforme SaaS d'optimisation publicitaire par intelligence artificielle et Machine Learning : classification d'intention de recherche par NLP, enchères automatisées et détection de mots-clés négatifs sur Google AdWords, Bing Ads et Facebook Ads
Présentation du projet
AdsPower était une startup early-stage développant une plateforme SaaS d'optimisation des campagnes publicitaires par intelligence artificielle. Le concept central : ingérer des milliers de points de données de campagnes - mots-clés, enchères, quality scores, taux de clic, données de conversion - et les injecter dans des modèles de classification supervisés entraînés sur Azure Machine Learning Studio pour produire des recommandations d'optimisation actionnables.
Concrètement, les modèles apprenaient à classifier les comportements utilisateurs, analyser l'intention de recherche via les SERP Google, prédire les prix d'enchères optimaux, identifier les clusters de mots-clés performants, détecter les mots-clés négatifs qui drainaient les budgets, et recommander des améliorations d'annonces basées sur les patterns de performance historiques - l'ensemble aboutissant à l'optimisation automatique des enchères en fonction du taux de transformation.
Le projet était directement inspiré d'Optmyzr et de Dolead (plateforme française de performance marketing), tous deux analysés en profondeur durant notre recherche concurrentielle.
Objectifs, Contexte & Risques
Optimisation par IA
Classifier les intentions de recherche et prédire la probabilité de conversion par mot-clé via des modèles de classification supervisés
Enchères automatisées
Optimiser automatiquement les enchères (1re page, haut de page, 1re position) en fonction du taux de transformation réel
Détection de mots-clés négatifs
Identifier et exclure automatiquement les mots-clés qui drainent le budget sans conversion grâce au clustering sémantique
Quality Score
Prédire et améliorer le Quality Score via l'analyse du CTR attendu, de la pertinence des annonces et de l'expérience landing page
En 2016, le AdTech SEA était dominé par Optmyzr aux États-Unis et Dolead en France, tous deux basés sur des moteurs de recommandations essentiellement heuristiques. Azure Machine Learning Studio venait de sortir de preview publique en 2015 et ouvrait une voie managée pour industrialiser des modèles supervisés sans infrastructure. L'équipe reposait sur 2 cofondateurs : 1 CEO/fondateur business et moi-même en Chef de projet technique & Cofondateur (CTO), pilotant la conception produit, l'architecture applicative, la R&D Machine Learning et l'interface investisseurs.
- Technique : industrialiser Azure ML en production avec des latences < 500 ms sur les recommandations de bid
- Réglementaire : respecter les quotas et TOS de Google AdWords API - risque de ban si excès
- Différenciation : approche ML-first (vs heuristique des plateformes établies sur le marché)
- Survie : valider le PMF (Product-Market Fit - adéquation produit/marché) avant épuisement du runway (trésorerie restante avant fin du financement - 18-24 mois max sans levée)
- Quotas Google AdWords API : rate-limiting ou bannissement si volumétrie excessive
- Breaking changes API : Google modifie régulièrement TOS et schemas (confirmé par la migration AdWords -> Google Ads début 2018)
- Modèles imprécis : accuracy < 80 % = perte de confiance client
- Vendor lock-in Azure ML Studio : plateforme Microsoft encore jeune à l'époque
- Rareté des compétences ML dans la région bordelaise en 2017
- Runway limité : startup bootstrappée sans investisseur externe
Approche ML & pipeline technique
Phase 1
Recherche et conception (janvier-mars 2016, 3 mois)
- •En tant que chef de projet technique & cofondateur, j'ai mené l'analyse concurrentielle approfondie d'Optmyzr et Dolead (features, pricing, positionnement)
- •Rédaction du cahier des charges (60 pages) et production de 40+ pages de maquettes pour Dashboard, Campaign Manager, Keywords, Opportunities, Quality Score, Reports et AI Insights
- •Choix techniques motivés : Angular plutôt que React (maturité TypeScript 2016), Symfony 3.2 pour Doctrine ORM et les bundles, Azure ML Studio pour le time-to-market, NLTK plutôt que spaCy pour le multi-langue
- •Difficulté surmontée : rareté des freelances ML à Bordeaux - résolue par recherche GitHub géolocalisée sur tags `machine-learning`
Phase 2
Prototype et v1 (avril-octobre 2016, 7 mois)
- •Sprint 0 : setup Vagrant + Ubuntu 16.10, GitLab self-hosted, CI/CD et premiers bundles Symfony
- •Développement du Data Collection Service (connecteurs Google AdWords + Bing Ads)
- •Construction du SERP Scraper (Goutte + CasperJS) couvrant 6 moteurs (Google, Bing, Yahoo, Yandex, Baidu, DuckDuckGo)
- •Pipeline NLP (NLTK + TF-IDF) en sidecar Python Flask + premiers modèles Azure ML Studio (Bid Prediction + k-means)
- •Livraison v1 en novembre 2016 avec 3 premiers beta-testeurs
- •Difficulté surmontée : volumétrie SERP de 10M+ requêtes/mois - résolue par cache Memcached et queue Redis
Phase 3
v2 et multi-plateforme (novembre 2016 - juin 2017, 8 mois)
- •Retours beta-testeurs → refonte UX sur plusieurs écrans
- •Ajout de la couverture Facebook Ads SDK
- •Build desktop Electron (Mac / Windows / Linux) et mobile Cordova (iOS / Android)
- •Intégration Google Prediction API pour la segmentation d'audience
- •Difficulté surmontée : Google a annoncé la migration AdWords API → Google Ads API début 2018 - refonte complète de tous les connecteurs anticipée
Phase 4
v3 Angular 10 et arrêt (juillet 2017 - décembre 2018)
- •Migration Angular 4 → 6 → 8 → 10 en 3 itérations majeures
- •Stabilisation et amélioration de l'accuracy des modèles Azure ML
- •Recherche de clients payants : 4 contrats signés sur 18 mois (vs objectif initial de 20)
- •Cycle de vente B2B long (6 mois en moyenne), runway insuffisant pour attendre la maturation du funnel
- •Décembre 2018 : arrêt du projet, budget épuisé
- Apprentissage supervisé (gradient boosting, régression logistique, arbres de décision) entraînés sur Azure ML Studio pour prédire les composantes du Quality Score
- Pipeline NLP avec NLTK : tokenisation, stemming, suppression des stop words et vectorisation TF-IDF des mots-clés et requêtes de recherche
- Clustering k-means appliqué aux vecteurs TF-IDF pour regrouper les mots-clés par intention de recherche et détecter les mots-clés négatifs
- Segmentation d'audience par classification supervisée sur données démographiques (âge, genre) via Google Prediction API
- Scraping multi-moteurs (Google, Bing, Yahoo, Yandex, Baidu, DuckDuckGo) pour collecter des données de veille concurrentielle
Le problème : dans Google AdWords, les annonceurs achètent des mots-clés en correspondance large (broad match). Google déclenche alors les annonces sur des requêtes de recherche qu'il juge proches, mais qui n'ont souvent rien à voir avec l'intention commerciale de la campagne. Un annonceur vendant des "fournitures informatiques professionnelles" peut voir son budget consommé par des visiteurs cherchant "cours d'informatique gratuit" ou "réparation PC à domicile" - des clics payés qui ne convertiront jamais.
La solution ML : le système scrapait les résultats de recherche Google (SERP) pour chaque mot-clé acheté, analysait le type de résultats affichés (résultats shopping, fiches produit, articles informationnels, forums...) et extrayait la classification thématique et l'intention de recherche (transactionnelle, informationnelle, navigationnelle). Ces signaux, combinés aux données de performance historiques (CTR, taux de conversion, coût), étaient vectorisés via TF-IDF et injectés dans un modèle de classification supervisé (gradient boosting sur Azure ML).
Le résultat : le modèle classifiait chaque requête de recherche visiteur comme pertinente ou non-pertinente par rapport à l'objectif commercial de la campagne. Les mots-clés identifiés comme faux positifs étaient automatiquement proposés en mots-clés négatifs pour être exclus de la campagne. Sans ce système, il était impossible de détecter systématiquement les dépenses gaspillées sur des intentions utilisateur hors-cible.
Ceci n'est qu'un exemple parmi les nombreux algorithmes d'optimisation construits dans la plateforme.
Flux de classification
Équipe & organisation
5
Personnes
18+
Dépôts de code
3
Versions majeures
40+
Pages de maquettes
En tant que Chef de projet technique & Cofondateur (CTO), j'ai piloté l'ensemble du projet de la conception à la livraison : architecture applicative, R&D Machine Learning, pilotage des sprints, gestion des prestataires et interface investisseurs. Coordination de 4 prestataires externes (2 développeurs full-stack Angular/Symfony, 1 freelance ML/data Python, 1 UX designer) identifiés via recherche GitHub dans la région bordelaise.
- 3-4 beta-testeurs (agences SEA françaises) : feedback hebdomadaire pendant 18 mois, co-design des workflows
- 4 clients payants signés sur 18 mois d'activité commerciale
- 1 Business Angel rencontré en due-diligence (offre finalement déclinée par nos soins)
- Partenaire Microsoft Azure ML team : accès preview aux nouveautés de la plateforme
- 6 rendez-vous VC à Paris et 2 comités d'investissement pour la pré-séance
- Coordination à distance (freelances à Bordeaux, Paris, Toulouse) via Trello + Slack + visio hebdomadaire
- Divergence roadmap CEO vs chef de projet technique : le CEO poussait les ventes + nouvelles features, moi je poussais la stabilité + accuracy des modèles - résolue par des 1-1 hebdomadaires et un backlog priorisé en commun
Résultats & réalisations
- Première plateforme SaaS française à industrialiser Azure ML Studio en production pour le AdTech, dès 2016 - bien avant la généralisation des modèles prédictifs dans la publicité digitale
- Livraison continue sur 3 ans avec une équipe stable de 4 prestataires, un budget maîtrisé jusqu'à l'épuisement contrôlé du runway et un produit fonctionnel en production du sprint 1 jusqu'à l'arrêt
- Construction d'une application multi-plateforme : web (Firebase), desktop (Electron pour Mac/Win/Linux) et mobile (Cordova pour iOS/Android)
- Conception et documentation d'un modèle de données complet couvrant les écosystèmes Google AdWords, Bing Ads et Facebook Ads
- 3 versions majeures du backend en moins d'un an, avec migration d'Angular 4 vers Angular 10
- Documentation projet complète : cahier des charges, 4 specs fonctionnelles, specs techniques, modèle de données, étude de marché
- Première cofondation de startup tech en tant que Chef de projet technique & Cofondateur (CTO), avec pilotage de bout en bout (conception, équipe, livraison, investisseurs)
- Maîtrise opérationnelle de la casquette chef de projet technique en early-stage : découpage des sprints, estimation, coordination freelances, roadmap produit négociée avec le CEO
- Expertise Machine Learning appliqué acquise en conditions réelles : Azure ML Studio, NLTK, gradient boosting, k-means en production
- Pilotage d'un axe R&D pluriannuel : budget, recrutement, priorisation produit, gestion des stakeholders investisseurs
- Management de freelances distants et gestion de turnover sur 3 ans
- Apprentissage concret du product-market fit : l'excellence technique seule ne suffit pas, la validation commerciale doit précéder la construction
- Compréhension des cycles B2B longs (6 mois de vente moyenne) et de l'importance du funnel commercial vs la R&D pure
- Adoption définitive de l'approche lean startup dans toutes mes missions CTO / chef de projet technique ultérieures
Issue du projet
Le projet a finalement été abandonné par manque de moyens budgétaires. Le coût de la R&D était trop important pour une startup bootstrappée sans financement externe. Le produit fonctionnait, les modèles produisaient de vraies recommandations d'optimisation, mais sans traction commerciale le budget s'est épuisé.
- •Arrêt du développement décembre 2018 et gel des environnements de production
- •Retours aux beta-testeurs avec solution de transition vers Optmyzr (migration accompagnée)
- •4 clients actifs suivis manuellement pendant 3 mois après l'arrêt
- •Documentation complète archivée (cahier des charges, specs, modèle de données, étude de marché) pour éventuel pivot futur
- •Libération des 4 prestataires : tous retrouvent des missions dans le mois
- •Retours d'expérience donnés en école de développement à Bordeaux (partage sur le product-market fit et l'industrialisation Azure ML)
- •Convergence du marché AdTech : OpenAI GPT (2020-2022) redistribue les cartes, les modèles ML classiques sont largement dépassés par les LLM
- •Projet clos, aucune reprise ni pivot envisagés
- •Captures d'écran et maquettes servent aujourd'hui de portfolio (voir galerie ci-dessous)
Retour critique
- Rigueur technique : architecture DDD propre, bundles Symfony modulaires, tests et CI/CD dès j0 - tenue en standard personnel depuis
- Choix ML stratégique : industrialiser Azure ML Studio était le bon pari en 2016 (time-to-market + scalabilité managée)
- Multi-plateforme très avant-gardiste : desktop + mobile + web avec une codebase Angular unifiée en 2016
- Documentation exhaustive : cahier des charges, specs, modèle de données, étude de marché
- Validation commerciale trop tardive : construction de la v1 complète avant confrontation à 3 prospects payants
- Dépendance Azure ML Studio : vendor lock-in pris en compte trop tardivement
- Équipe trop tech : pas de profil growth / marketing en dur, tout reposait sur le CEO
- D'abord vendre, puis construire : 3 MOU signés avant le moindre sprint de développement
- MVP minuscule : 1 seule feature ML (détection de mots-clés négatifs), testée 6 mois avant d'élargir le scope
- ML open-source : scikit-learn + FastAPI plutôt qu'Azure ML Studio, pour éviter le vendor lock-in
- Recruter un 3e cofondateur growth / marketing pour équilibrer le trio technique/business/acquisition
- Formaliser plus tôt le rôle de chef de projet technique avec un board de pilotage partagé avec le CEO, pour éviter les divergences silencieuses sur les priorités
- L'excellence technique seule ne fait pas un business viable. Un bon produit sans clients payants reste un projet R&D.
- Le timing compte autant que l'exécution. L'angle IA appliquée à la publicité était en avance sur son temps en 2016 - ce qui rendait le projet visionnaire mais aussi plus difficile à vendre.
- Valider le marché avant de construire le produit. Trop de temps investi en R&D technique et pas assez en validation commerciale avec de vrais clients payants.
- La capacité d'itération rapide est un atout durable - cette discipline de livraison régulière est restée un réflexe permanent dans tous mes projets suivants.
Parcours associé
Expérience professionnelle liée à cette réalisation
Compétences mobilisées
Compétences techniques et humaines appliquées
Compétences techniques
Compétences humaines
Leadership & Gestion d'Équipe
Co-fondation startup en CTO et management d'une équipe de 4 freelances
Adaptabilité & Agilité d'Apprentissage
Auto-formation NLP, classification ML et Azure ML Studio
Gestion de Projet
3 itérations majeures de produit en moins d'un an en chef de projet technique
Résolution de Problèmes & Pensée Critique
Algorithmes de classification d'intention et optimisation d'enchères TF-IDF/k-means
Galerie d'images
Captures et visuels du projet









Vous avez un projet SaaS propulsé par l'IA, LLM ou Machine Learning ?
Aujourd'hui, j'interviens sur des projets SaaS propulsés par l'IA et les LLM : RAG, fine-tuning, agents autonomes, orchestration multi-modèles, où il s'agit de transformer un flux de données brut en recommandations actionnables. Ce savoir-faire s'appuie sur un socle plus ancien de Machine Learning classique - industrialisé sur AdsPower avec NLP (NLTK + TF-IDF), classification supervisée (gradient boosting) et clustering k-means, intégré à plusieurs APIs externes (Google AdWords, Bing Ads, Facebook Ads) dans une plateforme SaaS multi-plateforme. Si vous explorez un projet SaaS autour de l'IA, des LLM ou du Machine Learning, parlons de votre contexte.
Contactez-moi