Dashboard Prospecção Comercial

Documentação para orientação de como os dados do dashboard Prospecção Comercial são apresnetados.

Leads em Prospecção

Explicação dos Componentes da Consulta

  1. Contagem de Leads em Prospecção:
    • A consulta conta o número total de leads que estão no status "Em prospecção".
  2. Junções:
    • entity_team: Junta a tabela de leads com a tabela de equipes, associando cada lead à sua respectiva equipe.
  3. Condições (Where Clause):
    • l.status = 'Em prospecção': Filtra os leads que estão no status "Em prospecção".
    • et.deleted = 0 e u.deleted = 0: Garante que apenas registros não deletados sejam considerados.
    • et.entity_type = 'Lead': Filtra para incluir apenas registros do tipo "Lead".

Leads Novos

Explicação dos Componentes da Consulta

  1. Contagem de Leads em Prospecção:
    • A consulta conta o número total de leads que estão no status "New".
  2. Junções:
    • __: Não há.
  3. Condições (Where Clause):
    • l.status = 'New': Filtra os leads que estão no status NEW = Novo.
    • l.deleted = 0 Garante que apenas registros não deletados sejam considerados.

Lista de Alvos

Estrutura Geral da Consulta

A consulta SQL apresentada tem como objetivo calcular o total de leads e o percentual correspondente de cada target list (target_list). A consulta usa junções (joins) para associar várias tabelas relacionadas e utiliza uma subconsulta para calcular o total geral de leads dentro do intervalo de tempo especificado. A seguir, detalhamos os principais componentes da consulta:

Componentes da Consulta

  1. Seleção de Colunas:
    • t.name: Seleciona o nome da target list.
    • COUNT(*) AS total: Conta o número total de leads associados a cada target list.
    • CONCAT(ROUND((COUNT(*) * 100.0 / total_geral), 2), '%') AS percentual: Calcula o percentual de leads para cada target list em relação ao total geral, arredonda para duas casas decimais e formata como uma string percentual.
  2. Junções (Joins):
    • JOIN entity_team et ON et.entity_id = l.id: Junta a tabela de leads (lead) com a tabela de equipes (entity_team), associando cada lead à sua equipe.
    • JOIN user u ON l.assigned_user_id = u.id: Junta a tabela de leads com a tabela de usuários (user), associando cada lead ao usuário responsável.
    • JOIN lead_target_list tl ON l.id = tl.lead_id: Junta a tabela de leads com a tabela de associações entre leads e listas alvo (lead_target_list).
    • JOIN target_list t ON tl.target_list_id = t.id: Junta a tabela de associações entre leads e listas alvo com a tabela de listas alvo (target_list), associando cada lead à sua lista alvo.
  3. Subconsulta:
    • (SELECT COUNT(*) AS total_geral ... ) AS subquery: Calcula o total geral de leads dentro do intervalo de tempo especificado, aplicando as mesmas condições de filtragem da consulta principal. A subconsulta é usada para calcular o percentual de cada target list.
  4. Filtragem (WHERE Clause):
    • DATE_FORMAT(DATE_ADD(l.datadeprospeccao, INTERVAL -3 HOUR), '%Y-%m-%d %H:%i:%s') BETWEEN $__timeFrom() AND $__timeTo(): Filtra os leads pelo intervalo de tempo especificado.
    • l.status IN ($Status): Filtra os leads pelo status especificado.
    • et.team_id = '62877de62fd6ac566': Filtra os leads pela equipe específica.
    • et.entity_type = 'Lead': Filtra os registros do tipo "Lead".
    • u.first_name IN ($usuario): Filtra os leads pelos usuários especificados.
  5. Agrupamento (GROUP BY):
    • GROUP BY t.name, total_geral: Agrupa os resultados pelo nome da target list e pelo total geral de leads, permitindo o cálculo correto dos totais e percentuais.
  6. Ordenação (ORDER BY):
    • ORDER BY 2 DESC: Ordena os resultados pelo total de leads em ordem decrescente, destacando as target lists com maior número de leads.

Resultado da Consulta

A consulta retorna uma lista de target lists com o nome, o total de leads associados e o percentual que cada target list representa em relação ao total geral de leads. Essa informação é valiosa para analisar a distribuição e a eficiência das diferentes listas alvo na prospecção de leads.

Usuários

Explicação dos Componentes da Consulta

Objetivo Geral

A consulta SQL apresentada tem como objetivo contar o número de leads atribuídos a cada usuário (representante de vendas) e exibir esses dados de forma organizada e filtrada por diversas condições.

Componentes da Consulta

  1. Seleção de Colunas:
    • u.first_name: Seleciona o primeiro nome dos usuários (representantes de vendas) responsáveis pelos leads.
    • count(*) as total: Conta o número total de leads atribuídos a cada usuário.
  2. Junções (Joins):
    • JOIN entity_team et ON et.entity_id = l.id: Junta a tabela de leads (lead) com a tabela de equipes (entity_team), associando cada lead à sua respectiva equipe.
    • JOIN user u ON l.assigned_user_id = u.id: Junta a tabela de leads com a tabela de usuários (user), associando cada lead ao usuário (representante de vendas) responsável.
    • JOIN lead_target_list tl ON l.id = tl.lead_id: Junta a tabela de leads com a tabela de associações entre leads e listas alvo (lead_target_list).
    • JOIN target_list t ON tl.target_list_id = t.id: Junta a tabela de associações entre leads e listas alvo com a tabela de listas alvo (target_list), associando cada lead à sua lista alvo.
  3. Filtragem (WHERE Clause):
    • DATE_FORMAT(DATE_ADD(l.datadeprospeccao, INTERVAL -3 HOUR), '%Y-%m-%d %H:%i:%s') BETWEEN $__timeFrom() AND $__timeTo(): Filtra os leads pelo intervalo de tempo especificado, ajustando a data de prospecção em três horas para trás.
    • l.status in ($Status): Filtra os leads pelo status especificado.
    • et.team_id = '62877de62fd6ac566': Filtra os leads para incluir apenas aqueles associados à equipe específica.
    • et.entity_type = 'Lead': Filtra os registros para incluir apenas aqueles do tipo "Lead".
    • u.first_name in ($usuario): Filtra os leads para incluir apenas aqueles atribuídos aos usuários (representantes de vendas) especificados.
  4. Agrupamento (GROUP BY):
    • GROUP BY u.first_name: Agrupa os resultados pelo primeiro nome dos usuários (representantes de vendas), permitindo calcular o total de leads atribuídos a cada um.
  5. Ordenação (ORDER BY):
    • ORDER BY t.name: Ordena os resultados pelo nome da lista alvo (target_list), permitindo visualizar os leads de acordo com a organização das listas.

Resultado da Consulta

A consulta retorna uma lista de representantes de vendas com o número total de leads atribuídos a cada um, dentro do intervalo de tempo e condições especificadas. Isso ajuda a analisar o desempenho de cada representante em termos de quantidade de leads que eles estão gerenciando.

Tipo do Repasse

Objetivo Geral

A consulta SQL tem como objetivo calcular o percentual e o total de leads para cada tipo de repasse dentro de um intervalo de tempo específico.

Componentes da Consulta

  1. Seleção de Colunas:
    • jt.tipo_de_repasse: Seleciona o tipo de repasse.
    • (COUNT(*) / total_leads.total * 100) AS percentual: Calcula o percentual de leads para cada tipo de repasse.
    • count(*) as total: Conta o número total de leads para cada tipo de repasse.
  2. Junções (Joins):
    • JOIN entity_team et ON et.entity_id = l.id: Associa cada lead à sua respectiva equipe.
    • JOIN user u ON l.assigned_user_id = u.id: Associa cada lead ao usuário responsável.
    • JOIN lead_target_list tl ON l.id = tl.lead_id: Associa cada lead à sua lista alvo.
    • JOIN target_list t ON tl.target_list_id = t.id: Associa cada lead à lista alvo.
    • JSON_TABLE: Expande os valores de tipo_de_repasse em linhas separadas.
  3. Subconsulta:
    • JOIN (SELECT COUNT(*) AS total FROM ... ) AS total_leads: Calcula o total geral de leads dentro do intervalo de tempo especificado, utilizado para calcular o percentual.
  4. Filtragem (WHERE Clause):
    • DATE_FORMAT(DATE_ADD(l.datadeprospeccao, INTERVAL -3 HOUR), '%Y-%m-%d %H:%i:%s') BETWEEN '2024-06-01' AND '2024-06-30': Filtra os leads pelo intervalo de tempo especificado.
    • et.team_id = '62877de62fd6ac566': Filtra os leads para incluir apenas aqueles associados à equipe específica.
    • et.entity_type = 'Lead': Filtra os registros para incluir apenas aqueles do tipo "Lead".
  5. Agrupamento (GROUP BY):
    • GROUP BY jt.tipo_de_repasse: Agrupa os resultados pelo tipo de repasse, permitindo calcular o total e o percentual de leads para cada tipo de repasse.

Resultado da Consulta

A consulta retorna uma lista com o tipo de repasse, o total de leads e o percentual de cada tipo de repasse em relação ao total geral de leads dentro do intervalo de tempo especificado. Isso ajuda a entender a distribuição dos leads por tipo de repasse.