# Ciblage

> Run the full BYS targeting methodology on the French market — Discovery (10 questions), CAB-P matrix, 10 ciblages (signal × persona × geo) backed by real French companies fetched via the data.gouv MCP and the API Recherche d'entreprises. Use after /data-gouv-bys:setup to produce the strategic brief and lead lists.

- Skill: `build-your-sales/ciblage` (Agent Skill)
- Install (CLI): `npx skillmds@latest add build-your-sales/ciblage`
- Raw SKILL.md: https://api.skillmd.com/api/skills/build-your-sales/ciblage/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Product & Planning
- Author: Build-Your-Sales (https://skillmd.com/u/build-your-sales)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/build-your-sales/ciblage

---


# ciblage — BYS Targeting Method on data.gouv

You guide the user through the complete Build Your Sales targeting methodology, augmented with **real French company data** from the data.gouv MCP and the public API Recherche d'entreprises.

## Prerequisites

- `clients/<client>_<date>/client.yaml` exists (created by `/data-gouv-bys:setup`)
- The data.gouv MCP is connected (run `setup` first if not)
- Read `references/methodology-bys.md` for the full reference of the CAB-P, ABM tiers, look-alike, and sweet spot principles

## Flow

The flow has **4 steps**, each producing a file in the client folder:

```
Step 1 — Discovery   → discovery.md
Step 2 — CAB-P       → cab-p.md
Step 3 — Recap       → recap.md
Step 4 — 10 Ciblages → campaigns/C01.../ciblage.md (×10)
```

### Step 1 — Discovery (mandatory)

Ask these questions **ONE AT A TIME** (never dump all 10 at once):

1. URL du site web de votre boîte
2. URL LinkedIn de la boîte
3. Autres URLs utiles (Crunchbase, blog, case studies, landing)
4. Décris ton offre en 2-3 phrases
5. Qui sont tes clients actuels ? (secteurs, tailles, géographies)
6. Quel est ton deal size moyen / ACV ?
7. Tu as des case studies / témoignages clients utilisables ?
8. Qui sont tes concurrents directs ?
9. **France uniquement ou plusieurs pays ?** (data.gouv ne couvre que la France — si multi-pays, on traite la France ici et on bascule sur Lemlist People DB pour les autres via l'outbound engine)
10. Y a-t-il des exclusions ? (clients existants, concurrents, secteurs interdits, tailles à exclure)

**Automatic enrichment** : après que l'utilisateur a répondu à la question 1, scrape le site et le LinkedIn en arrière-plan (via Firecrawl si dispo) pour combler les blancs des questions suivantes. Ne pas re-demander ce qu'on a déjà extrait.

Sauvegarde le résultat dans `clients/<client>/discovery.md` au format :

```markdown
# Discovery — <Client>

## Q1 — Site web
<url>

## Q2 — LinkedIn
<url>

...

## Enrichissement automatique (sources)
- Site : <bullets de ce qu'on a trouvé>
- LinkedIn : <bullets>
```

### Step 2 — CAB-P

Depuis la discovery, génère la matrice **Caractéristiques / Avantages / Bénéfices / Douleurs** :

| Offre | Caractéristiques | Avantages | Bénéfices | Douleurs visées |
|---|---|---|---|---|
| ... | features concrètes | différenciation vs concurrents | impact business (ROI, temps, risque) | ce qui empêche le prospect de dormir |

Présente la matrice et **demande validation explicite** :
> "Voilà la matrice CAB-P. Les douleurs sont-elles bien formulées du point de vue du prospect (pas du vendeur) ? Il manque des bénéfices ?"

**N'AVANCE PAS aux ciblages sans validation utilisateur.**

Sauvegarde dans `cab-p.md`.

### Step 3 — Recap

Génère un résumé court (5-10 lignes) qui combine discovery + CAB-P. Sauvegarde dans `recap.md`. Ce fichier sera utilisé par le handoff vers l'outbound engine.

### Step 4 — 10 Ciblages (cœur de la méthode)

Propose **jusqu'à 10 micro-campagnes** en combinant :

- **Signal** : `funding`, `hiring`, `growth`, `newleader`, `techchange`, `lookalike`, `expansion`, `compliance`, `seasonal`, `pain-trigger`
- **Persona** : titre + seniority (ATL = VP/C-level, BTL = manager/IC)
- **Geo** : `fr-national`, `fr-idf`, `fr-aura`, `fr-paca`, `fr-occitanie`, `fr-grand-est`, etc.
- **Tier ABM** : T1 (<50 leads, 1:1), T2 (50-150, segmenté), T3 (150+, templates)

#### Pour chaque ciblage :

1. **Convertir l'ICP en filtres data.gouv** :
   - Section / NAF code(s) → `activite_principale=62.01Z,62.02A` ou `section_activite_principale=J`
   - Tranche d'effectif → `tranche_effectif_salarie=12,21,22` (10-49 salariés). Voir `references/tranches-effectif.md`
   - Département / région → `departement=75,92,93,94,77,78,91,95` (Île-de-France) ou `region=11`
   - Catégorie → `categorie_entreprise=PME,ETI`
   - CA min/max si pertinent → `ca_min=1000000&ca_max=20000000`
   - État administratif → toujours `etat_administratif=A` (entreprises actives)
   - Filtres BYS spécifiques : `est_qualiopi=true` (orgs de formation), `est_rge=true` (BTP éco), `est_ess=true` (économie sociale), `est_organisme_formation=true`

2. **Pré-tester le ciblage via l'API** :
   ```bash
   curl -s "https://recherche-entreprises.api.gouv.fr/search?activite_principale=62.01Z&departement=75,92,93,94&tranche_effectif_salarie=21,22&per_page=1" -H "User-Agent: data-gouv-bys/0.1" | jq '.total_results'
   ```
   - Si `total_results < 30` → cible trop étroite, propose d'élargir (autre NAF voisin, région voisine, tranche d'effectif élargie)
   - Si `total_results > 2000` → cible trop large, propose de resserrer (CA min, signal, sous-secteur)
   - **Sweet spot** : 50 à 500 entreprises matchant les critères, dont on tirera 30-50 leads après filtrage humain/look-alike

3. **Créer le dossier campagne** :
   ```
   clients/<client>/campaigns/C{01-10}_<signal>_<persona>_<geo>/
   ├── campaign.yaml
   └── ciblage.md
   ```

4. **Générer `campaign.yaml`** :
   ```yaml
   campaign:
     code: C01
     signal: funding
     persona: vp-sales
     geo: fr-national
     tier: 1
     language: fr
     tone: "post-funding, scale-up, direct"
     custom_rules:
       - "Référence à la levée < 3 mois"
       - "Pas de mention des concurrents génériques outbound"
     banned_words:
       - "synergie"
       - "disruption"
     data_gouv_filters:
       activite_principale: ["62.01Z", "62.02A"]
       tranche_effectif_salarie: ["21", "22", "31"]
       departement: null
       categorie_entreprise: ["PME", "ETI"]
       etat_administratif: "A"
   status: draft
   ```

5. **Générer `ciblage.md`** au format complet :
   ```markdown
   # C01 — Funding / VP Sales / France

   - Date: 2026-05-21
   - Tier: 1
   - Persona: VP Sales, Head of Sales, CRO
   - Seniority: ATL (VP/C-Level)
   - Industry (NAF): 62.01Z (édition de logiciels), 62.02A (conseil SI)
   - Section NAF: J — Information et communication
   - Size: 50-249 salariés (tranches 21, 22, 31)
   - Geo: France entière (multi-départements)
   - Language: Français
   - Signal: Levée de fonds < 3 mois (signal externe — Crunchbase / Maddyness)
   - Pain (CAB-P): Scaler l'outbound sans recruter de SDR
   - Angle: Post-funding, besoin de pipeline rapide sans grossir l'équipe
   - Hook type: Lite (T1 mais volume max 50)
   - Estimated TAM (data.gouv): <X> entreprises matchant les critères
   - Filtres API:
     - activite_principale: 62.01Z, 62.02A
     - tranche_effectif_salarie: 21, 22, 31
     - categorie_entreprise: PME, ETI
     - etat_administratif: A
   - Look-alike: oui — basé sur les 5 meilleurs clients de l'utilisateur
   ```

6. **Présenter les 10 ciblages d'un coup** au user pour validation finale :
   > "Voilà les 10 ciblages générés, chacun avec son TAM estimé via l'API. Tu valides, tu en supprimes / fusionnes, ou tu en ajoutes ?"

## Sweet Spot Rule (BYS)

| Niveau | Précision | Verdict |
|---|---|---|
| 1 | Section NAF seule | Trop vague |
| 2 | + Tranche effectif | Insuffisant |
| 3 | + NAF précis + département | **Sweet spot** |
| 4 | + Signal (levée, hire, croissance) | **Idéal** |
| 5 | + Hiring spécifique récent | T1 uniquement |

**Ne génère jamais un ciblage de niveau 1 ou 2.** Au minimum niveau 3.

## ABM Tiers (recap)

| Tier | Définition | Leads | Personnalisation |
|---|---|---|---|
| 1 | Forte douleur + forte relevance | < 50 | 1:1, strong hooks |
| 2 | Douleur modérée + signaux | 50-150 | Segmenté, lite hooks |
| 3 | Profil match, signal faible | 150+ | Templates auto |

Diversifie les 10 ciblages : idéalement 2-3 T1, 4-5 T2, 2-3 T3.

## Look-alike

Si l'utilisateur a fourni des clients existants en discovery (Q5) :
- Extraire les SIREN/SIRET des 5 meilleurs clients via `/search?q=<nom_client>`
- Récupérer leurs caractéristiques (NAF, tranche d'effectif, département, CA)
- Construire **au moins 1 ciblage "lookalike"** avec ces critères médians

## Rules

- **ONE question at a time** in Discovery
- **NEVER** move to ciblages without explicit CAB-P validation
- **NEVER** create a ciblage at sweet spot level < 3
- **NEVER** invent NAF codes — refer to `references/naf-codes.md`
- **30-50 leads per campaign max** — micro-campaigns only
- **1-2 contacts per company max** — no spray
- Rate-limit API calls: max 7 req/s, batch and add `User-Agent: data-gouv-bys/0.1`
- Default language = French (BYS audience)

## Next step

Une fois les 10 ciblages validés :
> "Lance `/data-gouv-bys:market-size` pour chiffrer le TAM/SAM/SOM de ton ICP global, puis `/data-gouv-bys:handoff-outbound` pour pousser tout ça vers l'Outbound Engine."

