Scorer et segmenter

Des tiers de comptes et un score de fit explicable.

Fruits triés dans des cagettes sur un marché

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.

Étal de légumes avec des prix écrits à la main

É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.

Cagettes de poires, d’oranges et de melons

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.