En 30 secondes
On analyse chaque entreprise française PME/ETI sur 6 axes d'AI-readiness, on les combine en un composite 0-100 pondéré selon une thèse ICP (freelance IA/automation), et on range le dossier dans un tier A→E qui fixe le prix.
Le processus est un pipeline en 3 passes : scoring arithmétique bon marché (P1), deep research web+social (P2), rédaction du dossier premium (P3). Chaque pain cité est tagué observed (source citée) ou inferred (déduction multi-signaux) — jamais speculative.
Les 6 axes
| Axe | Poids | Description |
|---|---|---|
| Budget | 25% | Capacité à signer un deal 15-50 k€. Calculé depuis levées, stade, investisseurs, taille effectifs. |
| Tech | 15% | Maturité de la stack. Un mix legacy + moderne est souvent plus intéressant qu'une stack 100% IA-native. |
| Team | 10% | Capacité à exécuter en interne. Une grosse équipe tech limite la scope d'une mission externe. |
| Pain | 25% | Douleur opérationnelle identifiée. Détectée dans job postings, posts LinkedIn, reviews G2/Capterra. |
| Culture | 5% | Propension à payer de l'externe. Signal faible, utile en cas d'égalité. |
| Timing | 20% | Fenêtre d'achat. Dates pivot < 60 jours, saison budgétaire, hiring velocity. |
Pourquoi ces poids ?
Cette pondération est opinionnée : elle reflète la thèse d'un freelance IA/automation qui cherche des PME/ETI avec un pain ACTIONNABLE et un BUDGET pour payer.
- Pain + Budget = 50% — sans observation d'un pain ET sans moyens de payer, le reste n'a aucun intérêt.
- Timing 20% — même un bon pain + budget, s'ils ne vont pas signer dans 12 semaines, le dossier vaut moins.
- Tech 15% — informatif mais secondaire (une entreprise legacy avec du pain est une meilleure cible qu'une IA-native sans pain).
- Team 10% — une grosse équipe tech limite la scope d'une mission externe sans la rendre impossible.
- Culture 5% — signal faible, utile en cas d'égalité.
Cette pondération est fixée par ICP. Pour un autre profil (ex : freelance data engineering pur), les poids devraient changer.
Composite final
composite = Σ (axe_score × poids) / 100
= 0.25·pain + 0.25·budget + 0.20·timing
+ 0.15·tech + 0.10·team + 0.05·cultureArrondi à l'entier, borné 0-100.
Evidence tagging — la garantie anti-biais
Chaque pain_vector dans un dossier porte un evidence_level obligatoire :
- 🟢 observed — fait cité avec quote directe + URL. Ex : « Le CTO dit sur LinkedIn 'on passe 30% du temps data en ETL bricolé' ».
- 🟡 inferred — déduction raisonnable de 2+ signaux observés. L'
inference_reasonest toujours explicitée. - ❌ speculative — jamais dans les pain_vectors. Isolé dans une section « Hypothèses à valider » avec
how_to_validate.
Pourquoi c'est important. On a eu des dossiers (pré-22 avril 2026) qui citaient « conformité RGPD (cookies) » comme pain, alors qu'un bandeau cookies est obligatoire CNIL depuis 2020 et n'est jamais un signal d'AI-readiness. On a ajouté une liste explicite de SIGNAUX NULS (cookies, mentions légales, DPO basique, WCAG niveau 1) à ne jamais citer comme pain, et un grep anti-biais post-génération flag les dossiers contaminés.
Pipeline 3 passes
Signal brut (scrape n8n)
↓
┌─────────────────────────────────────────┐
│ P1 — Scoring arithmétique (3s · 0.0003$)│
│ • Heuristiques SQL sur data structurée │
│ • LLM ajuste chaque axe de -15 à +60 │
│ • Seuil P2 : composite ≥ 40 OR funding │
└─────────────────────────────────────────┘
↓
┌─────────────────────────────────────────┐
│ P2 — Deep research (60-90s · 0.01-0.05$)│
│ • Grok + web_search + x_search natifs │
│ • 5 recherches obligatoires min │
│ • 8-15 sources citées, cliquables │
│ • Evidence tagging (observed / inferred)│
│ • Seuil P3 : composite ≥ 50 OR obs ≥ 2 │
└─────────────────────────────────────────┘
↓
┌─────────────────────────────────────────┐
│ P3 — Dossier premium (60-90s · 0.05$) │
│ • 17 sections structurées │
│ • 8-14k chars │
│ • Outreach kit (email + LinkedIn) │
│ • Anti-bias grep post-génération │
└─────────────────────────────────────────┘Ce qui se passe dans P1
Scoring arithmétique pur (SQL, pas de LLM) sur les données structurées : taille d'effectif, levée récente, stack détecté, date du signal. Baseline 0-100 par axe.
Ensuite, un petit LLM (Gemma 4-31B via DeepInfra) lit le signal et ajuste chaque axe d'un delta de -15 à +60 avec une raison courte. Coût moyen : 3 centimes au mille signaux P1.
Ce qui se passe dans P2
Pour les signaux qui passent le seuil P1 (composite ≥ 40 ou fundraising), on lance une recherche approfondie avec Grok et ses outils natifs web_search + x_search.
Recherches obligatoires :
- Identité & fondateurs — LinkedIn, parcours, ex-employeurs
- Concurrents IA-natifs — au moins 3 pure-players du secteur
- Pattern de distribution — canaux, partenaires stratégiques
- Warm intros — alumni, ex-collègues, investisseurs croisés
- Timing — fenêtre optimale (0-12 semaines), risques après
Ce qui se passe dans P3
Pour les signaux qui qualifient (composite ≥ 50 OU observed_pains ≥ 2), on génère le dossier premium : markdown 4-5 pages + kit outreach prêt à envoyer.
Anti-bias grep post-génération : 5 regex cherchent les patterns suspects (cookies cités comme pain, conformité RGPD listée avec bandeau, etc.). Si match, le dossier est marqué bias_warning=true pour review humain avant publication.
Estimation du budget mission
Chaque dossier affiche un budget estimé pour la mission. Cette estimation ne sort pas du LLM. Elle vient d'une table de benchmarks calibrée sur le vrai marché freelance IA France 2026.
Comment on procède
- Matching pattern — l'IA tague chaque pain avec un pattern de mission parmi 17 patterns pré-définis (audit IA, POC, RAG, agent autonome, ELT, automation, HubSpot, BI, scoring ML, MLOps, compliance, architecture IA, staff aug, HPC, formation).
- Lookup benchmark — pour chaque pattern, on lit le budget marché réel dans
mission_pricing_benchmarksavec URLs sources, quotes et date de révision. - Affichage — fourchette min–max + sources cliquables + badge « 🛡️ bet conservateur ».
Pourquoi la posture conservatrice
Les fourchettes publiques (Plateya, YouFeel, Malt) incluent agences + cabinets + grands comptes. Un freelance solo ciblant TPE/PME va chercher 500-700 €/j, pas 1500-2000 €/j. On a pris la réalité TPE/PME freelance solo comme source, validée par :
- • France Num (gouv.fr) — budget moyen projet IA PME 3-8 k€
- • Bpifrance Diag Data IA — 7 500 € HT reste à charge après aide 25%
- • Codeur — chatbot basique 500-2 000 €, e-commerce 5-12 k€
- • Synoptia — automation 10h/sem 3-5 k€, TJM 350-650 €
- • Onyri Strategy — prédiction/classification PME 8-35 k€
- • Tensoria — coût projet IA PME 500-50 k€ selon complexité
Exemples de recalibration :
| Pattern | Public | Notre fourchette |
|---|---|---|
| Audit stratégique IA | 3-8 k€ | 2-5 k€ (typ. 3 k€) |
| POC IA simple | 5-15 k€ | 2.5-7 k€ (typ. 4.5 k€) |
| RAG chatbot interne | 10-25 k€ | 3.5-9 k€ (typ. 6 k€) |
| Agent IA autonome | 20-50 k€ | 6-15 k€ (typ. 10 k€) |
| Compliance CSRD/DORA | 25-60 k€ | 10-25 k€ (typ. 16 k€) |
| Automation workflow | 5-15 k€ | 1.8-6 k€ (typ. 3.5 k€) |
| Pipeline ELT | 10-28 k€ | 4-11 k€ (typ. 7 k€) |
Un freelance senior notoire avec clients ETI peut pratiquer +50% voire plus. Un POC TPE cadré peut tomber −30%.
Philosophie
Mieux vaut sous-promettre et voir la réalité surperformer, que sur-estimer et décevoir. Quand un freelance signe à 28 k€ une mission que Vigie estimait 15-22 k€, il retient qu'on est honnêtes. Si Vigie avait affiché 35-50 k€ et qu'il signe à 28, il retient qu'on enjolive.
Actualisation
La table de benchmarks est revue tous les 3 mois. La date last_reviewed_at est affichée sur chaque dossier. Long terme : remplacer les benchmarks publics par les vraies données de ventes Vigie pour plus de précision.
Pourquoi on n'affiche plus buy_probability × budget
Dans la v1, on affichait une « valeur espérée ». C'était une erreur :
- Le
buy_probabilitydu LLM n'est pas calibré sur des données historiques de conversion. - Multiplier deux estimations floues donne une fausse précision (« 26 150 € ») trompeuse.
- Un freelance ne raisonne pas en espérance statistique sur son petit échantillon — il préfère souvent 1 deal 50 k€ low-proba à 3 deals 16 k€ high-proba.
Maintenant : budget = factuel marché, buy_probability = signal qualitatif séparé (3 tiers basse/moyenne/haute). Les deux sont affichés indépendamment.
Calcul du Tier & du prix
Le prix final est fixé par une fonction SQL déterministe compute_dossier_tier(composite, observed_pain_count). Pas d'arbitraire : même entrée = même tier.
| Tier | Règle | Prix |
|---|---|---|
| A | composite ≥ 80 OU 3+ observed pains | 79 € |
| B | composite 70-79 | 49 € |
| C | composite 60-69 | 29 € |
| D | composite 50-59 ET 2+ observed pains | 19 € |
| E | tous les autres cas | non publié |
Pourquoi l'override « 3+ observed pains → tier A » ?
Un dossier à composite 66 avec 3 pains observés sources à l'appui vaut davantage qu'un dossier à composite 75 avec 0 observation (que des inférences). Le nombre de pains observés est un meilleur prédicteur d'achat que le composite brut.
Pourquoi l'override « < 50 + < 2 observed → non publié » ?
Publier un dossier bas composite avec que des inférences reviendrait à vendre du bruit. On archive ces dossiers et on ne les montre pas. Ils restent en DB pour analyse statistique.
Prix en centimes en DB
Le champ priced_at_eur_cents stocke le prix en centimes (3900 = 39 €, 2900 = 29 €, 0 pour tier E). Convention de saine ingénierie : éviter les erreurs d'arrondi sur float. Le front divise toujours par 100 avant affichage.
Limites assumées
Pour être honnête, voici ce qu'on ne garantit pas :
- Le composite n'est pas un score de probabilité d'achat. C'est une estimation de readiness. Un dossier à 75 peut ne pas acheter si la personne de contact est mal choisie. C'est pour ça qu'on fournit un Decision Unit complet.
- Les warm intros ne sont pas vérifiées humainement. Déduites de signaux publics (LinkedIn, écoles, historique VC). À valider avant d'envoyer un message.
- Les
buy_probabilitysont des estimates basées sur l'urgence et l'evidence level, pas des probabilités actuarielles. On peut se tromper. - Les scores peuvent dériver dans le temps. Une entreprise tier A en avril peut tomber tier C en juillet si sa fenêtre timing s'est fermée. Au-delà de 6 semaines, relance un nouveau scan.
- Le pipeline rate les signaux non-scrapés (certains job boards, posts privés, communications investisseurs non publiques). On traite ce qu'on peut détecter.
FAQ
llm_model sur chaque dossier.web_search. Le dossier porte alors sur le vrai employeur, avec une bannière ℹ️ expliquant via quel canal le signal a été capté.Versions
- v1 (2026-04-18) — pipeline initial sans evidence tagging
- v2 (2026-04-22) — evidence_level (observed/inferred/speculative), anti-bias, tier D unlockable avec 2+ observed
- v3 (2026-04-23) — détection intermédiaires (real_employer), tier A avec 3+ observed, prix en centimes
Contact : aymen@intentroom.ai · Dernière mise à jour : 2026-04-23