Chapitre 5/10 • 15 min de lecture

Formules

Créer des calculs et scorings automatiques dans Clay

⏱️ En bref : Les formules Clay sont proches d'Excel/Google Sheets avec quelques spécificités. Maîtrisez IF, CONCAT, SEARCH, et le scoring conditionnel pour automatiser la qualification de prospects.

À quoi servent les formules dans Clay ?

Dans un tableur classique, vous utilisez des formules pour faire des calculs (somme, moyenne, etc.). Dans Clay, les formules ont un rôle différent mais crucial : transformer des données brutes en décisions automatisées.

Exemples concrets que j'utilise chez mes clients :

  • Calculer un score de qualification (0 à 10) basé sur 5 critères
  • Concaténer nom + prénom + entreprise pour créer un identifiant unique
  • Filtrer les prospects selon des conditions complexes (taille ET secteur ET poste)
  • Catégoriser automatiquement (Hot / Warm / Cold) selon les données enrichies

La syntaxe de base : proche d'Excel

Si vous connaissez Excel ou Google Sheets, vous serez en terrain connu. Les formules Clay utilisent :

  • Le signe = pour démarrer une formule
  • Les références aux colonnes entre {{accolades}}
  • Les fonctions standards : IF(), CONCAT(), SEARCH(), LENGTH()
  • Les opérateurs classiques : + - * / et > < = !=

💡 Exemple de base

Formule : =CONCAT({{first_name}}, " ", {{last_name}})
Résultat : "Paul Cazalet" à partir des colonnes first_name et last_name.

Les 10 fonctions indispensables

  1. IF(condition, valeur_si_vrai, valeur_si_faux) — logique conditionnelle
  2. AND(cond1, cond2, ...) — toutes les conditions doivent être vraies
  3. OR(cond1, cond2, ...) — au moins une condition vraie
  4. CONCAT(val1, val2, ...) — concaténer des chaînes
  5. LENGTH(texte) — longueur d'une chaîne
  6. SEARCH(mot, texte) — trouver une sous-chaîne
  7. LOWER(texte) / UPPER(texte) — changer la casse
  8. TRIM(texte) — enlever les espaces superflus
  9. TO_NUMBER(texte) — convertir en nombre
  10. SPLIT(texte, séparateur) — découper en array

Cas d'usage 1 — Scoring de leads automatique

Le use-case le plus utile. Objectif : attribuer un score de 0 à 10 à chaque prospect selon plusieurs critères.

📊 Formule de scoring complète

=IF({{company_size}} > 50, 3, IF({{company_size}} > 20, 2, 1)) + IF(SEARCH("directeur", LOWER({{job_title}})) > 0, 3, IF(SEARCH("manager", LOWER({{job_title}})) > 0, 2, 1)) + IF({{has_email}} = "true", 2, 0) + IF({{last_funding_date}} > "2024-01-01", 2, 0)

Cette formule donne un score entre 1 et 10 basé sur : taille entreprise, niveau du poste, présence d'email vérifié, et fraîcheur de la dernière levée de fonds.

Cas d'usage 2 — Catégorisation automatique

Une fois le score calculé, vous pouvez le transformer en catégorie lisible :

=IF({{score}} >= 8, "🔥 Hot", IF({{score}} >= 5, "🌡️ Warm", "❄️ Cold"))

Résultat : une colonne qui affiche automatiquement "Hot", "Warm" ou "Cold" selon le score. Visuellement très parlant pour votre équipe commerciale.

Cas d'usage 3 — Nettoyage de données

Les données enrichies contiennent souvent des imperfections (casse incohérente, espaces superflus, formats mélangés). Les formules nettoient ça automatiquement :

  • =TRIM(LOWER({{email}})) : email en minuscules sans espaces
  • =CONCAT(UPPER(LEFT({{first_name}}, 1)), LOWER(SUBSTR({{first_name}}, 2))) : prénom avec première lettre en majuscule
  • =IF(SEARCH("@", {{email}}) > 0, "valide", "invalide") : vérif format email

Cas d'usage 4 — Logique conditionnelle complexe

Pour des règles business plus avancées, vous pouvez nester des IF :

=IF(AND({{company_size}} > 50, SEARCH("CEO", {{job_title}}) > 0), "Top priorité", IF({{score}} > 7, "À contacter", "En attente"))

Traduit en français : "Si entreprise > 50 personnes ET poste = CEO, alors Top priorité. Sinon, si score > 7, alors À contacter. Sinon, En attente."

Les bonnes pratiques pour ne pas vous perdre

⚠️ 5 règles pour garder des formules maintenables

1. Nommez vos colonnes clairement ({{score}} vs {{col_42}}).
2. Décomposez les formules complexes en colonnes intermédiaires.
3. Documentez les formules critiques (champ "description" dans la colonne).
4. Testez sur 10 lignes avant de déployer sur 1000.
5. Utilisez des formules pour la logique, pas pour remplacer l'IA (IA vs automatisation simple).

Erreurs courantes et comment les debug

Quand une formule ne marche pas, voici ce qu'il faut vérifier :

  • #ERROR! : syntaxe invalide, souvent une parenthèse mal placée
  • Cellule vide : une colonne source est null, utilisez IF({{col}} = null, "default", ...)
  • Résultat incorrect : votre condition a un bug logique, testez chaque IF isolément
  • Type mismatch : vous comparez du texte avec un nombre, utilisez TO_NUMBER()

Quand ne pas utiliser de formule

Les formules ont leurs limites. N'essayez pas de faire avec une formule ce que ces outils font mieux :

  • Logique très complexe (30+ conditions) : utilisez plutôt Clay AI pour comprendre le contexte
  • Appels à des APIs externes : c'est le rôle des colonnes d'enrichissement, pas des formules
  • Génération de texte créatif : Clay AI, pas les formules
  • Parsing de HTML ou de pages web : module scraping, pas formules

Ce que vous devez faire maintenant

  1. Créer votre première formule de scoring avec 3 critères
  2. Ajouter une colonne de catégorisation (Hot/Warm/Cold)
  3. Tester sur un échantillon et ajuster les seuils
  4. Passer au chapitre workflows pour automatiser