Scorer et segmenter
Des tiers de comptes et un score de fit explicable.

Prenez un score de fit qu’un commercial comprend en une phrase : quatre à six critères, des points écrits dans un tableau, et des tiers découpés selon ce que votre équipe peut absorber. Un modèle qui sort 73 sans raison attachée est ignoré dès la deuxième semaine.
Reprenons l’exemple : logiciel de paie pour PME françaises, 6 000 comptes passés au filtre ICP, contacts en cours d’ajout. Tous les chiffres qui suivent sont fictifs.
Scorez le fit et le timing séparément
Le fit dit si une entreprise peut devenir un bon client, et il bouge lentement. Le timing dit si c’est le moment, et il change chaque semaine. Mélangez-les dans un seul chiffre et une vague d’embauches chez un compte médiocre passera devant un compte parfait qui traverse un mois calme.
Ce chapitre construit le score de fit. Les signaux d’intention arrivent ensuite, dans leur propre colonne, et les deux se croisent dans une grille simple :
| Signal ce mois-ci | Pas de signal | |
|---|---|---|
| Tier A | Contact cette semaine, personnalisé | Séquence planifiée |
| Tier B | Passe en tête de file | Séquence standard |
| Tier C | Séquence légère | À plus tard |
| Tier D | Rien | Rien |
Choisissez des critères que vos meilleurs clients justifient
Prenez vos meilleurs clients, ceux du chapitre sur l’ICP, et comparez la fréquence de chaque critère chez eux et dans l’ensemble du TAM. Le lift est le rapport entre les deux parts.
| Critère | Part des meilleurs clients | Part du TAM | Lift |
|---|---|---|---|
| Trois établissements ou plus | 46 % | 15 % | 3,1 |
| 100 à 249 salariés | 58 % | 22 % | 2,6 |
| Secteurs cibles | 38 % | 17 % | 2,2 |
| Implantation en Île-de-France | 24 % | 22 % | 1,1 |
Un lift proche de 1 signifie que le critère ne sépare rien : l’implantation sort de la grille. Sous 30 clients, ces ratios sont fragiles. Servez-vous-en comme d’un guide et dites franchement qu’une partie de la grille relève du jugement.
Avant de scorer, appliquez les exclusions. Clients existants, concurrents, personnes désinscrites et secteurs que vous ne servez pas reçoivent excluded = true et aucun score.
Écrivez la grille et traitez les valeurs inconnues
| Critère | Valeur | Points | Champ |
|---|---|---|---|
| Effectif | 100 à 249 | 30 | headcount |
| 50 à 99 | 20 | ||
| 250 et plus | 10 | ||
| Moins de 50 | 0 | ||
| Inconnu | 15 | ||
| Secteur | Codes NAF cibles | 25 | naf_code |
| Autres | 5 | ||
| Établissements | 3 ou plus | 25 | establishments |
| 2 | 15 | ||
| 1 | 5 | ||
| Inconnu | 12 | ||
| Paie | Internalisée | 20 | payroll_mode |
| Inconnu | 10 | ||
| Confiée à un expert-comptable | 0 |
Une valeur inconnue reçoit environ la moitié des points. Mettez zéro et votre score se met à mesurer la couverture de vos sources, ce qui pénalise justement les petits comptes que vos données voient mal. Ajoutez une colonne score_completeness avec la part de critères réellement connus, pour qu’un commercial distingue un 80 solide d’un 80 deviné.
En SQL, sur votre table de comptes :
SELECT account_id,
CASE WHEN headcount IS NULL THEN 15
WHEN headcount >= 250 THEN 10
WHEN headcount >= 100 THEN 30
WHEN headcount >= 50 THEN 20
ELSE 0 END AS pts_size,
CASE WHEN naf_code IN ('4941A','5610A','8810A') THEN 25 ELSE 5 END AS pts_sector,
CASE WHEN establishments IS NULL THEN 12
WHEN establishments >= 3 THEN 25
WHEN establishments = 2 THEN 15
ELSE 5 END AS pts_sites,
CASE payroll_mode WHEN 'in_house' THEN 20
WHEN 'outsourced' THEN 0
ELSE 10 END AS pts_payroll
FROM accounts
WHERE excluded = FALSE;
Dans un tableur, une colonne par critère et le total dans la suivante. Avec l’effectif en E, puis la colonne de raison qui rend le score lisible :
=IF(E2="",15,IF(E2>=250,10,IF(E2>=100,30,IF(E2>=50,20,0))))
=TEXTJOIN(" / ",TRUE,"size "&F2,"sector "&G2,"sites "&H2,"payroll "&I2)
Un groupe de restaurants de 180 salariés, deux établissements et une paie dont on ne sait rien obtient 30 + 25 + 15 + 10 = 80, et le commercial lit size 30 / sector 25 / sites 15 / payroll 10.
Découpez les tiers selon ce que votre équipe peut absorber
Fixez le seuil du tier A après avoir regardé la capacité. Deux commerciaux capables de travailler correctement 60 nouveaux comptes par mois chacun en traitent 720 sur six mois : le tier A correspond à peu près aux 700 premiers. =PERCENTILE(J2:J6001,0.88) donne le score à cette coupure.
| Tier | Score dans cet exemple | Comptes | Traitement | Contacts |
|---|---|---|---|---|
| A | 80 et plus | 700 | Recherche manuelle, message personnel, téléphone | 3 à 5 |
| B | 60 à 79 | 1 800 | Séquence par segment, personnalisation légère | 2 |
| C | 40 à 59 | 2 300 | Automatisé, seulement s’il reste de la capacité ou qu’un signal se déclenche | 1 |
| D | Moins de 40 | 1 200 | Gardé en base, aucune prise de contact | 0 |
Segmentez ensuite, sur un axe distinct. Le tier fixe l’effort consacré à un compte, le segment fixe ce que vous lui dites.
| Segment | Définition | Angle du message |
|---|---|---|
| Transport routier | NAF 4941A |
Heures des conducteurs et convention collective |
| Restauration multi-site | NAF 5610A, 2 établissements ou plus |
Horaires variables d’un site à l’autre |
| Aide à domicile | NAF 8810A |
Temps de trajet et contrats morcelés |
| Autres PME | Le reste de l’ICP | Temps gagné par cycle de paie |
Gardez assez peu de segments pour écrire un vrai message à chacun. Le chapitre sur les campagnes part de ce tableau.
Laissez l’IA remplir un champ, gardez le score dans la grille
Certains critères n’existent que sous forme de texte : une description de société, une page du site, une liste d’intitulés. Un modèle de langage sert à transformer ce texte en valeur que votre grille sait lire.
J’ai cofondé Derrick, lisez donc ceci en connaissance de cause. Ask Claude lit chaque ligne et écrit sa réponse dans une nouvelle colonne, pour 2 crédits par ligne. Vous pouvez lui donner le résultat de Website Crawler ou les titres du chapitre précédent, avec un format de réponse fermé :
Based only on the text below, answer with one word:
in_house, outsourced or unknown.
Does this company run payroll itself, or does an accountant or payroll bureau handle it?
If the text does not say, answer unknown.
Job titles found at the company: {{titles}}
Website text: {{site_text}}
Ask Claude peut aussi renvoyer directement un score, et je ne lui confierais pas le score final. Une même ligne peut recevoir une autre réponse au second passage, et personne ne peut défendre un chiffre dont le raisonnement change. Un champ fermé reste dans votre grille et s’audite facilement : vérifiez 50 réponses à la main avant de faire confiance à la colonne. Derrick ne définira pas votre grille non plus, elle vient de vos propres clients.
N’importe quel modèle de langage derrière une API fait le même travail avec le même prompt, et pour les 700 comptes du tier A, lire le site vous-même reste une option raisonnable.
Testez le score sur des ventes que vous connaissez déjà
Scorez vos meilleurs clients et vos ventes perdues faute de fit avec la même grille, sans regarder le résultat pendant que vous la construisez.
| Groupe | Tier A | Tier B | Tier C | Tier D |
|---|---|---|---|---|
| Meilleurs clients (40) | 21 | 14 | 4 | 1 |
| Perdues, mauvais fit (40) | 3 | 9 | 16 | 12 |
Ici, 35 clients sur 40 tombent en A ou B et les ventes perdues s’accumulent plus bas : la grille sépare bien les deux groupes. Si vos clients se répartissent uniformément entre les tiers, un critère est faux ou manquant. Lisez un par un les pires classements, chacun désigne en général le champ responsable. Relancez ce test chaque trimestre avec les nouvelles ventes, et quand un commercial vous signale un compte mal scoré, ajoutez-le au jeu de test.
Votre prochaine étape : calculez le lift sur vos propres clients, écrivez une grille de quatre à six critères et appliquez-la à toute votre liste. Testez-la sur l’historique, fixez la coupure du tier A selon votre capacité réelle, et ajoutez les colonnes score et score_reason à la base avant de passer aux signaux d’intention.