🎯 Por qué calificar leads
El cuello de botella del outreach nunca es la cantidad de leads, sino tu tiempo. Con una lista grande, contactar al azar desperdicia el esfuerzo más costoso (un enfoque personalizado) en alguien que nunca iba a comprar. La puntuación de leads resuelve esto asignando una nota a cada lead y ordenando la fila según la probabilidad de conversión.
🎯 El problema concreto
Recorres la web y Shopify para descubrir marcas de un nicho que fabrican sus propios productos. Encuentras cientos. Ahora bien: ¿a cuál contactar primero para ofrecerle tu producto de datos? Sin una puntuación, es cuestión de adivinar. Con una puntuación, tienes una lista ordenada.
📊 Los tres beneficios del scoring
- • 🚀 Priorización del outreach: en vez de contactar al azar, la skill los clasifica por disposición y afinidad: el mayor esfuerzo se dedica al lead con más probabilidades de convertirse en cliente.
- • 📊 Puntuación consistente y sin sesgos: cada marca se evalúa con los mismos criterios, eliminando las suposiciones y el humor del día del proceso.
- • 🧠 Contexto enriquecido por marca: el score genera evidencia sobre cada negocio, así sabes dónde enfocarte y cómo ajustar el mensaje antes de contactarlo.
Cola ordenada según la probabilidad de cierre.
Mismos criterios para todos.
Se ejecuta igual en cualquier lista.
La evidencia guía el mensaje.
🏷️ La clasificación que viene antes
Evaluar a quien no es el público objetivo es una pérdida de tiempo y de llamadas a la API. Por eso, antes del score, la skill clasifica cada negocio leyendo el HTML del sitio: solo quienes venden productos propios (brand) entra en la fase de scoring. Los salones, revendedores y desconocidos se marcan y se dejan fuera.
El árbol de decisión (del código de la skill)
1. ≥2 sinais de salão E nenhum produto próprio → salon / barber 2. tem sinal de produto próprio → brand 3. tem páginas de produto, 0 revenda, ≥2 sinais → brand 4. tem sinal de revenda E 0 produto próprio → retailer 5. tem páginas de produto → brand 6. tipo já era salon/barber → preserva 7. caso contrário → unknown
✓ Señales de "brand" (producto propio)
- ✓Páginas
/products,/collections,/shop. - ✓Textos como "our formula", "small batch", "we formulate".
- ✓Marcas ™ / ® en el contenido.
- ✓Historia de fundación: «our story», «founder».
✗ Señales que excluyen del scoring
- ✗"tenemos en stock", "marcas que nos encantan" → es un revendedor (retailer).
- ✗"reservar cita", "nuestros servicios" → es un proveedor de servicios (salón).
- ✗Se omiten los dominios sociales, los marketplaces y los directorios.
- ✗Si no se detecta un producto propio → unknown, fuera de la cola.
Reglas ordenadas y claras.
Lee el sitio, no adivina.
Filtra antes de gastar.
No inventa "brand".
📐 Las tres dimensiones de la puntuación
Cada marca recibe una puntuación de 0 a 100, compuesta por tres dimensiones con pesos explícitos. Los pesos no son arbitrarios: reflejan lo que importa para vender un producto de datos; la capacidad de desarrollar productos pesa más y la madurez de marca pesa menos.
¿Tiene equipo de I+D? ¿Desarrolla formulaciones propias? ¿Contrata personal para puestos de R&D?
¿Tiene quiz/personalización? ¿Stack de marketing? ¿Puestos de datos/CRM?
¿Está en grandes cadenas minoristas? ¿Tiene premios o cobertura de prensa? ¿Un equipo grande?
| Señal (Dim. 1 — Producto) | Puntos |
|---|---|
| I+D / laboratorio / formulación en el sitio | +8 |
| Afirmaciones «clínicamente probado» | +7 |
| Puesto sénior de I+D en LinkedIn | +25 |
| Puesto júnior de formulación/I+D | +15 |
| Vacante abierta de desarrollo | +10 |
💡 Consejo: el score debe ser explicable
Las dimensiones con pesos visibles hacen que el número sea fácil de entender. No solo sabes que la marca obtuvo 86 puntos: sabes que obtuvo 42 en producto, 30 en datos y 14 en marca. Eso permite interpretar el lead: «esta tiene un equipo de producto sólido, pero una marca incipiente» cambia el enfoque.
Producto, datos, marca.
El producto importa más.
Cada señal vale X puntos.
Sabes por qué da ese número.
🔎 Dos pasadas: sitio y Apify
El scoring ocurre en dos pasadas, y el orden importa: primero obtiene la señal barata y solo después paga por la cara. La pasada 1 solo lee el sitio (gratis). La pasada 2 ejecuta 5 búsquedas en Google vía Apify por marca para encontrar cargos en LinkedIn, vacantes, premios y presencia en el comercio minorista.
Primera pasada — solo el sitio (gratis)
Busca el sitio de la marca una vez (con caché) y busca señales en el HTML: menciones de I+D, afirmaciones científicas, quiz de personalización, sistema de reseñas, herramientas de marketing (Klaviyo, GA), página de «dónde comprar». Marca el resultado como scoring_depth=website_only.
Segunda pasada — enriquecimiento mediante Apify (de pago)
Ejecuta 5 búsquedas en Google por marca mediante Apify (actor apify~google-search-scraper): cargos de R&D y de datos en LinkedIn, vacantes abiertas, presencia en minoristas, prensa/premios, tamaño del equipo. Suma estos puntos a los del sitio, con un límite por dimensión, y marca scoring_depth=full.
📊 Costo y tiempo reales
- • ~$0,045 por marca — 5 búsquedas en Google por marca.
- • Ejecución completa (15 marcas): ~20 minutos, ~$0,70 de Apify.
- • Solo fase 2 (78 marcas): ~2 horas, ~$3,50 de Apify.
- • Filtrado de dominios: los resultados de redes sociales, marketplaces, cupones y directorios se descartan antes de la puntuación; solo cuenta la señal relevante.
Ejemplo de consulta de Apify (Dim. 1 — puesto de R&D)
"{nome da marca}" (formulation OR chemist OR "R&D"
OR "product development" OR "cosmetic scientist")
site:linkedin.com
→ achou cargo sênior → +25
→ achou cargo júnior → +15
→ nada → +0 (não inventa evidência)
⚠️ Regla de oro: no fabricar evidencia
Si una búsqueda no devuelve resultados, la skill asigna 0 a esa señal; nunca inventa. Un score solo vale si cada punto tiene evidencia rastreable. Ese principio es lo que distingue un scoring confiable de un generador de números bonitos.
Sitio web primero, Apify después.
Señal barata antes que la costosa.
Costo predecible por lead.
Sin búsqueda, score 0.
🏆 Niveles y el contrato de salida
El número de 0 a 100 se traduce en un nivel — la etiqueta accionable que indica por dónde empezar. Y el CSV de salida incluye no solo el score, sino también los sub-scores y la evidencia de cada dimensión, formando un contrato que la siguiente skill (la de outreach) consume sin tener que adivinar.
| Tier | Score | Significado |
|---|---|---|
| Tier 1 | ≥ 70 | Tiene equipo de producto Y capacidad de datos. Prioridad máxima. |
| Tier 2 | 50–69 | Tiene producto O datos, pero no ambos. Alto potencial. |
| Tier 3 | 30–49 | Responsable de marca con señales limitadas de R&D/datos. Vale la pena contactarlo. |
| Tier 4 | < 30 | Señales débiles. Probablemente pequeña o en una etapa inicial. |
Ejemplo de salida — una marca Tier 1 (recreación ilustrativa)
business_name : Marca Exemplo Hair Care
qualification_score: 86
qualification_tier : Tier 1
product_dev_score : 42 (cargo sênior de R&D + ciência no site)
data_maturity_score: 30 (quiz de cabelo, reviews, Klaviyo detectado)
brand_maturity_score: 14 (imprensa + 2 redes sociais ativas)
product_dev_evidence: LinkedIn: senior R&D role found |
science-backed claims on website
data_evidence : hair quiz on website | reviews system |
marketing tech stack detected
scoring_depth : full
Línea de salida recreada para ilustrar el contrato del CSV: no son datos reales de clientes.
💡 Consejo: el contrato sirve a la siguiente skill
El CSV está ordenado por puntuación descendente y tiene columnas predecibles (qualification_tier, product_dev_evidence, etc.). La skill de outreach lee ese contrato directamente: toma el primer elemento de la fila y usa la evidencia para personalizar el mensaje. Una salida clara es lo que permite conectar el pipeline.
≥70 / 50 / 30 / <30.
El CSV explica por qué.
La prioridad más alta = empezar aquí.
Outreach consume directamente.
⚙️ Checkpoint, reanudar y modos
Evaluar 78 marcas lleva horas y consume API. Una interrupción a mitad de camino no puede hacerte perder el trabajo ya hecho. Por eso la skill tiene dos modos de operación y un archivo de checkpoint que guarda el progreso después de cada marca, lo que permite interrumpir y reanudar la ejecución de forma segura.
Modo 1 — ejecución completa (predeterminado)
Procesa solo las filas que aún no tienen score. Clasifica (fase 1b), puntúa según el sitio (pasada 1), enriquece con Apify (pasada 2), combina los resultados con los ya puntuados y guarda todo ordenado.
python3 qualify_leads_apify.py \ --input leads.csv
Modo 2 — solo fase 2
Vuelve a puntuar solo las filas marcadas website_only con Apify, sin volver a clasificar. Es útil cuando ya tienes un CSV puntuado solo a partir del sitio.
python3 qualify_leads_apify.py \ --input scored.csv --phase2-only
📊 Cómo protege el checkpoint la ejecución
- • Guarda un archivo de checkpoint después de cada marca puntuada.
- • Al reiniciar, omite las marcas que ya están en el checkpoint y continúa desde donde se detuvo.
- • Conserva las líneas ya puntuadas en el modo completo — no vuelve a procesar lo que ya estaba listo.
- • Al terminar la ejecución, el archivo de checkpoint se elimina automáticamente.
✓ Manejo robusto de errores
- ✓Sin
APIFY_API_TOKEN→ detente y avisa. - ✓La ejecución síncrona expira → pasa al sondeo asíncrono.
- ✓El sitio web devuelve 403/429 → omite la clasificación de esa fila.
- ✓¿Se interrumpió? Ejecuta el mismo comando: retoma desde el checkpoint.
✗ Sin estas salvaguardas
- ✗Una caída en el punto 60 de 78 hace perder los 60 ya completados.
- ✗Volver a ejecutar hace que pagues de nuevo por todo lo que ya se había puntuado.
- ✗Un timeout de Apify derriba todo el proceso.
- ✗Un sitio fuera de servicio detiene el lote en vez de saltarse la línea.
✍️ Ejercicios prácticos
Define tus dimensiones. Para tu propio ICP, escribe 3 dimensiones y sus pesos (que sumen 100). ¿Qué señales suman puntos en cada una? Explica por qué el mayor peso corresponde a esa dimensión.
Crea un SKILL.md ejecutable. Escribe un SKILL.md de calificación con la description se activa con "calificar/puntuar/filtrar leads", documenta los dos modos y el formato de salida del CSV. Prueba la activación con una hoja de cálculo pequeña.
Diseña la clasificación. Antes de puntuar, ¿qué señales del sitio distinguen tu objetivo de lo que no lo es? Escribe el árbol de decisión (como el del tema 2) para tu nicho.
Prueba el checkpoint. Evalúa 5 filas, interrumpe en la 3.ª y vuelve a ejecutar. ¿La skill retoma desde la 3.ª o empieza de nuevo? Asegúrate de que la evidencia de cada dimensión tenga una fuente rastreable (nunca inventada).
📌 Resumen del módulo
Fin de la Ruta 4:
Dominaste tres skills que trabajan con datos y automatización. La siguiente ruta lleva las skills a la consultoría de IA.