En résumé : Le modèle Balance de Rodz attribue un score de priorité à chaque signal d’affaires en combinant quatre composantes : le poids du type de signal, la décroissance temporelle, la correspondance ICP et le niveau d’engagement de l’entreprise. Ce guide vous montre comment récupérer ces scores via l’API, définir des seuils d’action et construire un routage automatisé pour traiter chaque signal avec le bon niveau d’effort.
Qu’est-ce que le scoring Balance ? Un scoring fondé sur les signaux, pas sur le comportement
Le scoring traditionnel repose sur les interactions d’un prospect avec votre marque : pages visitées, emails ouverts, formulaires remplis. Ce modèle mesure l’engagement envers vos contenus, pas le besoin réel du prospect. Un concurrent qui analyse votre site obtient un meilleur score qu’un directeur financier qui vient de boucler une levée de fonds mais n’a jamais entendu parler de vous.
Le modèle Balance de Rodz prend le problème dans l’autre sens. Au lieu de scorer ce que le prospect fait chez vous, il score ce qui se passe chez lui. Chaque événement détecté (recrutement, levée de fonds, nomination, déménagement, changement technologique) est un signal d’affaires. Le modèle Balance évalue chaque signal selon quatre dimensions et produit un score composite qui reflète la probabilité et l’urgence d’un besoin d’achat.
Ce score est accessible via l’API Rodz. Vous pouvez l’utiliser pour trier votre flux de signaux, déclencher des actions automatisées et concentrer l’effort commercial là où il compte. Ce guide technique couvre chaque composante du score, les appels API pour le récupérer et les stratégies d’automatisation qui en découlent.
Prérequis
Avant de suivre ce guide, assurez-vous de disposer des éléments suivants :
- Un compte Rodz actif avec un plan incluant l’accès API. Créez votre compte sur app.rodz.io/register si ce n’est pas encore fait.
- Une clé API valide générée depuis votre tableau de bord. Le guide de démarrage explique la procédure complète.
- Une familiarité avec le modèle Balance. Lisez d’abord l’introduction au scoring par signaux si vous découvrez le concept.
- cURL ou un client HTTP (Postman, Insomnia, ou le client natif de votre langage) pour tester les requêtes.
- Des notions de base en JSON pour interpréter les réponses de l’API.
- (Optionnel) Un endpoint webhook accessible publiquement si vous souhaitez mettre en place le routage automatisé décrit en fin d’article.
Les quatre composantes du score Balance
Le score Balance n’est pas un chiffre arbitraire. Il résulte de la combinaison de quatre composantes, chacune mesurable et configurable. Comprendre ces composantes est indispensable pour interpréter les scores et les personnaliser.
Composante 1 : Le poids du type de signal
Chaque type de signal reçoit un poids de base qui reflète la force de l’intention d’achat révélée. Ce poids est exprimé sur une échelle de 0 à 100.
Les signaux les plus puissants sont ceux qui indiquent un changement structurel dans l’entreprise :
| Type de signal | Poids par défaut | Justification |
|---|---|---|
| Levée de fonds | 95 | Budget disponible, phase de croissance, besoin d’outils |
| Nomination C-level | 90 | Nouveau décideur, volonté de changer les processus |
| Fusion / acquisition | 85 | Restructuration, unification des outils, nouveaux besoins |
| Recrutement massif (>10 postes) | 80 | Croissance rapide, besoin d’infrastructure |
| Déménagement / nouveaux bureaux | 70 | Expansion, budget immobilier, équipements |
| Changement de stack technique | 60 | Ouverture à de nouvelles solutions |
| Publication d’offre d’emploi ciblée | 50 | Besoin ponctuel identifiable |
| Participation à un événement | 35 | Intérêt thématique, pas de besoin confirmé |
| Réaction sociale (like, commentaire) | 15 | Signal faible, utile en accumulation |
Ces poids par défaut sont calibrés sur les données agrégées de l’ensemble des clients Rodz. Ils constituent un point de départ solide, mais chaque entreprise peut les ajuster selon son offre (voir la section sur la personnalisation plus bas).
Composante 2 : La décroissance temporelle (récence)
Un signal vieux de trois semaines n’a pas la même valeur qu’un signal détecté il y a deux heures. Le modèle Balance applique une décroissance exponentielle qui réduit progressivement la contribution du signal au score global.
La formule de décroissance suit ce schéma :
- 0 à 6 heures : coefficient de récence = 1.0 (aucune pénalité)
- 6 à 24 heures : coefficient entre 0.95 et 0.80
- 24 à 48 heures : coefficient entre 0.80 et 0.50
- 48 heures à 7 jours : coefficient entre 0.50 et 0.10
- Au-delà de 7 jours : coefficient inférieur à 0.10
Cette courbe reflète une réalité commerciale : lorsqu’une entreprise lève des fonds, la fenêtre d’opportunité est maximale dans les premières heures. Après 48 heures, d’autres fournisseurs ont probablement déjà pris contact. Après une semaine, le signal perd l’essentiel de sa valeur de timing.
Le score partiel de récence est calculé ainsi : Score récence = Poids du signal × Coefficient de récence
Pour un recrutement massif (poids 80) détecté il y a 12 heures (coefficient 0.90), le score partiel de récence est donc 80 × 0.90 = 72.
Composante 3 : La correspondance ICP (company fit)
Le modèle Balance intègre une dimension firmographique qui évalue la correspondance entre l’entreprise détectée et votre profil client idéal (ICP). Cette composante utilise les données firmographiques de l’entreprise pour calculer un coefficient de correspondance entre 0 et 1.
Les critères pris en compte incluent :
- Secteur d’activité : une correspondance exacte avec vos secteurs cibles donne un coefficient élevé. Un secteur adjacent donne un coefficient intermédiaire.
- Taille de l’entreprise : mesurée en nombre de salariés ou en chiffre d’affaires. Le coefficient est maximal quand l’entreprise tombe dans votre fourchette cible.
- Zone géographique : pays, région ou ville selon la granularité de votre ciblage.
- Maturité technologique : estimée à partir de la stack technique détectée. Utile pour les éditeurs SaaS qui ciblent des entreprises déjà équipées d’outils complémentaires.
Pour configurer votre ICP dans Rodz, rendez-vous dans les paramètres de votre compte et renseignez vos critères cibles. L’API utilise automatiquement ces critères pour calculer le coefficient de correspondance sur chaque signal.
Le score partiel ICP se calcule ainsi : Score ICP = Score récence × Coefficient ICP
Si le score récence est de 72 et que l’entreprise correspond parfaitement à votre ICP (coefficient 1.0), le score ICP reste à 72. Si l’entreprise est en marge de votre cible (coefficient 0.5), le score tombe à 36.
Composante 4 : Le niveau d’engagement (signal compounding)
La dernière composante du score Balance prend en compte l’accumulation de signaux sur une même entreprise. Une entreprise qui lève des fonds ET recrute massivement ET nomme un nouveau CTO génère un signal composite bien plus fort qu’une entreprise qui ne présente qu’un seul de ces événements.
Le modèle Balance applique un multiplicateur d’engagement qui augmente avec le nombre de signaux actifs (non expirés) sur la même entreprise :
- 1 signal actif : multiplicateur = 1.0
- 2 signaux actifs : multiplicateur = 1.3
- 3 signaux actifs : multiplicateur = 1.6
- 4 signaux actifs ou plus : multiplicateur = 2.0
Le score Balance final est donc : Score Balance = Score ICP × Multiplicateur d’engagement
Reprenons l’exemple précédent. L’entreprise a un score ICP de 72 pour le recrutement massif. Si elle a aussi une levée de fonds active (2 signaux), le multiplicateur passe à 1.3 et le score final monte à 72 × 1.3 = 93.6.
Ce mécanisme de compounding est particulièrement puissant. Il permet de détecter les entreprises en phase de transformation rapide, qui sont souvent les meilleures opportunités commerciales.
Récupérer les scores Balance via l’API
L’endpoint /signals/feed avec tri par score
Pour accéder aux signaux triés par score Balance, utilisez l’endpoint GET /signals/feed avec le paramètre sort=balance_score. Ce tri place les signaux les plus prioritaires en tête de liste.
curl -X GET "https://api.rodz.io/v1/signals/feed?sort=balance_score&limit=20" \
-H "Authorization: Bearer VOTRE_CLE_API" \
-H "Content-Type: application/json"
La réponse inclut le score Balance et le détail de ses composantes pour chaque signal :
{
"data": [
{
"id": "sig_abc123def456",
"type": "fundraising",
"company": {
"name": "TechVision SAS",
"siren": "912345678",
"sector": "SaaS",
"employees": 85,
"city": "Lyon"
},
"details": {
"amount": 12000000,
"round": "Series A",
"investors": ["Partech", "Elaia"]
},
"detected_at": "2026-03-14T08:23:00Z",
"scoring": {
"balance_score": 93.6,
"components": {
"signal_weight": 95,
"recency_coefficient": 0.98,
"icp_coefficient": 0.85,
"engagement_multiplier": 1.3
},
"tier": 1,
"active_signals_count": 2
}
},
{
"id": "sig_ghi789jkl012",
"type": "job_posting_bulk",
"company": {
"name": "DataFlow Inc.",
"siren": "823456789",
"sector": "Data Analytics",
"employees": 210,
"city": "Paris"
},
"details": {
"positions_count": 15,
"departments": ["Engineering", "Sales"]
},
"detected_at": "2026-03-13T14:10:00Z",
"scoring": {
"balance_score": 52.0,
"components": {
"signal_weight": 80,
"recency_coefficient": 0.72,
"icp_coefficient": 0.9,
"engagement_multiplier": 1.0
},
"tier": 2,
"active_signals_count": 1
}
}
],
"pagination": {
"total": 147,
"limit": 20,
"offset": 0,
"has_more": true
}
}
Quelques observations sur cette réponse :
- Le champ
scoring.balance_scorecontient le score final calculé. - Le champ
scoring.componentsdétaille chaque composante, ce qui vous permet de comprendre pourquoi un signal a reçu un score élevé ou faible. - Le champ
scoring.tierindique le tier attribué automatiquement (1, 2 ou 3). - Le champ
scoring.active_signals_countindique combien de signaux actifs existent sur cette entreprise.
Filtrer par score minimum
Vous pouvez filtrer les signaux en dessous d’un seuil de score pour ne recevoir que les opportunités prioritaires :
curl -X GET "https://api.rodz.io/v1/signals/feed?sort=balance_score&min_score=70&limit=50" \
-H "Authorization: Bearer VOTRE_CLE_API" \
-H "Content-Type: application/json"
Ce filtre est particulièrement utile pour les équipes qui ne veulent traiter que les signaux Tier 1, sans parcourir l’intégralité du flux.
Récupérer le score d’une entreprise spécifique
Pour obtenir le score Balance agrégé d’une entreprise précise, utilisez l’endpoint avec le paramètre company_id :
curl -X GET "https://api.rodz.io/v1/signals/feed?company_id=comp_xyz789&sort=balance_score" \
-H "Authorization: Bearer VOTRE_CLE_API" \
-H "Content-Type: application/json"
Cette requête retourne tous les signaux actifs de l’entreprise, triés par score. Le premier résultat est le signal le plus prioritaire. Le champ active_signals_count vous donne une vue d’ensemble de l’activité récente de cette entreprise.
Définir des seuils d’action par tier
Le score Balance prend tout son sens quand il déclenche des actions concrètes. L’idée est simple : chaque plage de score correspond à un niveau d’effort commercial différent.
Tier 1 : action immédiate (score >= 75)
Les signaux avec un score Balance supérieur ou égal à 75 méritent une action immédiate et personnalisée. Ces signaux combinent un événement fort, une détection récente et une bonne correspondance ICP.
Actions recommandées :
- Rédiger un email personnalisé qui mentionne le signal détecté
- Préparer un appel dans les 24 heures
- Rechercher le décideur sur LinkedIn et envoyer une demande de connexion contextualisée
- Créer une tâche prioritaire dans votre CRM
Le Tier 1 ne devrait représenter que 10 à 15% de votre flux. Si plus de 20% de vos signaux tombent en Tier 1, vos seuils sont probablement trop bas.
Tier 2 : nurturing actif (score entre 40 et 74)
Les signaux de Tier 2 sont intéressants mais ne justifient pas un traitement entièrement manuel. Ce sont des signaux de force moyenne, des signaux forts qui ont vieilli ou des signaux forts sur des entreprises en marge de votre ICP.
Actions recommandées :
- Inscrire le prospect dans une séquence semi-automatisée avec une variable de personnalisation liée au signal
- Ajouter l’entreprise à une liste de surveillance pour détecter d’éventuels signaux complémentaires
- Planifier un point de contact dans 3 à 5 jours si aucun nouveau signal n’apparaît
Tier 3 : surveillance passive (score < 40)
Les signaux de Tier 3 ne déclenchent pas d’action commerciale directe. Ils sont stockés et contribuent au scoring composite. Si une entreprise accumule plusieurs signaux Tier 3, le multiplicateur d’engagement peut la faire passer en Tier 2 ou Tier 1.
Actions recommandées :
- Ajouter l’entreprise à une séquence de nurturing générique
- Monitorer l’apparition de nouveaux signaux
- Aucune action manuelle
Construire un routage automatisé avec les webhooks
L’utilisation la plus puissante du score Balance consiste à automatiser le routage des signaux vers les bons canaux. Au lieu de consulter le flux manuellement, vous configurez un webhook qui reçoit chaque signal en temps réel et déclenche l’action appropriée selon le score.
Architecture du routage
Le flux fonctionne ainsi :
- Rodz détecte un signal et calcule le score Balance
- Le webhook envoie le signal (avec son score) à votre endpoint
- Votre serveur lit le score et le tier
- Selon le tier, le signal est routé vers l’action correspondante
Configurer le webhook avec filtre de score
Configurez votre webhook via l’API pour ne recevoir que les signaux au-dessus d’un certain seuil. Pour plus de détails sur la mise en place des webhooks, consultez le guide complet des webhooks Rodz.
curl -X POST "https://api.rodz.io/v1/webhooks" \
-H "Authorization: Bearer VOTRE_CLE_API" \
-H "Content-Type: application/json" \
-d '{
"url": "https://votre-serveur.com/api/rodz-signals",
"events": ["signal.detected"],
"filters": {
"min_balance_score": 30
}
}'
Exemple de logique de routage (pseudo-code)
Voici un exemple simplifié de la logique côté serveur pour traiter les signaux reçus par webhook :
def handle_signal(signal):
score = signal["scoring"]["balance_score"]
tier = signal["scoring"]["tier"]
company = signal["company"]["name"]
signal_type = signal["type"]
if tier == 1:
# Action immediate : creer une tache prioritaire dans le CRM
crm.create_task(
title=f"Signal fort : {signal_type} chez {company}",
priority="high",
assignee=get_account_owner(company),
due_date=today() + timedelta(hours=24)
)
# Notifier le commercial par Slack
slack.send_message(
channel="#signals-tier1",
text=f"Signal {signal_type} (score {score}) : {company}"
)
elif tier == 2:
# Nurturing : inscrire dans une sequence semi-automatisee
sequence.enroll(
company_id=signal["company"]["siren"],
sequence_name="nurture-signal-moyen",
variables={"signal_type": signal_type}
)
elif tier == 3:
# Surveillance : stocker pour analyse composite
monitoring.add_to_watchlist(
company_id=signal["company"]["siren"],
reason=signal_type
)
Ce routage élimine la décision manuelle. Chaque signal arrive, est évalué et traité automatiquement. Le commercial ne voit que les signaux Tier 1 dans ses notifications, ce qui lui permet de se concentrer sur les opportunités les plus chaudes.
Personnaliser les poids pour votre cas d’usage
Les poids par défaut du modèle Balance sont un bon point de départ, mais chaque entreprise a des priorités différentes. Un cabinet de recrutement accorde plus de valeur aux offres d’emploi qu’aux levées de fonds. Un éditeur de cybersécurité priorise les changements de stack technique.
Accéder aux poids actuels
Consultez vos poids de signaux via l’API :
curl -X GET "https://api.rodz.io/v1/scoring/weights" \
-H "Authorization: Bearer VOTRE_CLE_API" \
-H "Content-Type: application/json"
La réponse liste chaque type de signal avec son poids actuel (par défaut ou personnalisé).
Modifier les poids
Pour ajuster un poids, utilisez l’endpoint de mise à jour :
curl -X PATCH "https://api.rodz.io/v1/scoring/weights" \
-H "Authorization: Bearer VOTRE_CLE_API" \
-H "Content-Type: application/json" \
-d '{
"weights": {
"fundraising": 95,
"c_level_appointment": 90,
"job_posting_bulk": 95,
"tech_stack_change": 40,
"social_reaction": 10
}
}'
Dans cet exemple, le poids du recrutement massif passe de 80 à 95 (priorité pour une entreprise qui vend des outils RH), tandis que le changement de stack technique descend à 40.
Bonnes pratiques pour la personnalisation
Commencez par les poids par défaut. Ne personnalisez pas avant d’avoir traité au moins 200 signaux avec les poids standards. Vous avez besoin de données de référence.
Modifiez un ou deux poids à la fois. Si vous changez tout en même temps, vous ne saurez pas quel ajustement a produit l’amélioration (ou la dégradation).
Mesurez l’impact. Comparez le taux de réponse positif avant et après chaque modification. Un poids correctement calibré augmente le taux de conversion sur les signaux de ce type.
Validez sur un volume suffisant. Comme expliqué dans l’article sur la méthode Balance, un minimum de 274 prospects par configuration est nécessaire pour atteindre la significativité statistique.
N’ignorez pas les signaux faibles. Réduire le poids d’un signal à 0 le supprime du calcul. C’est rarement une bonne idée. Même les signaux faibles contribuent au multiplicateur d’engagement quand ils s’accumulent sur une même entreprise.
Intégrer le score Balance dans votre stack existante
Le score Balance ne vit pas en isolation. Il prend toute sa valeur quand il s’intègre dans votre écosystème d’outils.
CRM (HubSpot, Pipedrive, Salesforce)
Créez un champ personnalisé “Score Balance” dans votre CRM et mettez-le à jour via le webhook. Utilisez ce champ pour :
- Trier vos vues de prospects par priorité
- Déclencher des workflows CRM basés sur le score
- Générer des rapports sur la corrélation entre score Balance et taux de closing
Outils de séquençage (Lemlist, La Growth Machine)
Utilisez le tier pour acheminer les prospects vers la bonne séquence. Les Tier 1 vont dans une séquence courte et personnalisée. Les Tier 2 vont dans une séquence plus longue avec des points de contact automatisés.
Tableaux de bord et analytics
Exportez les scores via l’API pour alimenter vos dashboards. Suivez l’évolution du nombre de signaux par tier au fil du temps. Un pic de signaux Tier 1 sur un secteur donné peut indiquer une tendance de marché à exploiter.
Pour aller plus loin sur les endpoints disponibles, consultez la référence complète de l’API Rodz. Et pour découvrir les fondamentaux de la qualification de leads, consultez notre guide dédié.
Questions fréquentes
Quelle est la différence entre le scoring Balance et le scoring marketing classique ?
Le scoring marketing classique attribue des points selon les interactions d’un prospect avec votre marque (visites, téléchargements, ouvertures d’email). Le scoring Balance attribue des points selon ce qui se passe dans l’entreprise du prospect (événements, signaux d’affaires). Le premier mesure l’intérêt pour votre offre. Le second mesure le besoin réel et l’urgence. Les deux approches sont complémentaires, mais le scoring Balance détecte des opportunités que le scoring marketing ne voit pas.
Le score Balance est-il recalculé en temps réel ?
Oui. Chaque fois qu’un nouveau signal est détecté sur une entreprise, le score Balance est recalculé. Le coefficient de récence est aussi mis à jour en continu : un signal perd progressivement de la valeur à mesure qu’il vieillit. Si vous interrogez l’API deux fois à 6 heures d’intervalle pour la même entreprise, le score peut avoir changé.
Comment interpréter un score Balance de 0 ?
Un score de 0 signifie qu’aucun signal actif n’a été détecté pour cette entreprise dans votre périmètre de configuration. Cela ne veut pas dire que l’entreprise n’est pas un bon prospect. Cela signifie simplement qu’aucun événement récent ne justifie une action immédiate. L’entreprise peut remonter à tout moment si un nouveau signal est détecté.
Peut-on utiliser le score Balance sans configurer son ICP ?
Oui, mais le score sera moins précis. Sans configuration ICP, le coefficient de correspondance est fixé à 1.0 pour toutes les entreprises. Le score repose alors uniquement sur le poids du signal, la récence et le multiplicateur d’engagement. Configurer votre ICP améliore significativement la pertinence du tri.
Le multiplicateur d’engagement peut-il créer des faux positifs ?
En théorie, une entreprise qui accumule plusieurs signaux faibles pourrait obtenir un score élevé grâce au multiplicateur. En pratique, c’est rare. Quatre signaux faibles (poids 15) avec un multiplicateur de 2.0 donnent un score de 30 avant application du coefficient ICP, ce qui reste en Tier 3. Le multiplicateur amplifie les signaux existants, il ne transforme pas un signal faible en signal fort. Il faut au moins un signal de poids intermédiaire pour que le compounding produise un score Tier 1.
Quelle fréquence de consultation du flux est recommandée ?
Si vous utilisez les webhooks, la question ne se pose pas : les signaux arrivent en temps réel. Si vous interrogez l’API en mode polling, une fréquence de 2 à 4 fois par jour est suffisante pour les signaux Tier 1 (dont la fenêtre d’action est de 24 à 48 heures). Pour le monitoring Tier 3, une requête quotidienne suffit.
Comment tester mes ajustements de poids sans impacter la production ?
L’API propose un mode simulation. Ajoutez le paramètre dry_run=true à votre requête PATCH sur les poids. L’API recalcule les scores de votre flux actuel avec les nouveaux poids et retourne le résultat sans modifier vos poids en production. Cela vous permet de comparer le classement avant/après et de valider vos ajustements.
curl -X PATCH "https://api.rodz.io/v1/scoring/weights?dry_run=true" \
-H "Authorization: Bearer VOTRE_CLE_API" \
-H "Content-Type: application/json" \
-d '{
"weights": {
"job_posting_bulk": 95
}
}'
Où trouver la documentation complète de l’API ?
La documentation interactive est disponible sur api.rodz.io/docs. Vous y trouverez tous les endpoints, les schémas de réponse et un environnement de test. Pour une vue synthétique, consultez notre référence API.