Plateforme SaaS d'optimisation publicitaire par IA Machine Learning (alias 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
Les étapes - Ce que j'ai fait
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)
- •J'ai rédigé le cahier des charges (60 pages) et produit 40+ pages de maquettes pour Dashboard, Campaign Manager, Keywords, Opportunities, Quality Score, Reports et AI Insights
- •Côté choix techniques, j'ai tranché : 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 : face à la rareté des freelances ML à Bordeaux, j'ai sourcé les candidats via une recherche GitHub géolocalisée sur les tags `machine-learning`
Phase 2
Prototype et v1 (avril-octobre 2016, 7 mois)
- •Sur le sprint 0, j'ai monté Vagrant + Ubuntu 16.10, un GitLab self-hosted, la CI/CD et les premiers bundles Symfony
- •J'ai développé le Data Collection Service (connecteurs Google AdWords + Bing Ads)
- •Côté veille concurrentielle, j'ai construit le SERP Scraper (Goutte + CasperJS) couvrant 6 moteurs (Google, Bing, Yahoo, Yandex, Baidu, DuckDuckGo)
- •Pour le pipeline NLP, j'ai monté un sidecar Python Flask (NLTK + TF-IDF) et les premiers modèles Azure ML Studio (Bid Prediction + k-means)
- •En novembre 2016, j'ai livré la v1 avec 3 premiers beta-testeurs
- •Difficulté surmontée : pour absorber les 10M+ requêtes SERP/mois, j'ai mis en place un cache Memcached et une queue Redis
Phase 3
v2 et multi-plateforme (novembre 2016 - juin 2017, 8 mois)
- •Suite aux retours des beta-testeurs, j'ai refait l'UX sur plusieurs écrans
- •J'ai ajouté la couverture Facebook Ads SDK
- •Côté distribution, j'ai produit les builds desktop Electron (Mac / Windows / Linux) et mobile Cordova (iOS / Android)
- •Pour la segmentation d'audience, j'ai intégré la Google Prediction API
- •Difficulté surmontée : face à l'annonce Google de la migration AdWords API → Google Ads API début 2018, j'ai anticipé la refonte complète de tous les connecteurs
Phase 4
v3 Angular 10 et arrêt (juillet 2017 - décembre 2018)
- •J'ai migré Angular 4 → 6 → 8 → 10 en 3 itérations majeures
- •Côté modèles, j'ai stabilisé et amélioré l'accuracy des modèles Azure ML
- •Sur le volet commercial, j'ai signé 4 contrats payants en 18 mois (vs objectif initial de 20)
- •J'ai vécu un cycle de vente B2B long (6 mois en moyenne), avec un runway insuffisant pour attendre la maturation du funnel
- •En décembre 2018, nous avons dû arrêter le 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
Avec qui j'ai interagi - Équipe & écosystème
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) : j'ai organisé un feedback hebdomadaire pendant 18 mois et co-designé les workflows avec eux
- 4 clients payants que j'ai signés sur 18 mois d'activité commerciale
- 1 Business Angel rencontré en due-diligence - après analyse, nous avons décliné son offre
- Équipe Microsoft Azure ML : j'ai entretenu un partenariat qui m'a donné un accès preview aux nouveautés de la plateforme
- 6 rendez-vous VC à Paris et 2 comités d'investissement que j'ai tenus pour la pré-seed
- 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 cofondation de startup tech : j'ai assumé le rôle de Chef de projet technique & Cofondateur (CTO) et piloté de bout en bout (conception, équipe, livraison, investisseurs)
- Casquette de chef de projet technique en early-stage : j'ai maîtrisé le découpage des sprints, l'estimation, la coordination des freelances et la roadmap produit négociée avec le CEO
- Machine Learning appliqué : j'ai acquis en conditions réelles l'expertise Azure ML Studio, NLTK, gradient boosting et k-means en production
- Axe R&D pluriannuel : j'ai piloté budget, recrutement, priorisation produit et gestion des stakeholders investisseurs
- Côté équipe distante, j'ai managé des freelances remote et géré le turnover sur 3 ans
- Product-market fit : j'ai appris concrètement que l'excellence technique seule ne suffit pas - la validation commerciale doit précéder la construction
- Cycles B2B longs : j'ai vécu un cycle de vente moyen de 6 mois et mesuré l'importance du funnel commercial vs la R&D pure
- Ce projet a changé ma façon de travailler : j'ai adopté définitivement l'approche lean startup dans toutes mes missions CTO / chef de projet technique ultérieures
- 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é
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)
Mon regard 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 & Management d'Équipe
Co-fondation startup en CTO et management d'une équipe de 4 freelances
Pilotage Projet & Méthodes Agiles
3 itérations majeures de produit en moins d'un an en chef de projet technique
Résolution de Problèmes & Adaptabilité
Auto-formation NLP, classification ML et Azure ML Studio - 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