Concurrents
Ce que vous faites
On vous a demandé qui d'autre est présent sur le marché d'une startup, à quel prix, avec quel financement – et à quelles conditions des entreprises similaires ont été vendues.
ÉCRIRE LE TEST ──► EXPLORER ──► CLASSER ──► PRIX ──► FINANCEMENT ──► COMPS M&A
quoi compter ? plusieurs direct / à périm. qui soutient qui a acheté
routes indirect équiv. qui qui, à quel prix
Livrables – exactement quatre fichiers dans <slug-entreprise>/competitor-research/, par rapport au répertoire de travail actuel :
competitor-report.md– la note. Le livrable principal.competitors.csv– une ligne par concurrent, avec classification, prix, financement, preuve.price-ladder.png– un graphique de comparaison des prix.<slug-entreprise>_market_analysis.xlsx– le classeur partageable à deux feuilles : concurrents + comparables M&A (Étape 9).
Plus raw/ contenant chaque page récupérée, textuellement, et workbook-data.json – l'entrée structurée du classeur.
Entrées
Depuis $ARGUMENTS ou la conversation : une entreprise. Un dossier, un deck libre, ou simplement un nom ou une URL – les trois fonctionnent (Étape 0). Si deux sociétés partagent le même nom, demandez laquelle avant de lancer une récupération.
Étape 0 – Construire ce qui n'existe pas
Ne jamais signaler « aucune donnée ».
La fiche entreprise
<slug-entreprise>/company-profile.md – lisez-la d'abord. Si elle est manquante, créez-la. Si un champ est vide et que vous l'apprenez, remplissez-le et mettez à jour updated / updated_by. Ne jamais écraser un champ rempli : si vous trouvez une valeur différente, ajoutez une ligne dans ## Conflits avec les deux valeurs et les sources. La fiche se termine par une section ## Conflits (créez-la si elle manque) dont l'en-tête de tableau est exactement | Champ | Valeur fiche | Source fiche | Nouvelle valeur | Nouvelle source | Trouvé par | Date |.
| Champ | Valeurs autorisées |
|---|---|
| Job fait pour le client | une phrase, dans les mots de l'entreprise, citée, avec URL |
| Qui paie | texte libre |
| Modèle économique | B2B · B2C · B2G |
| Modèle de revenus | abonnement · transaction · publicité · unique · n.d. |
| Marché | exactement un : Fintech & assurance · Santé & bio · Commerce & vente au détail · Logistique & chaîne d'approvisionnement · IA & infrastructure de données · Logiciel d'entreprise · Cybersécurité · Juridique, conformité & gouvernance · Ventes & marketing · RH & talents · Éducation · Médias, jeux & divertissement · Immobilier & construction · Énergie, climat & agriculture · Industriel & robotique · Services et style de vie grand public · Autre |
| Vertical | texte libre |
| Stade | pré-amorçage · amorçage · Série A · Série B+ · n.d. |
| Géographie | pays du siège social ; pays où elle vend |
| Tour de financement en cours | montant + devise + instrument, ou « non communiqué » |
| Métriques disponibles | où (updates/, exports), ou « aucun » |
Préambule : company, slug, website, updated (date ISO), updated_by (nom de la compétence).
Le tableau de la fiche a une troisième colonne, Source, remplie pour chaque champ.
Utilisez la fiche au lieu de rechercher à nouveau ce qu'elle contient déjà : sa ligne « Job fait pour le client » est le job dont vous avez besoin ci-dessous. Recherchez à nouveau l'offre de l'entreprise uniquement pour les champs vides.
dossier + deck → lisez-le, allez-y
deck libre → construisez le dossier, deck dans <slug-entreprise>/deck/
nom uniquement → construisez le dossier, puis RECHERCHEZ ce que l'entreprise vend
Vous avez besoin d'une chose avant l'Étape 1 : quel job cette entreprise fait-elle pour son client ? Prenez-le de la fiche s'il est rempli ; sinon, obtenez-le du site de l'entreprise, dans ses propres mots, pas d'une étiquette de catégorie, et écrivez-le dans la fiche. Sauvegardez chaque récupération dans raw/.
Créez le dossier de l'entreprise <slug-entreprise>/ : le deck, s'il y en a un, va dans deck/, votre sortie dans competitor-research/.
Étape 1 – Écrire le test
Avant de nommer un seul concurrent, écrivez ce qu'une entreprise doit faire pour en être un. Décomposez le job en composantes observables.
un service physique pourrait nécessiter trois composantes :
collecte chez le client · stocke hors site · redistribue sur demande
un outil B2B pourrait en nécessiter deux :
sert le même acheteur · remplace la même ligne budgétaire
Puis les trois classes :
DIRECT fait tout le job, attesté sur son propre site
ANCIEN DIRECT l'a fait autrefois – n'opère plus indépendamment
INDIRECT échoue sur au moins une composante, mais conteste le même
client / point de prix / capital
Le test est imprimé dans le rapport, afin qu'un lecteur puisse classer une entreprise que l'exploration aurait manquée. C'est aussi la seule défense contre les deux modes d'échec ici : compter les entreprises adjacentes comme rivales, et manquer les rivales qui se décrivent différemment.
⚠️ Les catégories partagent rarement un vocabulaire. Le même produit est vendu avec des mots différents par différents vendeurs. Si vous explorez uniquement les mots que l'entreprise utilise pour se décrire, vous manquerez systématiquement les opérateurs plus grands, plus anciens, mieux distribués qui utilisent un langage établi. Écrivez le test sur la fonction, jamais sur l'auto-description.
Étape 2 – Explorer, via plusieurs routes indépendantes
Une seule recherche n'est pas une exploration. Lancez au moins quatre routes qui pourraient chacune faire émerger un concurrent que les autres manquent :
1 vocabulaire chaque mot utilisé par la catégorie, pas seulement ceux de l'entreprise
2 le client que rechercherait réellement un acheteur ?
3 registres Codes SIC du Companies House · SEC EDGAR · organismes professionnels
4 côté offre qui vend des logiciels/services À ces opérateurs ?
leurs listes de clients sont un recensement
5 traces inverses pages de comparaison de concurrents, pages « alternatives à X »,
catégories de sites d'avis
6 capital presse de financement, portefeuilles d'accélérateurs et d'investisseurs, et
`<slug-entreprise>/competitor-candidates/candidates.csv`, s'il existe
La Route 6 lit le fichier de candidats. <slug-entreprise>/competitor-candidates/candidates.csv
(écrit par thesis-fit) a les colonnes name,domain,fund,portfolio_url,why_flagged,found_by,date_found.
Chaque ligne est un candidat : il reçoit le test de l'Étape 1 comme tout autre nom, et est jugé à l'Étape 3.
Une ligne dont le name est none found signifie que le portefeuille de ce fonds a été exploré – ne l'explorez pas à nouveau.
Un candidat qui échoue au test de l'Étape 1 et ne conteste pas le même acheteur est exclu (Étape 3) : il n'obtient pas de ligne CSV et est listé dans la section Méthode comme « exclu – <quelle composante il a échoué> », jamais supprimé silencieusement.
La section Méthode de la note indique combien de candidats proviennent des portefeuilles de fonds et comment chacun a été jugé.
Règle d'arrêt : arrêtez-vous lorsque deux routes consécutives n'ajoutent aucun nouveau concurrent matériel. L'exploration n'a convergé que si aucune route n'a laissé de liste nommée non vérifiée (un annuaire, une liste de clients, une page « alternatives à X » dont les noms n'ont pas tous été testés) ; sinon, le décompte est un minimum. Si vous vous arrêtez avant – budget, blocages, temps – dites-le dans la note et appelez le décompte un minimum. Un recensement qui n'a pas convergé est un minimum, pas un maximum, et le lecteur doit savoir lequel il a.
⚠️ Les bases de données firmographiques payantes NE sont PAS une septième route. Apollo.io a été mesuré par rapport à un recensement artisanal de 34 opérateurs le 2026-08-06 : il a récupéré 56 % à l'aveugle, a généré 50 % de faux positifs, et 8 opérateurs sur 34 étaient absents de son index. C'est une couche d'enrichissement, pas une route de découverte. Deux règles survivent de ce test et s'appliquent à toute source de ce type :
une ligne de base de données est un CANDIDAT, jamais un concurrent
→ elle nécessite toujours le test de l'Étape 1, attesté sur le site de l'entreprise.
Le texte de description de la base de données est un tiers et ne compte pas.
une ligne non appariée signifie INCONNU, jamais PETIT
→ un échec de couverture est silencieux : une entreprise absente de la base
renvoie vide, pas signalée.
Notez chaque opérateur au fur et à mesure :
MATÉRIEL multi-ville, financé, franchisé, ou manifestement à l'échelle
MINEUR en activité, mais mono-marché ou sous-dimensionné
MICRO une personne, avant lancement, ou entité commerciale invérifiable
Étape 3 – Classifier
Appliquez le test de l'Étape 1 à chacun. La preuve pour chaque classification est une citation du propre site de l'entreprise, enregistrée dans le CSV.
Décisions limites à prendre explicitement, car elles reviennent :
semble similaire, échoue sur une composante → INDIRECT, et dites quelle composante
même job, main-d'œuvre différente → généralement INDIRECT – nommez la différence
mort ou absorbé → ANCIEN DIRECT, avec ce qui lui est arrivé
échoue sur une composante ET ne conteste → EXCLU – pas un concurrent : pas de ligne CSV ; listé dans la
pas le même acheteur section Méthode comme « exclu – <composante échouée> »
Les anciens concurrents directs valent un réel effort. Ce qui est arrivé aux entreprises qui ont déjà essayé ceci est souvent la section la plus pertinente pour la décision dans le rapport : qui les a achetées, pour combien, par rapport à combien levé.
Étape 4 – Prix
À PÉRIMÈTRE ÉQUIVALENT même unité, même marché, palier par palier ← la vraie comparaison
PRIX D'ENTRÉE UNIQUEMENT « à partir de X€ » – base différente ← étiqueté comme tel
Règles :
- Uniquement les prix publiés sur la propre page de l'opérateur. Pas la version du deck du prix d'un concurrent. Re-extrayez-les vous-même.
- Comparez le titre au titre, et le palier correspondant au palier correspondant. Appliquer les réductions d'une entreprise tout en citant les autres au prix catalogue est la façon standard dont ce tableau ment.
- Lorsque les unités diffèrent réellement, dites-le plutôt que de forcer une comparaison.
- Enregistrez ce qui est exclu – frais d'installation, livraison, onboarding, minimums.
Étape 5 – Financement, par concurrent
Pour chaque entreprise trouvée :
total levé devise + montant
dernier tour stade + date
investisseurs qui a mené
source d'où cela provient
drapeau D / E / N/D ← N/D = non divulgué, PAS zéro
Où chercher, par ordre de confiance :
SEC EDGAR / Formulaire D ─┐
Companies House ├─ documents → drapeau D
propre page de l'entreprise ─┘
presse de financement ── rapporté → drapeau E
agrégateurs ── bruyant → drapeau E, et nommez lequel
⚠️ Vérification d'entité – l'omettre a déjà produit deux chiffres erronés lors d'exécutions réelles.
« Boombox a levé 7M$ auprès de Forerunner + Ulu »
│
└─► ce tour appartient à boombox.io – une entreprise de MUSIQUE générative IA.
L'entreprise de stockage du même nom n'a aucun historique de financement.
Même source : « BOXIE24, 5,5M$ Série A » → ce tour n'existe pas.
Le tour doit nommer CETTE entreprise – ce domaine, ce marché, ce pays. Même nom n'est pas même entreprise. Si vous ne pouvez pas le lier, marquez
N/D. N'empruntez jamais un tour.
Les deux chiffres erronés ci-dessus provenaient de comparables fournis par l'entreprise. Traitez le financement des concurrents fourni par l'entreprise comme une piste à vérifier, jamais comme une source.
Étape 6 – Comparables M&A
Qui a acheté des entreprises comme celle-ci, et à quel prix ? Explorez les acquisitions dans la catégorie – presse d'acquisition, annonces de l'acquéreur, dépôts SEC, Companies House, la piste des anciens directs de l'Étape 3 (ces sorties appartiennent ici aussi).
Trois niveaux de comparable, et chaque ligne indique quel niveau elle est dans sa propre cellule de description – un lecteur de la seule feuille doit savoir à quel type de comparable il a affaire :
1 ANALOGUE PRODUIT DIRECT même produit, acquis
2 ANALOGUE CLIENT / ICP même acheteur et ligne budgétaire, produit différent
(ICP = profil client idéal)
3 RÉFÉRENCE FINANCIÈRE acteur horizontal plus grand dont la transaction ancre
la fourchette de multiples – étiqueté « référence financière,
pas un analogue produit »
Par transaction, recherchez : acquéreur · année de la transaction · valeur de transaction / VE (avec réserves sur la structure) · revenu au moment de la transaction · VE/Revenu · EBITDA · VE/EBITDA · autres métriques au moment de la transaction · justification de la transaction (ce que l'acquéreur a dit acheter).
Discipline – ce tableau est l'endroit où les multiples sont inventés, donc :
« IMPOSSIBLE À CALCULER » EST UNE RÉPONSE. Ne dérivez jamais un multiple à partir de :
· une participation partielle (80 % des capitaux propres n'est pas la VE)
· une formule d'earn-out (4,25× l'EBITDA comme formule de paiement n'est pas un multiple)
· des périodes non alignées (revenu 2018 sous un prix de transaction 2021)
· des chiffres au niveau du groupe (le revenu de la maison mère n'est pas celui de la filiale)
Écrivez « Impossible à calculer » et dites pourquoi, dans la cellule.
« NON DIVULGUÉ » EST ÉCRIT EN TOUTES LETTRES. Jamais un N/D nu, jamais un blanc –
non divulgué ≠ zéro, et une cellule vide se lit comme « rien là ».
LA VÉRIFICATION D'ENTITÉ S'APPLIQUE AUX TRANSACTIONS. La transaction doit nommer CETTE entreprise –
même domaine, même marché. N'empruntez jamais une acquisition pas plus qu'un tour.
Chaque chiffre porte sa source comme un lien hypertexte dans le classeur (Étape 9) et une ligne dans la table des sources du rapport. Lorsqu'un prix rapporté par la presse n'est confirmé par aucune des parties, dites-le à côté du nombre.
Clôturez l'étape avec un paragraphe de synthèse – il devient la ligne du bas de la feuille M&A du classeur : le marché des transactions est-il prouvé, qui sont les acquéreurs probables de cette entreprise, et quelle fourchette de multiples les transactions divulguées soutiennent-elles réellement – en nommant quelles entreprises forment les bornes (une fourchette bornée par un SaaS horizontal et une société de services n'est pas une fourchette d'analogues directs, et le lecteur doit en être informé).
Étape 7 – Écrire le CSV
competitors.csv, colonnes exactement :
name, domain, country, classification, grade, legs_matched, evidence, status, price_entry, price_basis, price_like_for_like, total_raised, last_round, investors, funding_flag, funding_source, confidential, note, url
classification–direct·former direct·indirect·unverifiedgrade–material·minor·microevidence– la citation textuelle qui l'a placé dans sa classeconfidential–no(par défaut, attesté publiquement) ·yes(provenant de la data room)
Un seul CSV, pas deux. Si une copie partageable est nécessaire plus tard, videz les champs sur les lignes confidential = yes et conservez les lignes – le filtrage des lignes supprime des concurrents que le rapport présente, ce qui a déjà dû être annulé une fois.
Étape 8 – Le graphique
Utilisez n'importe quel Python 3 disposant de matplotlib. Le graphique price-ladder.png doit montrer chaque concurrent (direct et indirect pertinent) sur l'axe des Y, avec son prix d'entrée et son prix à palier correspondant (le cas échéant) comme des barres horizontales, avec une légende et des titres en français. Assurez-vous que le graphique soit lisible, avec une palette de couleurs professionnelle.
Étape 9 – Le classeur
<slug-entreprise>_market_analysis.xlsx doit contenir deux feuilles :
Concurrents: reprend les données du CSV, avec une colonne supplémentaireSource(lien hypertexte vers la page de preuve).M&A: reprend les données de l'Étape 6, avec une colonneType de comparable(Analogue produit direct, Analogue client/ICP, Référence financière) et une colonneSource(lien hypertexte).
Le classeur doit être formaté professionnellement (en-têtes en gras, largeurs de colonnes ajustées, couleurs alternées pour les lignes).
Étape 10 – Rapport
Rédigez competitor-report.md avec les sections suivantes :
# Analyse concurrentielle : [Nom de l'entreprise]
## Résumé exécutif
[Synthèse des 2-3 conclusions principales]
## Test d'appartenance
[Le test de l'Étape 1]
## Méthode
[Comment l'exploration a été menée, combien de routes, combien de candidats des fonds, etc.]
## Concurrents directs
[Liste des concurrents directs avec preuves]
## Anciens concurrents directs
[Liste des anciens directs avec détails de sortie]
## Concurrents indirects
[Liste des concurrents indirects avec la composante échouée]
## Analyse des prix
[Comparaison des prix avec tableau]
## Analyse du financement
[Tableau des financements par concurrent]
## Comparables M&A
[Analyse des transactions avec fourchette de multiples]
## Exclus
[Liste des exclus avec la composante échouée]
## Sources
[Tableau des sources avec liens hypertextes]
Format de sortie final
Le script de la compétence doit produire ces fichiers dans <slug-entreprise>/competitor-research/ :
competitor-report.mdcompetitors.csvprice-ladder.png<slug-entreprise>_market_analysis.xlsx
Et également créer/sauvegarder dans raw/ toutes les pages Web récupérées, et workbook-data.json.
Notes importantes
- Ne jamais signaler « aucune donnée » – construisez ce qui manque.
- Le test fonctionnel est crucial – écrivez-le sur la fonction, pas sur l'auto-description.
- Explorez via au moins quatre routes indépendantes ; dites si l'exploration n'a pas convergé.
- Les bases de données firmographiques ne sont pas une route de découverte.
- Vérifiez toujours l'entité pour le financement et les transactions M&A.
- Un seul CSV ; les données confidentielles sont vidées mais les lignes conservées.
- Le classeur doit être partageable et professionnellement formaté.
- Invoquer avec « qui concurrence X », « recherche concurrentielle sur X » ou « /competitors X ».