Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
13
respostas

[Projeto] PROPOSTA DE SOLUÇÃO DO DESAFIO DE ORGANIZANDO O SUPORTE AO CLIENTE

I - CONTEXTO DO PROBLEMA (Desafio a resolver)

Fui contratado como analista em uma empresa de tecnologia e recebi a seguinte demanda do time de Customer Service:

"Precisamos melhorar a forma como lidamos com os pedidos de suporte dos usuários. As mensagens chegam com vários problemas misturados, como dificuldades para acessar o sistema, dúvidas sobre pagamento ou erros no uso de funcionalidades. Está tudo confuso e difícil de responder de forma ágil."

Utilize os principais fundamentos do pensamento computacional para propor um plano que ajude a organizar e automatizar o atendimento. Considere:

  • Como decompor o problema?
  • É possível reconhecer padrões nos pedidos?
  • Que tipo de abstrações pode ser criado para simplificação do fluxo?
  • É viável criar um algoritmo para lidar com cada tipo de solicitação?

II – ETAPAS DO PENSAMENTO COMPUTACIONAL NA SOLUÇÃO DO DESAFIO APRESENTADO

A proposta funcional do sistema detalhado a seguir foi estruturada com foco na eficácia, com inferência das regras de negócio a serem tratadas, integrando automação inteligente e melhoria contínua, de modo a atender aos objetivos do atendimento ao cliente — a linha de frente da empresa:

ETAPA 1 – DECOMPOSIÇÃO DO PROBLEMA

A análise do problema apresentado pelo setor de Customer Service e sua decomposição progressiva em partes menores possibilitam a definição das regras de negócio necessárias à construção da solução. Esse detalhamento progressivo permite estabelecer as informações e os procedimentos de gerenciamento das reclamações dos clientes, viabilizando a agilidade e a eficácia requeridas para a satisfação dos clientes e a resolução célere de suas demandas, conforme detalhado a seguir:

i) Categorias de Problemas: O Customer Service estabeleceu, preliminarmente, três categorias básicas de problemas na especificação da questão:

  • Problemas de Acesso
  • Problemas de Pagamento
  • Problemas de Funcionalidades

ii) Subcategorias de Problemas: Sugere-se subdividir cada categoria em subcategorias, de modo a qualificar com maior profundidade os diferentes tipos de problemas que afetam os clientes. Essa subdivisão possibilita diferentes níveis de atuação do Customer Service nos esforços de melhoria contínua do atendimento: quanto mais específico o problema, mais fácil é identificar a solução adequada e agilizar o atendimento.

iii) Setor Responsável pelo Atendimento da Reclamação: A subdivisão em categorias e subcategorias tem por objetivo permitir que o Customer Service identifique com precisão a qual equipe encaminhar cada reclamação, bem como quem deve ser cobrado pela solução do problema. Por exemplo, problemas de pagamento competem ao setor financeiro; problemas de funcionalidades, ao setor de desenvolvimento de sistemas; e questões de login, ao setor de suporte e administração de sistemas — e assim sucessivamente.

iv) Importância das Áreas do Negócio na Gestão do Atendimento ao Cliente: A existência de diferentes áreas responsáveis por cada categoria/subcategoria de problema possibilita o paralelismo e a simultaneidade na resolução das questões, contribuindo para a agilidade e a eficácia no atendimento das reclamações. Assim, cada reclamação deve conter os dados do setor da empresa e da pessoa responsável pela solução do problema. Com isso, torna-se possível gerar relatórios sobre os problemas identificados, os tempos de atendimento por setor (menor, médio e maior tempo de resposta por categoria e subcategoria), a classificação dos problemas por severidade, categoria, subcategoria e setor, entre outros indicadores — subsidiando a gestão dos esforços de melhoria contínua do atendimento.

v) Reclassificação Dinâmica das Categorias e Subcategorias de Problemas: A reclassificação automática das categorias e subcategorias será atualizada ao final de cada período (a ser definido pela área de Customer Service) e refinada de forma dinâmica por meio de recursos de Inteligência Artificial, utilizando a base histórica acumulada das reclamações recebidas dos clientes ao longo do tempo.

vi) Nível de Satisfação do Cliente: Considerando que o foco da melhoria no atendimento ao cliente está diretamente relacionado à agilidade do processo — e, portanto, ao nível de satisfação do cliente (critério a ser definido pela área de Customer Service, como por exemplo: insatisfeito, satisfeito, muito satisfeito) —, esse indicador, avaliado pelo próprio cliente em relação à solução do seu problema, deverá ser incorporado ao registro da reclamação.

==> continua abaixo (limite de 5.000 caracteres)

13 respostas
solução!

continuação...

vii) INDICADOR DE AGILIDADE NO ATENDIMENTO AO CLIENTE: Será apurado o tempo do atendimento, com base na comparação entre a data/hora de envio do pedido do cliente e respectiva data/hora da solução do seu problema, e para isso será agregado no registro da reclamação a data/hora do recebimento da reclamação e a data/hora da solução do problema do cliente.

viii) BENCHMARK – METAS DE ATENDIMENTO – À medida que, for se desenvolvendo o atendimento na solução das reclamações dos clientes por categorias e subcategorias, e a classificação dinâmica dos tempos de atendimentos e os respectivos níveis de atendimento dos clientes associados, irão sendo conhecidos os melhores tempos de atendimento por tipo de problema, e assim, passarão a serem metas de referência a serem batidas pelos setores, com vista a melhoria contínua, possibilitando assim divulgar internamente na empresa, os tempos de benchmark interno, e assim parabenizar os setores e criar uma clima positivo para perseguir bater tais tempos, com eventual premiação dos setores e pessoas, estimulando assim positivamente todos por um foco, a agilidade e qualidade no atendimento.

ix) INDICADOR DE PROBLEMA RESOLVIDO - A indicação de problema resolvido será identificada quando o cliente informa a solução ter sido atendida, no final do atendimento ao cliente, e verificado pela Area de Customer Service.

x) SEM FEEDBACK DO CLIENTE - Na ausência da resposta, após “x” dias decorridos da resposta sem retorno do cliente (parâmetro a ser definido pela área de Customer Service)

xi) PRIORIDADE NO ATENDIMENTO DA RECLAMAÇÃO - Apesar do foco em agilidade no atendimento das reclamações do cliente, certos problemas devem ser atendidos com maior agilidade ainda. Cada subcategoria terá nível de prioridade no atendimento, dado a sua criticidade e severidade segundo a ótica e impacto para o cliente (a ser definida pela área de Customer Service), por exemplo: bloqueio de acesso, reembolso, estorno, etc., tenha maior urgência de solução sob o ponto de vista da importância dada pelo cliente.

xii) QUALIFICAÇÃO DA SOLUÇÂO AO ATENDIMENTO: Em função do detalhamento da solução (campo parte da reclamação do cliente) de como foi resolvido cada reclamação do cliente, poder-se-á usar a IA para realizar uma análise dinâmica das soluções por tipos de problemas, e assim identificadas as situações que um simples FAQ (questões mais perguntadas) resolve. Quanto menos atendimento por pessoas mais agilidade, e maior qualidade no atendimento ao cliente. Assim, o FAQ possibilitará automação do atendimento via CHATBOT, sanando as dúvidas sem atendimento humano.

xiii) AUTOMAÇÃO DO ATENDIMENTO DOS CLIENTES (eliminado a ação humana no suporte ao cliente) – Ouros tipos de atendimento, que podem ser, também, objeto de automação no atendimento ao cliente - quanto menor intervenção humana, menores as chances do cliente não ser bem atendido, não gostar da forma como está sendo antendido, e assim sucessivamente. Quanto maior a autoação e maior o auto-atendimento eficaz, melhor para a empresa e para o cliente.

xiv) **CLASSIFICAÇÃO PRELIMINAR CATEGORIAS E SUBCATEFORIAS **

- Problemas de Acesso:

  • · Esqueci senha / login
  • · Conta bloqueada
  • · Erro de autenticação 2FA
  • · Permissões insuficientes
  • Outros problemas de Acesso

· Problemas de Pagamento:

  • · Fatura vencida / cobrança duplicada
  • · Troca de plano
  • · Reembolso / estorno
  • · Meio de pagamento recusado
  • · Outros problemas de pagamento

· Problemas no Uso da plataforma:

  • · Dúvida em funcionalidade X
  • · Erro ao executar ação Y
  • · Lentidão / queda
  • · Integração com API
  • · Outros problemas no uso da plataforma

==> continua abaixo (limite de 5000 palavras caracteres

continuação ...

ETAPA 2 – RECONHECIMENTO DE PADRÕES

Análise do histórico de tickets (último 2 anos, por exemplo) com técnicas simples de NLP (ex: word cloud, frequência de termos), poderá identificar padrões de tipos de problemas nas reclamações do cliente e respectivas soluções, graus de satisfação no atendimento automático (CHATBOT), e no atendimento humano, por tipo de problema. Com isso, cria-se regras de classificação automática baseadas em palavras-chave.

ETAPA 3 – ABSTRAÇÃO (Simplificação)

Criando camadas de abstração:

· FAQ Dinâmica: Em vez de respostas fixas, usar sistema que busca a solução mais atualizada em uma base de conhecimento (wiki interna).
· Modelo de Resposta por Nível:**
              · Nível 1 → Resposta automática (Chabot de orietnação como resolver problemas mais frequentes)
              · Nível 2 → Se o usuário responder que não resolveu, encaminha para humano com o diagnóstico já feito.
· Chatbot Pré-Atendimento: Coleta dados essenciais (ex: "Qual seu plano?", "Qual funcionalidade?") antes de abrir o chamado.

ETAPA 4 – ALGORITMO - VERSÃO INICIAL SIMPLIFICADA

4.1 - Proponho um algoritmo com loop de feedback:

#  1. Recebe mensagem (e-mail, chat, formulário).
#  2. Aplica filtro de spam/validação.
#  3. Classifica por categoria + subcategoria (usando ML ou regras).
#  4. Verifica se há solução na base de conhecimento:
#                - Se SIM então envia resposta com passo a passo e pergunta "Resolveu?"
#               - Se NÃO então → abre ticket e atribui ao time especializado com prioridade.
#  5. Após 24h, se não houve resposta do usuário, encerra com pesquisa de satisfação.
#  6. Registra o caso em um dashboard de métricas (tempo médio, categorias mais frequentes).
# 7. A cada 15 dias, revisa os casos não resolvidos para atualizar a base de conhecimento.

4.2 - DIFERENCIAIS:

  • . Classificação híbrida (regras + IA leve) para reduzir erros.
  • . Aprendizado contínuo: novos padrões alimentam o algoritmo semanalmente.
  • . Escalonamento inteligente: prioriza bloqueios totais e problemas financeiros.
  • · Dashboard gerencial para o time de Sucesso acompanhar gargalos, nível de agilidade, grau de satisfação, problemas mais frequentes, etc.

4.3 – EXEMPLO PRÁTICO DA LÓGICA SIMPLIFICADA:

Usuário escreve: "Não consigo pagar a fatura, meu cartão dá erro."

· Algoritmo identifica: Pagamento → Meio recusado.

· Envia: "Verifique se o cartão está ativo e com limite. Se persistir, tente outro cartão ou boleto."

· Se usuário responder "ainda não funcionou" 
        
        Pergunta ao Cliente se deseja pagar por outros meios: PIX, BOLETO, DEBITO EM CONTA
        
        Se Deseja - submete a rotina de pagamento referente ao meio pagto escolhido
        
        Caso contrário  ticket é criado com a análise já anexada para o atendente.

Essa abordagem torna o atendimento mais rápido, rastreável e adaptável, além de reduzir a sobrecarga do time humano. Quão mais automatizado o atendimento mais a eficácia e a satisfação do cliente. O cliente conseguindo resolver suas questões facilmente, aumenta a satisfação do cliente e a sua preferência pela empresa.

A partir da seção Desdobramento do problema, e em função das funcionalidades inferidas de cada item do desdobramenteo, respectivamente:

  • i) Categorias de Problemas:
  • ii) Subcategorias de Problemas:
  • iii) Setor Responsável pelo Atendimento da Reclamação:
  • iv) Importância das Áreas do Negócio na Gestão do Atendimento ao Cliente:
  • v) Reclassificação Dinâmica das Categorias e Subcategorias de Problemas
  • vi) Nível de Satisfação do Cliente
  • vii) Indicador de Agilidade do atendimento ao cliente:
  • viii) Benchamark - metas correntes de atendimento
  • ix) Indicador de Problema Resolvido
  • x) Sem Feedback do Cliente
  • xi) Prioridade no Atendimento da Reclamação
  • xii) Qualificação da Solução do Atendimento
  • xiii) Automação do Atendimento do Cliente
  • xiv) Classificaçaão Preliminar das Categorias e subcategorias

gerei a estrutura de dados da versão preliminar, em formato JSON, para atender o desdobramento do problema, abstração e do algoritmo proposto. Vide a seguir (devido a limitação de 5000 caracteres)

{
  "registro_reclamacao": {
    "id_reclamacao": "string (UUID ou sequencial)",
    "canal_origem": "email | chat | formulario",
    "identificacao_cliente": {
      "id_cliente": "string",
      "plano_contratado": "string"
    },

    "classificacao": {
      "categoria": "Problemas de Acesso | Problemas de Pagamento | Problemas no Uso da Plataforma",
      "subcategoria": {
        "Problemas de Acesso": [
          "Esqueci senha / login",
          "Conta bloqueada",
          "Erro de autenticação 2FA",
          "Permissões insuficientes",
          "Outros problemas de Acesso"
        ],
        "Problemas de Pagamento": [
          "Fatura vencida / cobrança duplicada",
          "Troca de plano",
          "Reembolso / estorno",
          "Meio de pagamento recusado",
          "Outros problemas de pagamento"
        ],
        "Problemas no Uso da Plataforma": [
          "Dúvida em funcionalidade X",
          "Erro ao executar ação Y",
          "Lentidão / queda",
          "Integração com API",
          "Outros problemas no uso da plataforma"
        ]
      },
      "subcategoria_selecionada": "string (valor único escolhido da lista acima, conforme a categoria)",
      "metodo_classificacao": "regras | ML | hibrido",
      "confianca_classificacao": "number (0-1, quando aplicável a IA/ML)"
    },

    "conteudo_reclamacao": {
      "descricao_original_cliente": "string (texto bruto enviado pelo cliente)",
      "anexos": ["array de strings (prints, arquivos)"]
    },

    "prioridade_atendimento": {
      "nivel_prioridade": "alta | media | baixa",
      "criticidade": "string (definida pela área de Customer Service)",
      "severidade": "string",
      "justificativa": "string (ex: bloqueio de acesso, reembolso, estorno)"
    },

    "indicador_agilidade": {
      "data_hora_recebimento": "datetime (ISO 8601)",
      "data_hora_solucao": "datetime (ISO 8601)",
      "tempo_total_atendimento": "number (em minutos/horas, calculado)"
    },

    "benchmark_meta": {
      "tempo_meta_referencia": "number (melhor tempo histórico por categoria/subcategoria)",
      "tempo_realizado": "number",
      "atingiu_meta": "boolean",
      "elegivel_premiacao": "boolean"
    },

    "solucao_aplicada": {
      "tipo_atendimento": "chatbot | humano | hibrido",
      "nivel_atendimento": "nivel_1_automatico | nivel_2_escalado",
      "setor_responsavel": "string",
      "detalhamento_solucao": "string (como foi resolvido)",
      "elegivel_faq": "boolean (identificado via IA se pode virar FAQ/chatbot)"
    },

    "indicador_problema_resolvido": {
      "resolvido": "boolean",
      "confirmado_pelo_cliente": "boolean",
      "data_confirmacao_cliente": "datetime | null",
      "verificado_por_customer_service": "boolean"
    },

    "sem_feedback_cliente": {
      "dias_sem_retorno": "number",
      "parametro_x_dias": "number (definido pela área de Customer Service)",
      "status": "aguardando | expirado_sem_resposta | encerrado_automaticamente"
    },

    "qualificacao_ia": {
      "analise_dinamica_solucoes": "boolean (se passou por análise de IA)",
      "potencial_automacao_chatbot": "boolean",
      "categoria_faq_sugerida": "string | null"
    },

    "metadados": {
      "data_criacao_registro": "datetime",
      "ultima_atualizacao": "datetime",
      "historico_interacoes": [
        {
          "timestamp": "datetime",
          "autor": "cliente | chatbot | atendente",
          "mensagem": "string"
        }
      ]
    }
  }
}```

Observações sobre a estrutura de dados resultante do desdobramento do problema com vistas a solução do problema:

  • Os campos de indicador_agilidade e benchmark_meta implementam diretamente os itens (vii) e (viii) do documento — permitindo calcular o tempo real vs. meta por categoria/subcategoria.
  • indicador_problema_resolvido e sem_feedback_cliente cobrem os itens (ix) e (x), com a lógica de expiração por ausência de resposta.
  • prioridade_atendimento reflete o item (xi), priorizando bloqueios e questões financeiras.
  • qualificacao_ia implementa o item (xii), identificando via IA quais casos poderiam virar FAQ/chatbot (item xiii).
  • classificacao usa as categorias/subcategorias preliminares do item (xiv).

Regras de Negócio — Organização e Automação do Atendimento ao Cliente

Com base no conteúdo precedente da decomposição do problema computacional, considerando as etapas de decomposição, reconhecimento de padrões, abstração e o algoritmo proposto —, seguem as regras de negócio estruturadas:

RN-01 — Recepção e Validação
O sistema deve aceitar reclamações vindas de múltiplos canais (e-mail, chat, formulário). Toda mensagem recebida passa obrigatoriamente por um filtro de spam/validação antes de prosseguir para classificação.

RN-02 — Classificação por Categoria e Subcategoria

Toda reclamação deve ser classificada em uma categoria (Acesso, Pagamento, Uso da Plataforma) e uma subcategoria específica dentro dela. A classificação pode ser feita por regras (palavras-chave) ou por Machine Learning, sendo o modelo híbrido (regras + IA leve) o recomendado para reduzir erros.

RN-03 — Definição de Prioridade

Cada subcategoria possui um nível de prioridade pré-definido pela área de Customer Service, com base em criticidade e severidade sob a ótica do cliente. Problemas como bloqueio de acesso, reembolso e estorno devem ter prioridade de atendimento mais alta que os demais, independentemente da ordem de chegada.

RN-04 — Verificação de Base de Conhecimento

Após classificada, a reclamação deve ser verificada contra uma base de conhecimento/FAQ dinâmica:

Se houver solução cadastrada → resposta automática é enviada ao cliente (Nível 1).
Se não houver solução, ou o cliente indicar que não resolveu → o atendimento é escalado para Nível 2 (time humano especializado), com abertura de ticket.

RN-05 — Atendimento em Camadas (Escalonamento)

O atendimento segue modelo por nível:

Nível 1: resposta automática via chatbot/FAQ.
Nível 2: encaminhamento a atendente humano quando o cliente reporta que o problema persiste.

O chatbot de pré-atendimento deve coletar dados essenciais (ex: plano contratado, tipo de problema) antes do encaminhamento, para agilizar o atendimento humano quando necessário.

RN-06 — Escalonamento Inteligente

Reclamações relacionadas a bloqueio total de acesso ou questões financeiras críticas devem ser priorizadas automaticamente no escalonamento, à frente de demandas de menor criticidade.

RN-07 — Indicador de Agilidade no Atendimento

Toda reclamação deve registrar data/hora de recebimento e data/hora da solução. O tempo de atendimento é calculado pela diferença entre esses dois marcos e deve ser armazenado para fins de indicador de performance.

RN-08 — Benchmark de Metas de Atendimento

À medida que os tempos de atendimento por categoria/subcategoria forem sendo conhecidos, os melhores tempos passam a servir como meta de referência (benchmark interno) para os setores. Metas atingidas podem gerar divulgação interna e eventual premiação, como estímulo à melhoria contínua.

RN-09 — Indicador de Problema Resolvido

Um atendimento só é considerado resolvido quando o próprio cliente confirma a solução ao final do atendimento, com verificação posterior pela área de Customer Service.

RN-10 — Regra de Ausência de Feedback do Cliente

Caso o cliente não responda após "x" dias da resposta enviada (parâmetro configurável, definido pela área de Customer Service), o atendimento é encerrado automaticamente por falta de retorno, sendo registrado com status específico (não contabilizado como "resolvido confirmado").

RN-11 — Qualificação da Solução via IA

O detalhamento de como cada reclamação foi resolvida deve ser analisado por IA para identificar padrões de soluções recorrentes. Casos identificados como resolvíveis por FAQ simples devem ser sinalizados como candidatos à automação, reduzindo a dependência de atendimento humano.

RN-12 — Ampliação Progressiva da Automação (Chatbot)

Sempre que um padrão de solução for validado como recorrente e de baixa complexidade, ele deve ser incorporado ao escopo de automação do chatbot. Quanto menor a intervenção humana necessária — mantendo a eficácia — maior a satisfação esperada do cliente.

RN-13 — Aprendizado Contínuo do Modelo de Classificação

Novos padrões identificados nos tickets devem retroalimentar periodicamente (ciclo sugerido: semanal) as regras/modelo de classificação automática, mantendo a categorização atualizada frente a novos tipos de problema.

RN-14 — Revisão Periódica de Casos Não Resolvidos

A cada 15 dias, os casos não resolvidos automaticamente devem ser revisados para atualização da base de conhecimento/FAQ, ampliando a cobertura de resolução automática ao longo do tempo.

RN-15 — Registro e Monitoramento em Dashboard

Todo caso deve ser registrado em um dashboard de métricas contendo, no mínimo: tempo médio de atendimento por categoria/subcategoria, volume de chamados, grau de satisfação e comparação com o benchmark — servindo de base gerencial para o time de Sucesso do Cliente identificar gargalos.

TABELA DE DECISÃO das REGRAS DE NEGÓCIO do ATENDIMENTO AO CLIENTE (Rn-10 a RN-15)

Para cada condição estabelecida em cada Regra de Negócio inferida do Desdobramento do Problema, consta a ação a ser executada e o responsável pela ação, respectivament4e:

(Insira aqui a descrição dessa imagem para ajudar na acessibilidade )

A seguir o Mapa Mental dos nós temáticos inferidos da Tabela de Decisão das Regras de Negócio mostrada acima. O mapa mental agrupa as 15 regras em cinco ramos temáticos, do fluxo inicial até o monitoramento:

  • Recepção (RN-01 a RN-03) = Entrada do ticket, validação e classificação por categoria/subcategoria
  • Resolução (RN-04 a RN-06) = Verificação de FAQ, resposta automática ou escalonamento, com priorização inteligente
  • Métricas (RN-07 a RN-10) = Tempo de atendimento, benchmark de metas, confirmação de resolução e regra de ausência de feedback
  • Melhoria (RN-11 a RN-14) = Qualificação da solução via IA, ampliação do chatbot, aprendizado contínuo e revisão periódica
  • Dashboard (RN-15) = Consolidação de métricas para o time de Sucesso do Cliente

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

O MAPA MENTAL descreve a estrutura completa das 15 regras de negócio (RN-01 a RN-15) do sistema de atendimento ao cliente, organizadas em um nó central com 5 ramos temáticos:

Nó central: Atendimento ao Cliente — Regras de Negócio

1. Recepção & Classificação (RN-01 a RN-03)

  • RN-01: Filtro de spam/validação da mensagem recebida
  • RN-02: Classificação automática por categoria e subcategoria
  • RN-03: Definição do nível de prioridade

2. Resolução & Escalonamento (RN-04, RN-04a, RN-04b, RN-05, RN-06)

  • RN-04: Verificação na base de conhecimento
  • RN-04a: Resposta automática (Nível 1)
  • RN-04b: Escalonamento para Nível 2 com abertura de ticket
  • RN-05: Coleta de dados no pré-atendimento (chatbot)
  • RN-06: Priorização de bloqueios e questões financeiras

3. Indicadores & Metas (RN-07 a RN-10)

  • RN-07: Medição do tempo de atendimento
  • RN-08: Benchmark interno de metas
  • RN-09: Confirmação da resolução pelo cliente
  • RN-10: Regra de encerramento por ausência de feedback ("x" dias)

4. Melhoria Contínua & IA (RN-11 a RN-14)

  • RN-11: Qualificação da solução via IA
  • RN-12: Ampliação da automação do chatbot
  • RN-13: Aprendizado contínuo (ciclo semanal)
  • RN-14: Revisão periódica a cada 15 dias

5. Monitoramento (RN-15)

  • RN-15: Consolidação de métricas em dashboard gerencial (tempo, volume, satisfação)

Em resumo, ele traduz visualmente o fluxo lógico do desafio original: da entrada da reclamação até a automação e o acompanhamento gerencial, mostrando como cada grupo de regras se conecta ao objetivo central de organizar e automatizar o suporte ao cliente.

ALGORITMO Versao 2 - Para cada uma das regras de negócio da decomposição do problema do desafio apresentado, em linguagem natural:

Descrição em Linguagem Natural dos Algoritmos — RN-01 a RN-15

RN-01 — Filtro de spam/validação

Ao receber uma mensagem em qualquer canal (e-mail, chat ou formulário), o sistema primeiro verifica se ela é uma reclamação legítima. Ele analisa características como remetente, padrões de texto e histórico para identificar spam ou conteúdo inválido. Se a mensagem for classificada como spam, ela é descartada ou marcada para revisão manual; caso contrário, segue para a próxima etapa do fluxo.

RN-02 — Classificação por categoria e subcategoria

Uma vez validada, a reclamação é analisada quanto ao seu conteúdo textual. O sistema compara o texto com regras de palavras-chave e/ou aplica um modelo de aprendizado de máquina treinado com o histórico de tickets. Com base nessa análise, atribui uma categoria principal (Acesso, Pagamento ou Uso da Plataforma) e uma subcategoria específica dentro dela. Se a confiança da classificação for baixa, o caso pode ser sinalizado para revisão humana antes de prosseguir.

RN-03 — Definição do nível de prioridade

Com a subcategoria já identificada, o sistema consulta uma tabela de referência (mantida pela área de Customer Service) que associa cada subcategoria a um nível de criticidade e severidade. A reclamação recebe então uma prioridade (alta, média ou baixa), que determinará a ordem de atendimento na fila.

RN-04 — Verificação da base de conhecimento

Antes de qualquer atendimento humano, o sistema busca na base de conhecimento/FAQ uma solução já documentada para aquela categoria/subcategoria. Se uma correspondência for encontrada, o fluxo segue para a resposta automática (RN-04a); se não houver solução cadastrada, o caso é imediatamente encaminhado para escalonamento (RN-04b).

RN-04a — Resposta automática (Nível 1):

quando a base de conhecimento tem uma solução, o chatbot envia automaticamente a resposta ao cliente, junto com uma pergunta de confirmação ("isso resolveu seu problema?"). O sistema aguarda a resposta do cliente antes de decidir o próximo passo.

RN-04b — Escalonamento para Nível 2:

se não houver solução cadastrada, ou se o cliente confirmar que a resposta automática não resolveu o problema, o sistema abre um ticket automaticamente e o encaminha para um atendente humano do time especializado, anexando o histórico da interação até aquele ponto.

RN-05 — Coleta de dados no pré-atendimento

Sempre que um caso é escalado para atendimento humano, o chatbot intercepta o fluxo antes da transferência e faz perguntas objetivas ao cliente (ex: qual plano contratado, qual funcionalidade envolvida). Essas respostas são anexadas ao ticket, para que o atendente humano já receba o contexto necessário e não precise repetir perguntas básicas.

RN-06 — Priorização de bloqueios e questões financeiras

Em paralelo à classificação de prioridade padrão (RN-03), o sistema verifica se a reclamação pertence a um subconjunto crítico pré-definido (ex: bloqueio total de acesso, reembolso, estorno). Se pertencer, o algoritmo eleva automaticamente a prioridade do ticket na fila de atendimento, posicionando-o à frente de casos de menor criticidade, independentemente da ordem de chegada.

RN-07 — Medição do tempo de atendimento

No momento em que a reclamação é recebida, o sistema registra a data/hora de entrada. Quando o atendimento é encerrado (com solução aplicada), registra também a data/hora de conclusão. A diferença entre esses dois marcos é calculada automaticamente e armazenada como o "tempo total de atendimento" daquele ticket.

RN-08 — Benchmark interno de metas

Periodicamente, o sistema analisa o histórico de tempos de atendimento agrupados por categoria e subcategoria, identificando os menores tempos já registrados. Esses valores passam a ser usados como metas de referência (benchmark) para cada tipo de problema. Sempre que um setor atinge ou supera essa meta, o sistema pode gerar um alerta positivo para divulgação interna e eventual reconhecimento.

RN-09 — Confirmação de resolução pelo cliente

Ao final de um atendimento, o sistema solicita ao cliente uma confirmação explícita de que o problema foi resolvido. Somente quando essa confirmação é recebida — e posteriormente validada pela área de Customer Service — o ticket é marcado com o status "resolvido". Sem essa dupla confirmação, o caso permanece em aberto.

(continua abaixo devido ao limite de 5000 caracteres)

RN-10 — Regra de ausência de feedback do cliente

Após o envio de uma resposta ao cliente, o sistema inicia uma contagem de dias. Se o cliente não responder dentro do prazo "x" (parâmetro configurável definido pela área de Customer Service), o algoritmo encerra automaticamente o atendimento, atribuindo o status "sem feedback" — diferente de "resolvido confirmado" — para fins de indicadores.

RN-11 — Qualificação da solução via IA

Para cada ticket resolvido, o sistema envia o texto de detalhamento da solução (como o atendente ou o chatbot resolveu o problema) para um módulo de análise de IA. Esse módulo compara padrões de solução entre diversos tickets similares, identificando quais tipos de problema têm respostas simples e repetitivas — candidatas a virar FAQ automatizado.

RN-12 — Ampliação da automação via chatbot

Quando o módulo de IA (RN-11) identifica um padrão de solução validado como recorrente e de baixa complexidade, o sistema atualiza a base de conhecimento do chatbot, incorporando essa nova resposta automática ao escopo de Nível 1. Isso reduz progressivamente a necessidade de intervenção humana para aquele tipo de caso.

RN-13 — Aprendizado contínuo do modelo de classificação

Em um ciclo periódico (sugerido: semanal), o sistema reprocessa os tickets mais recentes, identificando novos padrões de palavras-chave ou tópicos que não estavam cobertos pelas regras/modelo de classificação vigente. Esses novos padrões são incorporados ao motor de classificação, mantendo-o atualizado frente a mudanças no comportamento dos clientes.

RN-14 — Revisão periódica de casos não resolvidos

A cada 15 dias, o sistema seleciona automaticamente todos os tickets que não foram resolvidos por meio de automação (ou seja, que precisaram de intervenção humana). Uma equipe revisa esses casos manualmente para identificar se algum deles poderia ter sido coberto por uma nova entrada na base de conhecimento/FAQ, atualizando-a quando aplicável.

RN-15 — Consolidação de métricas em dashboard

Continuamente, o sistema agrega os dados de todos os tickets processados — tempo médio de atendimento, volume por categoria/subcategoria, grau de satisfação do cliente e comparação com os benchmarks (RN-08) — e os disponibiliza em um painel gerencial. Esse dashboard é atualizado em tempo real ou em intervalos programados, servindo de base para o time de Sucesso do Cliente identificar gargalos e tomar decisões.

ALGORITMO Versao 2 em PSEUDO-CÓDIGO#

  • Para cada uma das regras de negócio da decomposição do problema do desafio apresentado, o algoritmo será descrito em pseudo-código, respectivamente, o que facilita mais a compreensão e clareza do passo a passo da lógica de cada regra de negócio :
=============================================
RN-01 - Filtro de spam/validacao
=============================================
FUNCAO receber_mensagem(mensagem, canal)
    dados_mensagem <- extrair(mensagem, canal)
    resultado_validacao <- validar_spam(dados_mensagem)
 
    SE resultado_validacao == SPAM ENTAO
        descartar(mensagem)
        RETORNAR "Descartado"
    SENAO
        prosseguir_para(RN-02, dados_mensagem)
    FIM SE
FIM FUNCAO
 
 
=============================================
RN-02 - Classificacao por categoria e subcategoria
=============================================
FUNCAO classificar_reclamacao(dados_mensagem)
    texto <- dados_mensagem.texto
    resultado <- modelo_classificacao(texto)  // regras + ML
 
    categoria <- resultado.categoria
    subcategoria <- resultado.subcategoria
    confianca <- resultado.confianca
 
    SE confianca < LIMIAR_MINIMO ENTAO
        marcar_para_revisao_humana(dados_mensagem)
    FIM SE
 
    dados_mensagem.categoria <- categoria
    dados_mensagem.subcategoria <- subcategoria
 
    RETORNAR dados_mensagem
FIM FUNCAO
 
 
=============================================
RN-03 - Definicao do nivel de prioridade
=============================================
FUNCAO definir_prioridade(reclamacao)
    tabela_prioridade <- carregar_tabela_referencia()  // definida por Customer Service
    nivel <- tabela_prioridade[reclamacao.subcategoria].nivel_criticidade
 
    reclamacao.prioridade <- nivel
    RETORNAR reclamacao
FIM FUNCAO
 
 
=============================================
RN-04 - Verificacao da base de conhecimento
=============================================
FUNCAO verificar_base_conhecimento(reclamacao)
    solucao <- buscar_faq(reclamacao.categoria, reclamacao.subcategoria)
 
    SE solucao != NULO ENTAO
        executar(RN-04a, reclamacao, solucao)
    SENAO
        executar(RN-04b, reclamacao)
    FIM SE
FIM FUNCAO
 
 
=============================================
RN-04a - Resposta automatica (Nivel 1)
=============================================
FUNCAO responder_nivel1(reclamacao, solucao)
    enviar_resposta_automatica(reclamacao.cliente, solucao)
    aguardar_confirmacao_cliente(reclamacao)
 
    SE cliente_confirmou_resolucao(reclamacao) == VERDADEIRO ENTAO
        executar(RN-09, reclamacao)  // marca como resolvido
    SENAO
        executar(RN-04b, reclamacao)  // escala para nivel 2
    FIM SE
FIM FUNCAO
 
 
=============================================
RN-04b - Escalonamento para Nivel 2
=============================================
FUNCAO escalar_nivel2(reclamacao)
    ticket <- abrir_ticket(reclamacao)
    ticket.status <- "aberto_nivel_2"
 
    executar(RN-05, ticket)   // coleta dados de pre-atendimento
    executar(RN-06, ticket)   // verifica prioridade especial
 
    encaminhar_para_time_especializado(ticket)
    RETORNAR ticket
FIM FUNCAO
 
 
=============================================
RN-05 - Coleta de dados no pre-atendimento
=============================================
FUNCAO coletar_dados_pre_atendimento(ticket)
    perguntas <- definir_perguntas_essenciais(ticket.categoria)
 
    PARA CADA pergunta EM perguntas FACA
        resposta <- chatbot_perguntar(ticket.cliente, pergunta)
        ticket.dados_contexto.adicionar(pergunta, resposta)
    FIM PARA
 
    RETORNAR ticket
FIM FUNCAO
 
 
=============================================
RN-06 - Priorizacao de bloqueios e questoes financeiras
=============================================
FUNCAO verificar_prioridade_critica(ticket)
    subcategorias_criticas <- ["bloqueio_total", "reembolso", "estorno"]
 
    SE ticket.subcategoria PERTENCE_A subcategorias_criticas ENTAO
        ticket.prioridade <- "ALTA_URGENCIA"
        mover_para_topo_da_fila(ticket)
    FIM SE
 
    RETORNAR ticket
FIM FUNCAO

=============================================
RN-07 - Medicao do tempo de atendimento
=============================================
FUNCAO registrar_tempo_atendimento(ticket)
    ticket.data_hora_recebimento <- AGORA()
 
    // ... atendimento ocorre ...
 
    QUANDO ticket.status == "resolvido" ENTAO
        ticket.data_hora_solucao <- AGORA()
        ticket.tempo_total <- ticket.data_hora_solucao - ticket.data_hora_recebimento
    FIM QUANDO
 
    RETORNAR ticket
FIM FUNCAO
 

CONTINUAÇÂO ALGORITMO Versão 2 em PSEUDO-CÓDIGO#

Para cada uma das regras de negócio da decomposição do problema do desafio apresentado, o algoritmo será descrito em pseudo-código, respectivamente, o que facilita mais a compreensão e clareza do passo a passo da lógica de cada regra de negócio :

=============================================
RN-08 - Benchmark interno de metas
=============================================
FUNCAO calcular_benchmark()
    PARA CADA (categoria, subcategoria) EM historico_tickets FACA
        tempos <- obter_tempos_atendimento(categoria, subcategoria)
        melhor_tempo <- MINIMO(tempos)
        benchmark[categoria][subcategoria] <- melhor_tempo
    FIM PARA
 
    PARA CADA ticket EM tickets_recentes FACA
        meta <- benchmark[ticket.categoria][ticket.subcategoria]
        SE ticket.tempo_total <= meta ENTAO
            sinalizar_meta_atingida(ticket.setor_responsavel)
        FIM SE
    FIM PARA
 
    RETORNAR benchmark
FIM FUNCAO
 
 
=============================================
RN-09 - Confirmacao de resolucao pelo cliente
=============================================
FUNCAO confirmar_resolucao(ticket)
    resposta_cliente <- solicitar_confirmacao(ticket.cliente)
 
    SE resposta_cliente == "RESOLVIDO" ENTAO
        ticket.confirmado_pelo_cliente <- VERDADEIRO
        verificacao <- customer_service_verifica(ticket)
 
        SE verificacao == VERDADEIRO ENTAO
            ticket.status <- "resolvido"
        FIM SE
    FIM SE
 
    RETORNAR ticket
FIM FUNCAO
 
 
=============================================
RN-10 - Regra de ausencia de feedback do cliente
=============================================
FUNCAO verificar_ausencia_feedback(ticket, parametro_x_dias)
    dias_passados <- AGORA() - ticket.data_ultima_resposta
 
    SE ticket.confirmado_pelo_cliente == FALSO E dias_passados >= parametro_x_dias ENTAO
        ticket.status <- "encerrado_sem_feedback"
    FIM SE
 
    RETORNAR ticket
FIM FUNCAO
 
 
=============================================
RN-11 - Qualificacao da solucao via IA
=============================================
FUNCAO qualificar_solucao_com_ia(ticket)
    SE ticket.status == "resolvido" ENTAO
        detalhamento <- ticket.descricao_solucao
        analise <- modulo_ia.analisar(detalhamento, ticket.categoria)
 
        SE analise.padrao_recorrente == VERDADEIRO E analise.complexidade == "BAIXA" ENTAO
            marcar_como_candidato_faq(ticket)
        FIM SE
    FIM SE
 
    RETORNAR ticket
FIM FUNCAO
 
 
=============================================
RN-12 - Ampliacao da automacao via chatbot
=============================================
FUNCAO ampliar_automacao_chatbot()
    candidatos <- obter_candidatos_faq()
 
    PARA CADA candidato EM candidatos FACA
        SE candidato.validado_por_equipe == VERDADEIRO ENTAO
            adicionar_a_base_conhecimento(candidato.categoria, candidato.subcategoria, candidato.solucao)
        FIM SE
    FIM PARA
FIM FUNCAO
 
 
=============================================
RN-13 - Aprendizado continuo do modelo de classificacao
=============================================
FUNCAO ciclo_aprendizado_semanal()
    ENQUANTO VERDADEIRO FACA
        tickets_recentes <- obter_tickets(ultimos_7_dias)
        novos_padroes <- identificar_novos_padroes(tickets_recentes)
 
        SE novos_padroes.tamanho > 0 ENTAO
            atualizar_modelo_classificacao(novos_padroes)
        FIM SE
 
        aguardar(7_dias)
    FIM ENQUANTO
FIM FUNCAO
 
 
=============================================
RN-14 - Revisao periodica de casos nao resolvidos
=============================================
FUNCAO revisao_quinzenal()
    ENQUANTO VERDADEIRO FACA
        casos_nao_automatizados <- obter_tickets(status = "resolvido_manualmente")
 
        PARA CADA caso EM casos_nao_automatizados FACA
            equipe_revisar(caso)
            SE caso.pode_virar_faq == VERDADEIRO ENTAO
                atualizar_base_conhecimento(caso)
            FIM SE
        FIM PARA
 
        aguardar(15_dias)
    FIM ENQUANTO
FIM FUNCAO
 
 
=============================================
RN-15 - Consolidacao de metricas em dashboard
=============================================
FUNCAO atualizar_dashboard()
    ENQUANTO VERDADEIRO FACA
        metricas <- {
            tempo_medio: calcular_tempo_medio(todos_tickets),
            volume_por_categoria: agrupar_por_categoria(todos_tickets),
            satisfacao: calcular_satisfacao_media(todos_tickets),
            comparacao_benchmark: comparar_com_benchmark(todos_tickets)
        }
 
        publicar_no_dashboard(metricas)
        aguardar(intervalo_atualizacao)
    FIM ENQUANTO
FIM FUNCAO

CONCUSÃO DO DESAFIO

Toda a sequência acima demonstra o desafio do caso prático onde aplicamos os conceitos da AULA 2, onde usamos as técnicas da engenharia para resolução de uma problema, resumidamentee:

Decomposição: Quebrar um problema grande em partes menores.

Reconhecimento de Padrões: Identificar semelhanças e aplicar soluções existentes ou adaptá-las.

Abstração: Focar no essencial, ignorando detalhes irrelevantes.

Algoritmos: Criar uma sequência lógica e precisa de passos para resolver cada parte do problema.