agentsclimarketplace

Market size

Skill Build-Your-Sales/data_gouv_mcp_bys/skills/market-size

Outil de ciblage B2B France pour directeurs commerciaux — branché sur data.gouv.fr (gratuit, 30M+ entreprises FR, méthode BYS)

Install
npx -y skills add Build-Your-Sales/data_gouv_mcp_bys --skill market-size

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Compute TAM/SAM/SOM on French companies using the data.gouv API Recherche d'entreprises — combines NAF codes, départements, tranches d'effectif and CA filters to produce sourced market sizes with scenarios. Use when the user asks for "market size", "taille de marché", "combien d'entreprises", "TAM/SAM/SOM", or to size a specific ICP.

SKILL.md

8.0 KB, ~2.6k tokens by cl100k_base, as published. Nobody here has run it

market-size — TAM / SAM / SOM via data.gouv

You compute the Total Addressable Market, Serviceable Addressable Market, and Serviceable Obtainable Market on French companies, sourced from the public API Recherche d'entreprises.

Definitions (BYS-flavored)

AcronymDefinitionFilters typically applied
TAMToutes les entreprises FR qui pourraient théoriquement avoir le problèmeNAF section + tranche d'effectif large + etat_administratif=A
SAMCelles qu'on peut vraiment servir (sweet spot ICP)TAM + département/région + tranche d'effectif sweet spot + CA range
SOMCelles qu'on va réellement atteindre sur 12 mois1-3% du SAM (réalité du cold outbound B2B)

Prerequisites

  • (Idéalement) clients/<client>/cab-p.md existe → on connaît l'ICP
  • Sinon : l'utilisateur peut lancer ce skill ad-hoc en donnant directement les critères

Flow

1. Récupérer ou demander les critères

Si cab-p.md ou icp.yaml existe : extraire les filtres pré-définis et confirmer avec l'utilisateur.

Sinon, demander une question à la fois :

  1. Secteur(s) cible(s) : description libre OU code(s) NAF directs (voir references/naf-codes.md pour aider à traduire)
  2. Tranche(s) de salariés : 1-9, 10-49, 50-249, 250-999, 1000+ (sera traduit en codes INSEE)
  3. Géographie : France entière / région / liste de départements
  4. CA cible (optionnel) : ex >1M€, 1M-20M€, >50M€
  5. Catégorie INSEE (optionnel) : PME / ETI / GE
  6. Filtres spéciaux (optionnel) : Qualiopi, ESS, RGE, organisme de formation, association

2. Calculer le TAM

Appel à l'API avec les filtres larges (juste section + tranche large + etat_administratif=A) :

curl -s "https://recherche-entreprises.api.gouv.fr/search?section_activite_principale=J&tranche_effectif_salarie=11,12,21,22,31,32,41,42&etat_administratif=A&per_page=1" -H "User-Agent: data-gouv-bys/0.1" | jq '.total_results'

Le champ total_results donne le compte. Pas besoin de paginer pour un comptage.

⚠️ L'API plafonne total_results à 10 000. Si tu reçois exactement 10000 :

  • Le vrai TAM est probablement > 10K
  • Documente le résultat comme "10 000+" dans le market-size.md
  • Pour un comptage précis : décompose par département (région → départements) puis somme, ou consulte le dataset SIRENE bulk sur data.gouv

3. Calculer le SAM

Resserrer les filtres avec tous les critères ICP (NAF précis, départements ciblés, CA range, catégorie, signaux qualité) :

curl -s "https://recherche-entreprises.api.gouv.fr/search?activite_principale=62.01Z,62.02A&departement=75,92,93,94,77,78,91,95&tranche_effectif_salarie=21,22&categorie_entreprise=PME,ETI&etat_administratif=A&per_page=1" -H "User-Agent: data-gouv-bys/0.1" | jq '.total_results'

4. Calculer le SOM

3 scénarios réalistes :

  • Conservateur : 1% du SAM atteignable sur 12 mois
  • Réaliste (BYS baseline) : 2% du SAM atteignable
  • Optimiste : 3% du SAM atteignable (avec brand fort + delivrabilité top + signaux récents)

Puis appliquer le taux de conversion outbound :

ÉtapeTaux médian
Email envoyé → ouvert50-70%
Ouvert → répondu5-9% (avec personnalisation)
Répondu → meeting30-50%
Meeting → opportunité40-60%
Opportunité → client15-30%

Multiplie le SOM par le funnel pour obtenir : meetings attendus, opportunités, deals fermés.

5. Sortie

Génère clients/<client>/market-size.md (ou affiche directement si standalone) :

# Market Size — <Client>
Date: 2026-05-21
Source: data.gouv.fr / API Recherche d'entreprises (snapshot 2026-05-21)

## ICP synthétisé
- Secteurs (NAF): 62.01Z (édition logiciel), 62.02A (conseil SI)
- Effectif: 50-249 salariés (tranches INSEE 21, 22, 31)
- Catégorie: PME, ETI
- Géo: Île-de-France (75, 77, 78, 91, 92, 93, 94, 95)
- État: A (active)

## TAM — Toutes les boîtes FR potentielles
**Critères TAM** : Section J (Information et communication), 10+ salariés, FR entière, actives.
**Résultat** : `X 234 entreprises`
- Hypothèse : toutes les entreprises tech FR de 10+ salariés ont *potentiellement* le problème

## SAM — Vrai cœur de cible
**Critères SAM** : NAF resserré + IDF + 50-249 + PME/ETI
**Résultat** : `Y 567 entreprises`
- Sweet spot validé (niveau 3-4 de la méthode BYS)
- 1-2 contacts ATL/BTL identifiables par boîte = ~ Y × 1.5 personnes

## SOM — Cible 12 mois
| Scénario | % SAM | Boîtes | Personnes |
|---|---|---|---|
| Conservateur | 1% | 5 | 7-8 |
| Réaliste | 2% | 11 | 16-17 |
| Optimiste | 3% | 17 | 25 |

## Funnel attendu (scénario réaliste, 11 boîtes / 17 personnes)
- Emails envoyés (3 séquences) : ~ 51
- Ouverts (60%) : ~ 31
- Réponses (7%) : ~ 4
- Meetings (40%) : ~ 1.5
- Deals (20% des oppos) : ~ 0.3

## Sensibilité
- Si on élargit à AURA + Occitanie : SAM × 2.3
- Si on accepte les 20-49 salariés : SAM × 4.1
- Si on ajoute les microentreprises (1-9 sal.) : SAM × 18 (mais qualité chute)

## Recommandations
- Le SAM est sain (Y > 500 boîtes) → budget de campagne dimensionné correctement
- 2-3 ciblages T1 + 4-5 T2 sont jouables sans saturer
- Risque : <warnings éventuels, ex: trop concentré sur l'IDF, ou dépendant d'un seul NAF>

6. Si TAM trop petit

Si TAM < 200 → demande poliment :

"Le TAM est très petit (X entreprises). C'est un marché de niche — ça marche en outbound mais avec moins de 10 leads/mois. Tu veux :

  1. Élargir la géographie (toute la France au lieu d'IDF) ?
  2. Élargir les tranches d'effectif (ajouter 250-999) ?
  3. Ajouter des NAF voisins ?
  4. Tester un autre segment d'abord et garder celui-ci en bonus ?"

7. Si TAM trop large

Si SAM > 10 000 → propose de resserrer :

"Le SAM est très large (X+ boîtes). C'est bien pour la pérennité, mais en outbound on personnalise au moins 30 leads/jour max. Tu veux qu'on resserre avec :

  1. Un signal récent (levée de fonds < 3 mois, hiring sales, croissance > 20%) ?
  2. Un CA range plus précis ?
  3. Un sous-secteur NAF plus pointu ?"

Helpers

Code Bash pour TAM/SAM en un coup

TAM=$(curl -s "https://recherche-entreprises.api.gouv.fr/search?section_activite_principale=J&etat_administratif=A&per_page=1" -H "User-Agent: data-gouv-bys/0.1" | jq -r '.total_results')
SAM=$(curl -s "https://recherche-entreprises.api.gouv.fr/search?activite_principale=62.01Z,62.02A&departement=75,92,93,94,77,78,91,95&tranche_effectif_salarie=21,22&categorie_entreprise=PME,ETI&etat_administratif=A&per_page=1" -H "User-Agent: data-gouv-bys/0.1" | jq -r '.total_results')
echo "TAM: $TAM | SAM: $SAM | SOM (2%): $(echo "$SAM * 0.02" | bc)"

Pour récupérer la liste des dirigeants d'une boîte par SIREN

curl -s "https://recherche-entreprises.api.gouv.fr/search?q=552120222" -H "User-Agent: data-gouv-bys/0.1" | jq '.results[0].dirigeants'

Rules

  • Always cite the source (data.gouv.fr / API Recherche d'entreprises, snapshot date)
  • Never invent numbers — every figure must come from an actual API call
  • Always show the 3 SOM scenarios (conservative / realistic / optimistic) — never a single point estimate
  • Always show sensitivity (what changes if we widen/narrow one filter)
  • Rate limit : 7 req/s max, add User-Agent header
  • If the user is doing market sizing standalone (no client folder), save the output to market-size-<topic>-<date>.md at the repo root or wherever the user is

Next step

"Le marché est validé. Si tu n'as pas encore les 10 ciblages, lance /data-gouv-bys:ciblage. Sinon, /data-gouv-bys:handoff-outbound pour pousser vers l'Outbound Engine."

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.