Contexto: Mensagens de suporte chegam misturando temas (acesso, pagamento, uso de funcionalidades), dificultando resposta ágil.
- Decomposição (quebrar o problema)
Categorias-macro: Acesso/Autenticação · Pagamentos/Faturas · Uso de Funcionalidades · Bugs/Erros · Conta/Perfil · Outros.
Subtópicos por categoria:
Acesso: senha, 2FA, bloqueio, cadastro.
Pagamentos: boleto, cartão recusado, reembolso, nota fiscal.
Uso: tutorial, limite de plano, passo a passo.
Bugs: erro 4xx/5xx, travamento, compatibilidade.
Canais: e-mail, chat, formulário in-app (padronizar entrada).
- Reconhecimento de padrões
Extração de intenções: palavras-chave (“não consigo logar”, “cartão recusado”, “como exportar”), códigos de erro, prints.
Sazonalidade: picos por release, fim de mês (fatura), início de semana (acesso).
Repetição: perguntas frequentes por categoria → base de respostas padrão.
- Abstrações (simplificar o fluxo)
Taxonomia de casos: categoria → subcategoria → intenção.
Templates de resposta (FAQ dinâmica): curto, objetivo, com links/step-by-step e variações por canal.
Formulário estruturado na entrada: campos obrigatórios por categoria (ex.: e-mail da conta + último 4 dígitos do cartão para pagamentos; ID do erro para bugs).
SLA por severidade: P1 (bloqueio total), P2 (função crítica), P3 (dúvida).
Playbooks de encaminhamento: quando acionar Engenharia, Financeiro, CS.
- Algoritmo (roteamento e resposta)
Fluxo de decisão simplificado:
Receber mensagem
Classificar (NLP leve + regras): detectar categoria/subcategoria/intenção
Checar base de respostas
Se existe resposta padrão e o caso é P2/P3 → responder automaticamente + oferecer “ainda precisa de ajuda?”
Se não existe ou é P1/complexo → encaminhar ao time responsável com checklist de dados já coletados
Confirmar resolução (mensagem de follow-up)
Aprender: registrar rótulos/feedback para melhorar modelos e templates.
Pseudorregra (exemplo):
if contains(["não consigo", "acessar", "login", "senha"]) → Categoria = Acesso
elif contains(["cobrança", "fatura", "cartão", "boleto"]) → Categoria = Pagamentos
elif contains(["como", "onde fica", "passo a passo"]) → Categoria = Uso
elif contains(["erro", "bug", "falha", "travou"]) → Categoria = Bugs
else → Outros
- Métricas de sucesso
FCR (First Contact Resolution) ↑
Tempo médio de primeira resposta ↓
% de autosserviço (FAQ/auto-reply) concluído ↑
CSAT/NPS por categoria ↑
Taxa de reclassificação/encaminhamento errado ↓
- Implementação incremental (2 sprints)
Sprint 1: taxonomia, formulário estruturado, 20 templates top-FAQ, regras de roteamento básicas, dashboards.
Sprint 2: NLP leve (intent + entidades), expansão de templates, SLAs por severidade, playbooks de escalonamento, feedback loop automático.
- Estruturas de dados (mínimo viável)
Tabela Casos: id, canal, texto, categoria, subcategoria, intenção, severidade, status, owner, criado_em, resolvido_em
Tabela Templates: id, categoria, intenção, conteúdo, canal, última_atualização
Tabela Métricas: id_caso, t_first_response, t_resolução, csat, auto/assistido