---
id: educacao/produtividade-time-comercial
industria: Educação
uso: muito usado
esforco: médio
grao: Dia x atendente; conversa; negociação no corte do dia
---

# Produtividade do time comercial

Quanto cada SDR, closer e unidade atendeu, respondeu e deixou pendente, contando só trabalho humano e sem somar o que não soma.

## Resumo executivo

**Para quem:** Coordenadores comerciais de escolas, faculdades e infoprodutores com SDR, closer e atendimento por WhatsApp.

**O que resolve**

- Um ranking de produtividade que conta só o que pessoas fizeram, sem automação, disparo nem evento de sistema.
- Tempo de resposta e conversas atendidas medidos de um jeito que não piora nem melhora por causa de campanha de disparo.
- Lista diária de negociações sem tarefa ativa e com tarefa atrasada, por responsável e unidade.

**Por que importa:** Na captação de alunos, o lead esfria em horas: quem demora a responder perde a matrícula para a escola ao lado. A coordenação precisa saber quem atendeu, quem respondeu rápido e o que ficou parado. O número precisa ser justo com cada pessoa, senão o time deixa de confiar no ranking e a cobrança vira discussão.

**Perguntas de negócio que responde**

- Quantas conversas cada closer atendeu ontem e quantas mensagens enviou?
- Qual o tempo de primeira resposta do time nesta semana, por atendente?
- Quais negociações estão sem tarefa ativa ou com tarefa atrasada, por responsável?
- Quantos leads o SDR trabalhou e passou para as unidades neste mês?
- Quanto de venda veio das conversas de cada vendedor?
- O SDR trabalhou os leads novos de ontem dentro do expediente?

**O que você precisa**

- Atendimento e CRM conectados na Nekt, com mensagens, tarefas e anotações
- Uma lista do time: usuário, e-mail, papel (SDR, closer, unidade) e vigência
- O expediente e a régua de SLA combinados com a coordenação

**O que você recebe**

- Uma tabela dia x atendente com mensagens, conversas e vendas atribuídas, com o que soma e o que não soma marcado
- Uma tabela por conversa com tempo de primeira resposta humana e desfecho
- Relatório diário de pendências e auditoria do SDR por e-mail
- Um agente de IA que responde produtividade com as regras certas

## Detalhado

### O problema

A ferramenta de atendimento registra tudo como mensagem: disparo automático, robô, evento de sistema, nota interna e resposta humana. Quem conta tudo premia a automação; quem soma conversas atendidas dia a dia conta a mesma conversa várias vezes; quem mede tempo de resposta em conversa de disparo, onde o lead nunca escreveu, conclui que o time é lento. No CRM, logins compartilhados por unidade e tarefas criadas por automação escondem quem de fato trabalhou o lead.

### Regras de negócio

1. **Produtividade é ação humana nomeada.** Conte só mensagens de saída enviadas por um usuário identificado (no Clint, type = 'USER' com user_id preenchido). Saída sem usuário é automação. Evento de sistema (EVENT) e nota privada (NOTE) não são conversa e saem das contagens, mas a conversa continua na tabela para nenhuma negociação sumir. Usuário fora da lista do time vira não identificado: entra no volume total e sai do ranking. (Evite: Contar todas as mensagens de saída como produtividade do vendedor.)
2. **Declare o que soma e o que não soma.** Mensagens, mídias e entregas somam entre dias e pessoas. Conversas atendidas e contatos são contagem distinta: a mesma conversa aparece em vários dias, fontes e negociações, e não somam. Taxas (entrega, leitura, resposta) se recompõem com soma sobre soma, nunca por média de taxas diárias. Escreva isso no cabeçalho da tabela e no context document. (Evite: Somar as conversas atendidas de cada dia para ter o mês.)
3. **Tempo de resposta por ciclo, só onde o lead escreveu.** Um ciclo vai da primeira mensagem do lead ainda sem resposta até a primeira resposta humana. Desempate mensagens do mesmo segundo pelo id, senão o tempo oscila entre execuções. Meça só conversas com mensagem do contato: em operação com disparo, metade das conversas não tem pergunta a responder. Guarde também a primeira resposta de qualquer tipo, que é o que o lead sente, separada da humana. Agregue por mediana. (Evite: Tempo médio de resposta sobre todas as conversas, inclusive disparos.)
4. **Venda atribuída uma vez, ao último toque humano.** Uma conversa pode cobrir várias negociações e uma negociação aparece em várias conversas. Atribua cada venda uma vez só: à conversa dona (a que teve a última mensagem da negociação) e, dentro dela, ao último atendente humano. Ticket médio do atendente = valor atribuído / conversas com receita própria, nunca dividido pelas conversas que só participaram da venda. (Evite: Dar a mesma venda a todos os atendentes que falaram na conversa.)
5. **Papel e unidade vêm de uma lista com vigência.** Mantenha uma tabela de usuário, e-mail, papel (SDR, closer, unidade, agente de IA) e período. Pessoas mudam de papel e de equipe: classifique cada ação pelo papel no mês em que aconteceu. Login compartilhado por unidade mede a unidade, não a pessoa. Grafias diferentes do mesmo vendedor em campos livres vão para um nome canônico por uma referência única. (Evite: Uma cadeia de substituições de nome diferente em cada consulta.)
6. **Origem SDR pela primeira atividade.** A negociação veio do SDR quando a primeira atividade comprovada do SDR (anotação, tarefa criada ou concluída) é anterior à primeira atividade da unidade. Nesse caso, a entrada na unidade conta na data da primeira atividade da unidade; senão, é entrada direta na data de criação. Atividade anterior à criação do funil de SDR não conta como trabalho do SDR. O autor é quem criou ou concluiu a tarefa; o dono só serve de fallback. (Evite: Considerar trabalho do SDR tudo que tem o SDR como dono atual.)
7. **Tarefa automática não é trabalho.** Tarefas geradas por automação (aviso de e-mail lido, e-mail respondido, passo de cadência) ficam fora das atividades e da evidência de contato. O canal do contato feito (WhatsApp, ligação, e-mail, envio de material, última tentativa) sai do texto da tarefa concluída por uma pessoa, e anotação só conta como atividade de quem a registrou. (Evite: Contar o aviso de e-mail lido como contato feito pelo vendedor.)
8. **Pendência olha todas as tarefas da negociação aberta.** Tarefa atrasada = não concluída, não cancelada e com vencimento antes de hoje em America/Sao_Paulo. Sem tarefa ativa só quando não existe tarefa ou todas estão concluídas ou canceladas. Verifique todas as tarefas da negociação, não só a última, e só em negociações abertas. Sem tarefa não quer dizer pausada: pausa vem do campo oficial de pausa. (Evite: Ler só a tarefa mais recente e marcar a negociação como sem pendência.)
9. **Auditoria no corte, com expediente declarado.** A auditoria do dia anterior reconstrói o estado no corte (meia-noite de Brasília): tarefa concluída depois do corte conta como ativa no corte, anotação editada depois do corte é ignorada. O expediente (por exemplo 08:00 a 18:00) e a semana (domingo a sábado ou segunda a sexta) são declarados e iguais para todos. (Evite: Auditar o dia de ontem com o estado de hoje.)
10. **Estado atual não é produção do dia.** No RD Station Conversas, atendimento com closed = true está fechado mesmo com opened = true. Contadores de aberto e fechado mostram o estado de hoje, não o fechamento ocorrido no dia: não leia o estado atual como produção de ontem. Transferências e redistribuições ficam em colunas próprias, porque mudam quem é dono do atendimento. (Evite: Contar como aberto todo atendimento com opened = true.)

### O que entra em cada métrica

Direção da mensagem, autoria da tarefa e situação da pendência.

- **type = CUSTOMER** → Entrada do lead (`entrada_contato`)
- **type = USER com user_id da lista** → Saída humana: produtividade (`saida_operador`)
- **type = USER sem user_id** → Automação: fora do ranking (`saida_automatica`)
- **EVENT, NOTE** → Fora das contagens; a conversa continua na tabela
- **user_id fora da lista do time** → Não identificado: entra no volume, não no ranking (`nao_identificado`)
- **Tarefa com texto de e-mail lido ou respondido** → Automática: fora das atividades
- **Aberta, vencimento < hoje, negociação aberta** → Tarefa atrasada
- **Nenhuma tarefa ou todas concluídas ou canceladas** → Sem tarefa ativa

### Definições

| Métrica | Definição |
|---|---|
| Mensagens enviadas | mensagens de saída humanas por dia x atendente; somável |
| Conversas atendidas | contagem distinta de conversas com pelo menos uma saída humana do atendente no recorte; não somável entre dias |
| Tempo de primeira resposta humana | minutos entre a primeira mensagem do lead e a primeira resposta humana, só em conversas com mensagem do lead; agregado por mediana |
| Taxa de resposta | conversas com mensagem do lead e resposta humana / conversas com mensagem do lead |
| Venda atribuída | valor exclusivo da negociação ganha, uma vez, ao último atendente humano da conversa dona |
| Ticket médio do atendente | valor atribuído / conversas com receita atribuída ao atendente |
| Tarefa atrasada | tarefa não concluída e não cancelada, com vencimento antes de hoje em America/Sao_Paulo, em negociação aberta |
| Nova vinda do SDR | negociação em que a primeira atividade do SDR antecede a primeira da unidade; contada na data da primeira atividade da unidade |

### Armadilhas

- **Ranking liderado pelo robô.** Antes do filtro de humano, a automação de disparo aparecia como a atendente mais produtiva do time. Como evitar: Separe saída humana, automação e evento antes de montar qualquer ranking.
- **Conversas somadas por dia.** O total de conversas do mês, somado a partir dos dias, passou muito do número real porque a mesma conversa voltava em vários dias. Como evitar: Reconte o mês com contagem distinta e marque a coluna diária como não somável.
- **Tempo de resposta pessimista.** Metade das conversas era disparo sem mensagem do lead e entrava no cálculo como espera sem resposta. Como evitar: Meça só conversas com mensagem do contato.
- **Venda contada em dobro.** A mesma negociação aparecia em duas conversas, e a receita somada do time passava da venda real. Como evitar: Use o valor exclusivo por negociação, na conversa dona.
- **Login da unidade no ranking.** Vários atendentes usavam o mesmo login de unidade no CRM, e o ranking por pessoa comparava uma pessoa com uma recepção inteira. Como evitar: Mapeie o login para a unidade e compare unidades entre si; peça login individual para medir pessoas.
- **E-mail lido virou contato.** Tarefas criadas sozinhas quando o lead abria um e-mail contavam como contato feito, e o SDR parecia ter trabalhado leads que nunca tocou. Como evitar: Filtre as tarefas automáticas pelo texto padrão antes de contar atividade e contato.

### Teste de aceitação

- [ ] A soma de mensagens enviadas por atendente no mês é igual ao total de saídas humanas da fonte no mesmo recorte.
- [ ] As conversas atendidas do mês, recontadas por contagem distinta, nunca passam da soma dos dias, e o painel nunca soma a coluna diária.
- [ ] A soma das vendas atribuídas a todos os atendentes é igual ao valor das negociações ganhas que tiveram conversa, sem diferença.
- [ ] Nenhuma negociação ganha ou perdida aparece na lista de tarefas atrasadas.
- [ ] Rodar a auditoria de ontem à tarde dá o mesmo resultado que rodá-la de manhã.

### Context document

```text
Produtividade do time comercial
- Produtividade = saída humana nomeada: type = 'USER' com user_id preenchido e usuário na lista do time <tabela do time>. Saída sem usuário = automação. EVENT e NOTE não são conversa.
- Usuário fora da lista = nao_identificado: entra no volume total, sai do ranking.
- Somável: mensagens, mídias, entregas, vendas atribuídas. Não somável: conversas atendidas e contatos (contagem distinta). Taxas = soma / soma.
- Tempo de resposta: ciclo da primeira mensagem do lead sem resposta até a primeira resposta humana, só em conversas com mensagem do lead. Agregar por mediana. Desempate por id.
- Venda atribuída: valor exclusivo por negociação, na conversa com a última mensagem da negociação, ao último atendente humano. Ticket = valor atribuído / conversas com receita atribuída.
- Papel (SDR, closer, unidade) pela lista do time com vigência mensal. Login compartilhado mede a unidade.
- Nova vinda do SDR: primeira atividade do SDR antes da primeira da unidade; data = primeira atividade da unidade. Atividade antes de <data de criação do funil de SDR> não conta.
- Tarefas automáticas (e-mail lido, e-mail respondido, cadência) não contam como atividade nem como contato.
- Tarefa atrasada: não concluída, não cancelada, vencimento < hoje em America/Sao_Paulo, negociação aberta. Sem tarefa ativa: nenhuma tarefa ou todas concluídas ou canceladas. Sem tarefa não é pausada.
- Auditoria diária: estado no corte de <hora> de Brasília do dia anterior; expediente <início> a <fim>; semana <domingo a sábado>.
- RD Station Conversas: closed = true é fechado mesmo com opened = true. Aberto e fechado são estado atual.
- Sempre informar a última carga das mensagens e tarefas.
Exceções por cliente:
- <cliente>: o login <e-mail> é compartilhado pela unidade <unidade>.
- <cliente>: SDR = usuários <lista>; closers = <lista>.
- <cliente>: o funil de SDR começou em <data>; antes disso não há métrica de SDR.
```

### Variações

- **Transcrição de calls:** Com as transcrições do Google Meet, conte falas e tempo de fala por participante para ver quanto o vendedor falou e quanto ouviu.
- **Escola com várias unidades:** Produtividade por unidade, com transferências entre SDR e unidades e semana de domingo a sábado no fuso de Brasília.
- **Tarefas fora do CRM:** Quando o time controla tarefas no Notion ou em planilha, aplique a mesma régua de atraso com a lista de status concluídos da ferramenta.
