Pontuar empresas, o lead scoring B2B na prática, é a parte deste sistema que parece aritmética e se comporta como previsão do tempo. Todo sinal que conseguimos coletar barato é não confiável de um jeito específico e documentado, e a resposta útil não é caçar insumos mais limpos, e sim pesar os sujos conforme o modo como cada um deles falha. O que segue é o esquema de pesos em que paramos, o raciocínio por trás de cada regra, e um scorer que subimos que devolvia o mesmo número para toda empresa e pareceu, por mais ou menos uma semana, estar funcionando.
01Todo sinal barato mente do seu próprio jeito
Uma leitura é um candidato que uma fonte devolveu. Antes de poder ser qualificada, ela precisa passar por filtros, e filtros precisam de evidência. A evidência disponível para nós sem contrato ou cartão cadastrado vem em mais ou menos quatro tipos, e cada tipo falha de um jeito que sabemos nomear.
- Vagas de emprego envelhecem e continuam no ar. Sistemas de recrutamento raramente fazem poda, então um cargo preenchido em janeiro muitas vezes segue anunciado em junho, e um reanúncio é indistinguível de um anúncio original. Contratar três engenheiros de dados é uma afirmação forte sobre a empresa que escreveu o anúncio. É uma afirmação fraca sobre a empresa hoje.
- Changelogs mentem por omissão. Um time que entrega o tempo todo e não escreve nada parece adormecido. Um time com changelog controlado pelo marketing parece incansável com quatro entradas por trimestre. A ausência de um changelog não diz quase nada sobre a presença de engenharia.
- Dado de investimento chega tarde. O anúncio não é a data da transferência, a transferência não é o fechamento, e o fechamento em geral foi um trimestre antes de alguém publicar. Quando uma rodada aparece em uma base pública, as decisões de gasto que ela pagou muitas vezes já foram tomadas.
- Detecção de stack reporta uma visita de página. Uma tag disparando no site de marketing não diz nada sobre o produto. Uma tag deixada para trás por um fornecedor que perdeu o cliente há dois anos dispara com exatamente a mesma convicção de uma que pertence a um cliente que renovou semana passada.
Nada disso é motivo para jogar um sinal fora. É motivo para ser preciso sobre o que o sinal mede, que em geral não é a coisa que o nome do campo sugere. Uma coluna chamada job_posted_at mede quando uma linha foi tocada pela última vez no sistema de recrutamento de outra pessoa. Pese como isso e ela volta a ser útil.
O problema de segunda ordem é correlação. Três daqueles quatro são consequência do mesmo ato de publicar, então uma empresa com time de marketing ativo emite mais de todos eles e uma empresa que entrega em silêncio emite menos. Somar não dá três visões de um negócio. Dá uma visão de um orçamento de comunicação, contada três vezes, e recusa sistematicamente as empresas quietas e lideradas por engenharia que tendem a ser as melhores contas.
02Como pesamos sinais no lead scoring B2B
Quatro regras, na ordem em que importam.
- Prefira sinais com um timestamp em que você confia. Uma data de commit, uma tag de release, um registro de domínio e uma entrada de diretório que grava quando foi adicionada carregam um tempo que ninguém precisou inferir. Qualquer coisa em que a data é chute recebe uma fração do peso de qualquer coisa em que a data é fato, e preferimos um sinal datado a quatro sem data.
- Decaia tudo por idade, com meia-vida por classe de sinal em vez de uma constante global. Uma rodada de investimento ganha peso devagar e o segura por cerca de um ano. Uma vaga vale mais nas primeiras três semanas e quase nada depois de quatro meses. Passar os dois pela mesma curva é como um mural de vagas velho fica acima de um novo.
- Nunca deixe um sinal sozinho qualificar uma empresa. Nada chega a qualificada com um insumo só, por mais alto que ele fale. Uma empresa passa no filtro quando sinais de pelo menos duas famílias independentes concordam, onde independente quer dizer que as duas não estariam erradas pelo mesmo motivo. Dois registros de diretório são uma família. Um registro de diretório mais um SDK de concorrente importado em um repositório público são duas.
- Trate a ausência de um sinal como desconhecido, e não como negativo. Não detectamos um SDK de scraping é uma afirmação diferente de esta empresa não faz scraping, e a maior parte do que deixamos de ver é consequência de onde olhamos. Um sinal faltante sai do numerador e do denominador.
Essa quarta regra é o motivo de uma pontuação aqui ser dois números em vez de um. Toda empresa carrega uma pontuação e uma confiança, porque um sinal faltante precisa reduzir a certeza sem fingir ser um achado. Uma empresa com superfície pública magra termina com pontuação de baixa confiança, e não com pontuação baixa, e as duas são tratadas de formas diferentes: baixa confiança devolve a empresa para mais pesquisa, pontuação baixa recusa com um motivo escrito no registro. Colapsar as duas em um número só recusa em silêncio todo negócio que não escreve blog.
03O scorer que dava a mesma resposta para toda empresa
Por mais ou menos uma semana, o nosso scorer devolveu praticamente o mesmo valor para toda leitura do lote. Não parecia quebrado. A fila tinha uma ordem, a ordem era estável entre execuções, e as empresas no topo eram plausíveis, porque eram as que a fonte de diretório calhava de devolver primeiro e essa fonte pende para os maiores fornecedores. Quem revisava descia a lista, aprovava rascunhos, e nada na experiência sugeria que a pontuação não estava fazendo trabalho nenhum.
A causa era banal. Uma etapa de normalização travava cada fator em um teto antes de dividir pelo máximo do lote, e o teto era baixo o bastante para que quase todo insumo chegasse já encostado nele. Divida uma coluna de números quase idênticos pelo próprio máximo e você recebe uma coluna de números perto de um. A aritmética estava correta do início ao fim. A saída era uma constante com ruído de arredondamento no fim.
Achamos plotando a distribuição, coisa que nunca tínhamos feito uma vez sequer. Um pico só, nada dos dois lados. Um histograma que leva quatro minutos para sair teria pegado isso no primeiro dia, e a razão de ninguém ter produzido é que o ranking se lia como razoável quando você olhava como lista. Listas escondem forma. Uma lista ordenada de valores idênticos continua sendo uma lista ordenada, e vai manter a ordem para sempre.
A lição mais ampla é sobre o que um artefato plausível de fato prova. Uma fila ordenada é evidência de que algo produziu uma ordem. Não é evidência de que a coisa que produziu foi o scorer. Sempre que um consumidor a jusante impõe estrutura própria, e uma fila impõe ordem por definição, você pode perder a computação inteira lá em cima sem que a saída mude de formato. Ordem de inserção, ordem alfabética e um modelo quebrado se apresentam todos como lista ranqueada.
04Aquilo com que nos recusamos a pontuar
Não compramos dado de intenção que não conseguimos explicar. Isso nos custa alcance, e aceitamos o custo.
A oferta é conhecida. Um fornecedor vende um feed de contas ditas em alta em temas adjacentes à sua categoria, vindas de um painel de publishers que ele só descreve por cima. O sinal pode até ser real. O problema é que ele é infalsificável do nosso lado: não conseguimos dizer qual página alguém leu, em que data, ou se quem leu trabalha a menos de três andares de uma decisão de compra.
Isso quebra duas coisas de que dependemos. O registro de recusas anota um motivo escrito para toda empresa que recusamos, e um motivo precisa ser checável por quem lê. Um feed de terceiro disse não não é motivo, é citação de uma caixa preta. E a tela de revisão coloca cada rascunho ao lado da evidência de que ele saiu, então um fator que não pode ser mostrado ali não pode ser contestado por quem revisa e cujo trabalho inteiro é contestar.
Uma pontuação cujo raciocínio você não consegue mostrar não pode ser contestada, e uma pontuação que ninguém consegue contestar vai ficar errada por meses antes de alguém notar. É o scorer chapado de novo, de terno melhor. A diferença é que pegamos o scorer chapado com um histograma, e não existe histograma que pegue um número comprado cuja procedência é segredo comercial.
Então a ponderação continua chata: timestamps em que confiamos, decaimento por idade, duas famílias independentes antes de qualquer qualificação, e ausência registrada como ausência. A pontuação ordena a fila e não faz mais nada. Ela não abre uma porta, não escreve um rascunho, e certamente não realiza um envio. Uma pessoa aprova toda mensagem antes de ela ir a qualquer lugar, e a pontuação é uma das coisas de que essa pessoa tem permissão para discordar.