Calculando métricas de atendimento 10 de abril de 2024 15:52 Atualizado Índice: Por que preciso calcular as métricas de atendimento? Quais métricas posso calcular? Informações gerais para os cálculos Cálculos Fórmulas alternativas Artigos complementares Por que preciso calcular as métricas de atendimento? Caso você queira ou tenha a necessidade de montar indicadores personalizados em uma ferramenta externa ao Blip, ou ainda filtrar informações que não são possíveis filtrar na ferramenta, você pode fazer isso extraindo os dados brutos de atendimento e montar as métricas necessárias em uma planilha ou ferramenta de dados. Quais métricas posso calcular? Iremos abordar neste artigo como calcular as métricas de atendimento humano entregues pelo Blip, são elas: Métricas de tempo Tempo máximo de espera na fila Tempo máximo até 1ª resposta Tempo médio de espera na fila Tempo médio até 1ª resposta Tempo médio de espera total Tempo médio de resposta Tempo médio de atendimento Métricas de volumetria Atendimentos abertos Atendimentos perdidos Atendimentos abandonados Atendimentos realizados (atendidos) Atendimentos fechados Observação: para obter os dados brutos de atendimento humano, é necessário extrair o relatório de tickets no gerenciador de relatórios. Para saber como extrair os dados acesse o artigo Relatórios de atendimento. Informações gerais para os cálculos Entendendo as colunas BotId: traz a identificação do bot onde aconteceu o atendimento. TicketId: traz o código identificador do ticket para o sistema. SequentialId: traz o número identificador do ticket que fica visível para o atendente. CustomerIdentity: traz o código identificador do cliente para o sistema. AgentIdentity: traz o código identificador do atendente para o sistema. Status: traz o status do ticket, que podem ser: Waiting: o ticket é criado com este status, e permanece nele enquanto está aguardando na fila de atendimento para ser atribuído a um atendente. Assigned: Este status representa os tickets que estão na fila de atendimento, mas já possuem um atendente para ser atribuído, ele só acontece quando a distribuição automática está habilitada. Open: Este status representa tickets que saíram da fila de atendimento e foram atribuídos a um atendente. Transferred: representa os tickets que foram transferidos para outra fila ou atendente, é considerado um status de fechamento, já que ao transferir um ticket, o mesmo é fechado e outro é aberto. ClosedAttendant: são os tickets fechados pelo atendente no desk, ou pelo gestor via tela de monitoramento. ClosedClient: são os tickets que foram encerrados pelos clientes através da condição de saída cadastrada na caixa de atendimento. ClosedClientInactivity: representa os tickets encerrados automaticamente por inatividade do cliente, quando a opção estiver configurada no portal e no builder. StorageDate: representa a data e hora da criação do ticket. OpenDate: esta coluna informa a data e hora que o ticket foi atribuído a um atendente, seja pela distribuição automática, ou manualmente. FirstResponseDate: nesta coluna é apresentada a data e hora em que o cliente recebeu a primeira resposta do cliente. CloseDate: representa a data e hora em que o ticket foi encerrado. ExpirationDate: Essa coluna virá sempre vazia, desconsiderar. Team: esta coluna informa a fila em que o ticket foi atendido. Closed: traz os status verdadeiro e falso que se referem a remoção do ticket da tela do atendente, se for verdadeiro significa que o ticket já foi removido da tela do atendente, se for falso então o ticket ainda está aberto na tela do atendente.. Tags: esta coluna informa as tags incluídas no ticket após fechamento. ParentSequentialId: esta coluna traz o número do ticket de origem que gerou o novo ticket após a transferência, serve para rastrear os tickets transferidos. QueueTime: esta coluna representa o tempo de espera na fila, que é o tempo que o ticket ficou aguardando na fila de atendimento, é a diferença entre as colunas opendate e storagedate. FirstResponseTime: informa o tempo de primeira resposta, que é o tempo que o atendente levou para dar a primeira resposta do ticket, é a diferença entre as colunas FirstResponseDate e OpenDate. AverageAgentResponseTime: nesta coluna é informado o tempo médio de resposta, que é o tempo médio que o atendente demora para responder as mensagens do cliente, este dado só estará disponível em tickets que tiveram pelo menos uma interação completa, ou seja, uma mensagem do cliente seguida de uma mensagem do atendente. OperationalTime: esta métrica representa o tempo de atendimento, ou seja tempo que o ticket levou para ser atendido, considerando do momento que o atendente mandou a primeira resposta até o momento do fechamento, é a diferença entre as colunas CloseDate e FirstResponseDate. TicketTotalTime: esta coluna informa o tempo total de vida de um ticket, ou seja, o tempo entre a criação e fechamento do ticket, é a diferença entre as colunas CloseDate e StorageDate. CustomerName: esta coluna informa o nome do cliente que foi atendido no ticket, se informado nos dados de contato. CustomerEmail: esta coluna informa o e-mail do cliente que foi atendido no ticket, se informado nos dados de contato. CustomerGender: esta coluna informa o gênero do cliente que foi atendido no ticket, se informado nos dados de contato. CustomerCity: esta coluna informa a cidade do cliente que foi atendido no ticket, se informado nos dados de contato. CustomerPhone: esta coluna informa o telefone do cliente que foi atendido no ticket, se informado nos dados de contato. CustomerExtras: esta coluna informa os dados dos campos extras do cliente que foi atendido no ticket, se informado nos dados de contato. AgentName: traz o nome do atendente que atendeu o ticket. AgentEmail: traz o email do atendente que atendeu o ticket. Conversão dos formatos Antes de fazer cálculos e análises são necessários alguns ajustes no formatos dos dados para que os leitores de dados consigam identificar as informações. Veremos como fazer estas conversões a seguir. Observação: os passos a seguir consideram a ferramenta google sheets no idioma português, caso você use outro editor de planilhas ou outro idioma, pode ser que os comandos ou fórmulas precisem ser adaptados. Data e hora Os dados que contém data e hora, localizados nas colunas StorageDate, OpenDate, FirstResponseDate e CloseDate, são entregues no formato 2023-04-17 17:01:41.12 (AAAA-MM-DD hh:mm:ss.ms) e precisamos deles no formato 17/04/2023 17:01:41 (DD/MM/AAAA hh:mm:ss), para convertê-los siga os passos abaixo. Vamos usar de exemplo a coluna StorageDate, mas os passos para as demais colunas nesse formato seguem os mesmos. Após baixar os dados no seu computador abra o google sheets; Crie uma nova planilha; Importe o arquivo com os dados de tickets; Após a importação vá até a coluna StorageDate; Selecione a coluna toda e clique com o botão direito; Selecione a opção “+ Inserir uma coluna à direita” Selecione novamente a coluna StorageDate; Com a coluna selecionada, vá até o menu “Dados”; Então selecione a opção “Dividir texto em colunas”; Depois altere a opção do separador de “Detectar automaticamente”, para “Ponto” e clique em qualquer célula; Selecione a coluna nova que criamos, que agora possuem os milissegundos; Clique com o botão direito na coluna e depois em “excluir coluna”; Selecione novamente a coluna StorageDate; Vá até o menu mais formatos, representado pelo ícone com os números 123; Então selecione o formato Data hora; Pronto, a coluna StorageDate está no formato correto; Repita estes passos para as colunas OpenDate, FirstResponseDate e CloseDate. Tempos Os dados que contém contagem de tempo, localizados nas colunas QueueTime, FirstResponseTime, AverageAgentResponseTime, OperationalTime e TicketTotalTime, são entregues no formato 1d 01:45:03 (D hh:mm:ss) e precisamos deles no formato 25:45:03 ([HH]:mm:ss), para convertê-los siga os passos abaixo. Vamos usar de exemplo a coluna QueueTime, mas os passos para as demais colunas nesse formato seguem os mesmos. Após baixar os dados no seu computador abra o google sheets; Crie uma nova planilha; Importe o arquivo com os dados de tickets; Após a importação vá até a coluna QueueTime; Selecione a coluna toda e clique com o botão direito; Selecione a opção “+ Inserir uma coluna à direita” Na nova coluna vá até a célula da linha 2 e insira a fórmula: =TEXTO(ESQUERDA(A2; PROCURAR("d"; A2) - 1) * 24 + HORA(EXT.TEXTO(A2; PROCURAR(" "; A2) + 1; NÚM.CARACT(A2))); "00") & EXT.TEXTO(A2; PROCURAR(":"; A2); NÚM.CARACT(A2)) É necessário alterar na fórmula os campos A2, para o campo onde estão as informações que vamos tratar, que seria a 2 célula da coluna QueueTime, no exemplo representada pela célula P2. Se as suas colunas estiverem na mesma ordem, então a fórmula deve ficar desta forma: =TEXTO(ESQUERDA(P2; PROCURAR("d"; P2) - 1) * 24 + HORA(EXT.TEXTO(P2; PROCURAR(" "; P2) + 1; NÚM.CARACT(P2))); "00") & EXT.TEXTO(P2; PROCURAR(":"; P2); NÚM.CARACT(P2)) Depois de ajustar a fórmula pressione enter para aplicar; Então copie a célula para toda a coluna; Nas células onde a informação da coluna QueueTime estiver vazia, o resultado de erro será apresentado como “#VALOR!”, esse dado deve ser apagado deixando as células em branco. Selecione a coluna QueueTime; Vá até o menu mais formatos, representado pelo ícone com os números 123; Então selecione a opção “Formato de número personalizado”; E inclua o seguinte formato [HH]:mm:ss e clique em aplicar; O próximo passo é copiar a coluna que convertemos os dados; Depois colar os dados sem formatação na coluna QueueTime com o comando ctrl+shift+V, ou pelo menu Editar>Colar especial>Só os valores; Por fim exclua a coluna adicional; Pronto, a coluna Queuetime está no formato correto; Repita estes passos para as colunas FirstResponseTime, AverageAgentResponseTime, OperationalTime e TicketTotalTime. Cálculos Métricas de tempo Nesta seção vamos aprender como calcular as métricas relacionadas a tempos de atendimento, lembrando que para conseguir calcular corretamente os dados precisam estar nos formatos indicados no conteúdo acima. Tempo máximo de espera na fila Esta métrica serve para encontrar o ticket onde o cliente ficou mais tempo esperando na fila para ser atribuído a um atendente no período selecionado. Esta métrica considera as seguintes condições: Tickets fechados no período que já foram removidos da tela do atendente. Para encontrar esse valor é necessário: Filtrar o período desejado na tabela na coluna CloseDate; Filtrar para mostrar apenas tickets com status “Verdadeiro” na coluna Closed; Então basta pegar o maior valor de tempo apresentado na coluna QueueTime. Tempo máximo até 1ª resposta Esta métrica serve para encontrar o ticket onde o cliente demorou mais tempo para receber a primeira resposta do atendente após ser atribuído a ele no período selecionado. Esta métrica considera as seguintes condições: Tickets fechados no período que já foram removidos da tela do atendente. Para encontrar esse valor é necessário: Filtrar o período desejado na tabela na coluna CloseDate; Filtrar para mostrar apenas tickets com status “Verdadeiro” na coluna Closed; Então basta pegar o maior valor de tempo apresentado na coluna FirstResponseTime. Tempo médio de espera na fila Esta métrica serve para encontrar o tempo médio que os clientes estão esperando na fila até serem atribuídos a um atendente no período selecionado. Esta métrica considera as seguintes condições: Tickets fechados no período que já foram removidos da tela do atendente. Para encontrar esse valor é necessário: Filtrar o período desejado na tabela na coluna CloseDate; Filtrar para mostrar apenas tickets com status “Verdadeiro” na coluna Closed; Filtrar a coluna QueueTime para não mostrar resultados em branco; Observação: Quando um ticket está aguardando na fila para ser atendido, e é transferido para outra fila através da tela de monitoramento, esse ticket não terá tempo de espera na fila, pois não chegou a ser atribuído a um atendente. Então basta calcular a média dos tempos apresentados na coluna QueueTime. Tempo médio até 1ª resposta Esta métrica serve para encontrar o tempo médio que os atendentes estão demorando para enviar a primeira resposta para os clientes após terem o ticket atribuído. Esta métrica considera as seguintes condições: Tickets fechados no período, que receberam a primeira resposta e que já foram removidos da tela do atendente. Para encontrar esse valor é necessário: Filtrar o período desejado na tabela na coluna CloseDate; Filtrar para mostrar apenas tickets com status “Verdadeiro” na coluna Closed; Filtrar a coluna FirstResponseTime para não mostrar resultados em branco; Observação: Se um ticket foi atribuído a um atendente e foi fechado sem receber nenhuma mensagem do atendente, ele não irá possuir tempo de primeira resposta, por isso esses tickets não são considerados no cálculo. Então basta calcular a média dos tempos apresentados na coluna FirstResponseTime. Tempo médio de espera total Esta métrica serve para encontrar o tempo médio que os clientes estão aguardando até serem atendidos por um atendente após o transbordo do bot. Esta métrica considera as seguintes condições: Tickets fechados no período, que receberam ou não a primeira resposta e que já foram removidos da tela do atendente. Para calcular esta métrica iremos olhar para três colunas: StorageDate, FirstResponseDate e CloseDate. Para encontrar esse valor é necessário: Insira uma nova coluna na tabela; Na primeira linha coloque a identificação dela, para fins de exemplo vamos chamá-la de averagewaitingtime; O próximo passo irá fazer a seguinte conta: Para tickets que já foram fechados e tiveram a primeira resposta vamos fazer a diferença entre a coluna FirstResponseDate e a coluna StorageDate; Para tickets que foram fechados, mas não receberam a primeira resposta vamos fazer a diferença entre as colunas CloseDate e StorageDate; Para fazer isso de forma prática usaremos a seguinte fórmula: =SE(E(I2=""; J2=""); ""; SE(I2<>""; I2-G2; J2-G2)), onde: G2 representa a coluna StorageDate; I2 representa a coluna FirstResponseDate; J2 representa a coluna CloseDate. Caso as suas colunas estejam em outra ordem, altere as células na fórmula para que correspondam às colunas desejadas. Aplique a fórmula na célula 2 da coluna; Depois arraste para baixo para aplicar no restante da coluna; Então selecione a coluna averagewaitingtime; Vá até o menu mais formatos, representado pelo ícone com os números 123; Então selecione a opção “Formato de número personalizado”; E inclua o seguinte formato [HH]:mm:ss e clique em aplicar; O próximo passo é copiar a coluna averagewaitingtime; Depois colar os dados sem formatação na própria coluna averagewaitingtime com o comando ctrl+shift+V, ou pelo menu Editar>Colar especial>Só os valores; Então filtre o período desejado na tabela na coluna CloseDate; Filtrar para mostrar apenas tickets com status “Verdadeiro” na coluna Closed; Então basta calcular a média dos tempos apresentados na coluna averagewaitingtime. Tempo médio de resposta Esta métrica serve para encontrar o tempo médio que os atendentes estão demorando para responder as mensagens dos clientes. Esta métrica considera as seguintes condições: Tickets fechados no período, que tiveram pelo menos uma interação completa (mensagem do cliente + mensagem do atendente, nesta ordem) e que já foram removidos da tela do atendente. Para encontrar esse valor é necessário: Filtrar o período desejado na tabela na coluna CloseDate; Filtrar para mostrar apenas tickets com status “Verdadeiro” na coluna Closed; Filtrar a coluna AverageAgentResponseTime para não mostrar resultados em branco; Observação: Se um ticket foi fechado sem ter uma interação completa (mensagem do cliente + mensagem do atendente, nesta ordem), ele não terá tempo de resposta e por isso não é considerado no cálculo. Então basta calcular a média dos tempos apresentados na coluna AverageAgentResponseTime. Tempo médio de atendimento Esta métrica serve para encontrar o tempo médio dos atendimentos, considerando do momento que o atendente manda a primeira mensagem até o fechamento do ticket. Esta métrica considera as seguintes condições: Tickets fechados no período, que tiveram pelo menos uma interação completa (mensagem do cliente + mensagem do atendente, nesta ordem) e que já foram removidos da tela do atendente. Para encontrar esse valor é necessário: Filtrar o período desejado na tabela na coluna CloseDate; Filtrar para mostrar apenas tickets com status “Verdadeiro” na coluna Closed; Filtrar a coluna OperationalTime para não mostrar resultados em branco; Observação: Se um ticket foi fechado sem ter recebido pelo menos uma mensagem do atendente, ele não terá tempo de atendimento, já que o atendente não dedicou tempo atendendo aquele ticket e por isso não é considerado no cálculo. Então basta calcular a média dos tempos apresentados na coluna OperationalTime. Métricas de volumetria Esta seção está focada em mostrar a quantidade de tickets em cada status, onde: Atendimentos abertos Essa métrica serve para mostrar o total de tickets que foram abertos no período selecionado. Esta métrica considera as seguintes condições: Tickets abertos no período. Para encontrar esse valor é necessário: Filtrar o período desejado na tabela na coluna StorageDate; Então basta contar os tickets apresentados. Atendimentos perdidos Essa métrica mostra os atendimentos que foram encerrados pelo cliente enquanto ele ainda estava na fila de atendimento e ainda não havia sido atribuído a um atendente. Observação: Para que os clientes consigam sair do atendimento antes de serem atribuídos a um atendente é necessário configurar essa condição no fluxo do seu contato inteligente. Saiba mais neste link. Esta métrica considera as seguintes condições: Tickets fechados no período selecionado com, status ClosedClient ou ClosedClientInactivity e que não tenham sido atribuídos a um atendente. Para encontrar esse valor é necessário: Filtrar o período desejado na tabela na coluna StorageDate; Filtrar a coluna Status, para trazer apenas os tickets com status ClosedClient ou ClosedClientInactivity; Filtrar a coluna AgentIdentity, para trazer apenas os tickets em que o AgentIdentity seja igual a nulo; Então basta contar os tickets apresentados. Atendimentos abandonados Essa métrica mostra os atendimentos que foram encerrados pelo cliente depois que ele foi atribuído a um atendente. Observação: Para que os clientes consigam sair do atendimento depois de serem atribuídos a um atendente é necessário configurar essa condição no fluxo do seu contato inteligente. Saiba mais neste link. Outra forma considerada como um ticket abandonado, é quando o ticket é encerrado por inatividade do cliente, e para que isso aconteça é necessário habilitar a configuração no portal e no builder. Saiba mais neste link. Esta métrica considera as seguintes condições: Tickets fechados no período selecionado, status ClosedClientt ou ClosedClientInactivity e que tenham sido atribuídos a um atendente. Para encontrar esse valor é necessário: Filtrar o período desejado na tabela na coluna StorageDate; Filtrar a coluna Status, para trazer apenas os tickets com status ClosedClient ou ClosedClientInactivity; Filtrar a coluna AgentIdentity, para trazer apenas os tickets em que o AgentIdentity não seja igual a nulo; Então basta contar os tickets apresentados. Atendimentos finalizados Essa métrica mostra os atendimentos que foram atendidos e depois finalizados ou transferidos para outra fila ou atendente. Esta métrica considera as seguintes condições: Tickets fechados no período selecionado, status ClosedAttendant ou ClosedAttendantInactivity. Para encontrar esse valor é necessário: Filtrar o período desejado na tabela na coluna CloseDate; Filtrar a coluna Status, para trazer apenas os tickets com status ClosedAttendant e Transferred; Então basta contar os tickets apresentados. Atendimentos fechados Essa métrica mostra os atendimentos que foram fechados no período selecionado.. Esta métrica considera as seguintes condições: Tickets fechados no período selecionado, com qualquer status e que tenha sido removido da tela do atendente. Para encontrar esse valor é necessário: Filtrar o período desejado na tabela na coluna CloseDate; Filtrar para mostrar apenas tickets com status “Verdadeiro” na coluna Closed; Então basta contar os tickets apresentados. Fórmulas alternativas Conversão de tempos Google Sheets (Inglês): =TEXT(LEFT(A2, SEARCH("d", A2) - 1) * 24 + HOUR(MID(A2, SEARCH(" ", A2) + 1, LEN(A2))), "00") & MID(A2, SEARCH(":", A2), LEN(A2)) Excel (Português): =TEXTO(ESQUERDA(A2; PROCURAR("d"; A2) - 1) * 24 + HORA(EXT.TEXTO(A2; PROCURAR(" "; A2) + 1; NÚM.CARACT(A2))); "00") & EXT.TEXTO(A2; PROCURAR(":"; A2); NÚM.CARACT(A2)) Excel (Inglês): =TEXT(LEFT(A2, FIND("d", A2) - 1) * 24 + HOUR(MID(A2, FIND(" ", A2) + 1, LEN(A2))), "00") & MID(A2, FIND(":", A2), LEN(A2)) Cálculo de tempo médio de espera: Google Sheets (Inglês): =IF(AND(I1="", J1=""), "", IF(I1<>"", I1-G1, J1-G1)) Excel (Português): =SE(E(I1=""; J1=""); ""; SE(I1<>""; I1-G1; J1-G1)) Excel (Inglês): =IF(AND(I1="", J1=""), "", IF(I1<>"", I1-G1, J1-G1)) Artigos complementares Monitoramento Relatórios de atendimento Data extractor Para mais informações, acesse a discussão sobre o assunto em nossa comunidade ou os vídeos no nosso canal. 😃 Artigos relacionados Relatório de atendimento Monitoramento de atendimento Visão geral do Blip Desk Data Tables Como enviar notificações WhatsApp via API do Blip