Le scoring IA de Marchés PME : la recette, sans buzzwords
Le scoring IA de Marchés PME : la recette, sans buzzwords
"IA" est devenu un mot fourre-tout. Sur Marchés PME, le scoring de pertinence d'un marché public combine en réalité quatre couches distinctes, chacune fait un travail précis. Voici comment ça marche, sans poudre aux yeux.
Couche 1 : matching CPV / NAF
Quand un nouveau marché arrive dans la base, le système commence par regarder ses codes CPV (la nomenclature européenne, voir notre article CPV peinture).
On compare aux codes CPV affinités du profil utilisateur :
- Codes CPV directs (ex: 45442100 Travaux de peinture) → poids 1,0
- Codes CPV parents (45440000 Travaux de peinture et vitrerie) → poids 0,7
- Codes CPV cousins (45410000 Plâtrerie) → poids 0,3 selon proximité métier
- Codes CPV non-pertinents (ex: 45233000 Voirie pour un peintre) → poids 0,0
Cette première couche est binaire dans 90 % des cas : soit le marché est dans votre métier, soit il ne l'est pas.
Couche 2 : matching textuel et sémantique (embeddings)
Beaucoup d'acheteurs publics classent leurs marchés sous des CPV génériques (45000000 Construction). Le filtre CPV seul rate ~30 % des marchés pertinents.
C'est là qu'intervient le matching sémantique : on calcule un embedding vectoriel de l'objet et de la description du marché (modèle Voyage-3-lite, 512 dimensions). On compare cet embedding au profil métier embedded de l'utilisateur (constitué de mots-clés + descriptifs activité). Score = similarité cosinus.
Exemple concret : un marché de "Réhabilitation d'un bâtiment communal — lot 4 finitions" classé en 45211000 (Construction de bâtiments). Le filtre CPV seul ne le capte pas pour un peintre. Mais l'embedding détecte la similarité sémantique entre "finitions" et le profil métier "peinture intérieure" → ce marché remonte avec un score moyen-haut.
Couche 3 : signaux du profil entreprise
Une fois le marché jugé pertinent métier, on ajuste selon votre profil entreprise :
- Tranche de CA : un marché à 2 M€ HT pour une PME à 600 k€ de CA → pénalisation forte (CA exigé probablement insuffisant)
- Effectif : un marché demandant 30 personnes mobilisées en simultané pour une équipe de 8 → pénalisation
- Qualifications : si le DCE exige Qualibat 6112 et que vous n'avez pas déclaré cette qualif → pénalisation
- Zone géographique : marché à 200 km de votre siège → pénalisation décroissante avec la distance
- Historique : si vous avez gagné un marché similaire chez le même acheteur dans les 3 dernières années → bonus de pertinence
Ces ajustements transforment un score "métier" générique en score actionnable pour vous.
Couche 4 : scoring de winnabilité (offre payante uniquement)
Cette couche estime votre probabilité de gagner le marché si vous candidatez, basée sur :
- Données DECP historiques : sur les marchés similaires précédents (CPV + tranche de montant + acheteur), combien de candidats moyens ? Quelle fourchette de prix gagnant ?
- Détection du titulaire sortant : sur les marchés à renouvellement (marché-cadre arrivant à échéance), on identifie le titulaire actuel. S'il est plus petit que vous, vous avez un avantage. S'il est ETI dominante, vos chances sont réduites.
- Adéquation profil ↔ exigences DCE : score d'adéquation entre les qualifications/références exigées et celles que vous avez déclarées
Le score final est entre 0 et 100. Au-dessus de 70 = candidature à étudier sérieusement. Entre 40 et 70 = pertinent métier mais conditions difficiles. En dessous de 40 = on ne vous le notifie probablement pas (sauf si vous le demandez explicitement).
Ce que le scoring ne fait pas
Honnêteté technique :
- Il ne lit pas le DCE complet au moment du scoring (trop coûteux à grande échelle). Le DCE complet est lu uniquement quand vous demandez la fiche IA.
- Il n'est pas à 100 % fiable : un bon score n'est pas une garantie de gagner. C'est un signal pour prioriser votre temps de candidature.
- Il s'améliore avec votre feedback : quand vous notez un marché ("pertinent" / "pas pour moi"), le système réajuste votre profil et ses recommandations. Plus vous l'utilisez, plus il devient précis.
Sources et stack technique (pour les curieux)
- Ingestion : DECP consolidé (data.gouv.fr), BOAMP DILA, AIFE
- Embeddings : Voyage-3-lite (Anthropic-compatible)
- LLM pour fiches IA : Anthropic Claude (Haiku pour scoring rapide, Sonnet pour analyse DCE complète)
- Base : PostgreSQL 16 + pgvector pour la recherche vectorielle, postgis pour la géographie
- Pas de stockage long terme des contenus DCE après analyse (politique de rétention 90 jours)
Le scoring s'améliore avec l'usage. Créer un compte gratuit et donner votre premier feedback. Voir les autres articles application.