Enciclopédia de KPIs: fórmulas e exemplos para analistas
KPIs são os indicadores que mostram se o negócio está indo bem, como ticket médio, churn, CAC, margem e NPS. Aqui estão 54 KPIs organizados por área, cada um com a fórmula, um exemplo com números e uma medida DAX ou consulta SQL para calcular no Power BI ou no banco de dados.
Publicado em · Atualizado em
O que é um KPI
KPI (Key Performance Indicator) é o indicador escolhido para medir se um objetivo importante do negócio está sendo alcançado. Toda métrica mede alguma coisa; ela vira KPI quando está ligada a uma meta, tem um dono e ajuda a tomar uma decisão. Um bom painel tem poucos KPIs, cada um com fórmula clara, período definido e comparação com meta ou com o período anterior.
Esta enciclopédia traz 54 KPIs em 10 áreas. Para cada um: o que mede, a fórmula, um exemplo com números, se é melhor maior ou menor e uma medida DAX ou consulta SQL curta para calcular. É a mesma base usada na Enciclopédia de KPIs do jogo O Analista, na área do aluno da Educadados.
Como ler as fórmulas e os códigos
- Período: todo KPI precisa de um período (dia, mês, trimestre). Nos códigos, o período vem do filtro do relatório (DAX) ou de um
WHEREna data (SQL). - Divisão segura: no DAX,
DIVIDEevita erro quando o denominador é zero. No SQL, multiplicar por1.0evita a divisão inteira, que arredondaria o resultado para zero. - Nomes de tabelas: são ilustrativos. Troque pelos do seu modelo; o SQL segue o dialeto do SQL Server.
- Porcentagem: as fórmulas devolvem frações (0,15); formate como porcentagem no visual.
Vendas
Receita (faturamento)
Receita (faturamento) mede quanto a empresa vendeu no período.
- Fórmula
- Soma do valor das vendas realizadas
- Exemplo
- 1.000 pedidos de R$ 50 = R$ 50.000
- Leitura
- Quanto maior, melhor
Receita = SUM ( Vendas[Valor] )
Ticket médio
Ticket médio mede quanto cada pedido vale em média.
- Fórmula
- Receita ÷ número de pedidos
- Exemplo
- R$ 120.000 ÷ 3.000 pedidos = R$ 40
- Leitura
- Quanto maior, melhor
Ticket Médio =
DIVIDE ( SUM ( Vendas[Valor] ), DISTINCTCOUNT ( Vendas[PedidoID] ) )
Taxa de conversão de vendas
Taxa de conversão de vendas mede quantas oportunidades viram venda.
- Fórmula
- Vendas fechadas ÷ oportunidades
- Exemplo
- 30 vendas de 200 propostas = 15%
- Leitura
- Quanto maior, melhor
Conversão de Vendas =
DIVIDE (
CALCULATE ( COUNTROWS ( Oportunidades ), Oportunidades[Status] = "Ganha" ),
COUNTROWS ( Oportunidades )
)
% da meta atingida
% da meta atingida mede quanto do objetivo de vendas foi alcançado.
- Fórmula
- Realizado ÷ meta × 100
- Exemplo
- R$ 90 mil de uma meta de R$ 100 mil = 90%
- Leitura
- Quanto maior, melhor
% da Meta = DIVIDE ( SUM ( Vendas[Valor] ), SUM ( Metas[Valor] ) )
Ciclo de vendas
Ciclo de vendas mede quanto tempo leva para fechar uma venda.
- Fórmula
- Média de dias entre o primeiro contato e o fechamento
- Exemplo
- Vendas B2B fechando em 45 dias, em média
- Leitura
- Quanto menor, melhor
SELECT AVG(DATEDIFF(day, data_primeiro_contato, data_fechamento)) AS ciclo_dias
FROM oportunidades
WHERE status = 'ganha';
Taxa de recompra
Taxa de recompra mede quantos clientes voltam a comprar.
- Fórmula
- Clientes que compraram de novo ÷ clientes do período
- Exemplo
- 350 de 1.000 clientes voltaram em 90 dias = 35%
- Leitura
- Quanto maior, melhor
SELECT 1.0 * SUM(CASE WHEN pedidos > 1 THEN 1 ELSE 0 END) / COUNT(*) AS taxa_recompra
FROM (
SELECT cliente_id, COUNT(*) AS pedidos
FROM pedidos
WHERE data_pedido >= '2026-07-01' AND data_pedido < '2026-10-01'
GROUP BY cliente_id
) c;
Marketing
CAC (custo de aquisição de cliente)
CAC (custo de aquisição de cliente) mede quanto custa conquistar um cliente novo.
- Fórmula
- Investimento em marketing e vendas ÷ clientes novos
- Exemplo
- R$ 15.000 ÷ 300 clientes = R$ 50
- Leitura
- Quanto menor, melhor
CAC =
DIVIDE ( SUM ( Investimento[Valor] ), DISTINCTCOUNT ( ClientesNovos[ClienteID] ) )
CPL (custo por lead)
CPL (custo por lead) mede quanto custa cada contato interessado.
- Fórmula
- Investimento ÷ leads gerados
- Exemplo
- R$ 2.000 ÷ 400 leads = R$ 5
- Leitura
- Quanto menor, melhor
CPL = DIVIDE ( SUM ( Campanhas[Investimento] ), SUM ( Campanhas[Leads] ) )
ROI (retorno sobre o investimento)
ROI (retorno sobre o investimento) mede quanto o investimento devolveu além do que custou.
- Fórmula
- (Retorno − investimento) ÷ investimento
- Exemplo
- Investiu R$ 10 mil e voltou R$ 30 mil: ROI de 200%
- Leitura
- Quanto maior, melhor
ROI =
VAR investimento = SUM ( Campanhas[Investimento] )
RETURN DIVIDE ( SUM ( Campanhas[Retorno] ) - investimento, investimento )
ROAS (retorno sobre gasto com anúncios)
ROAS (retorno sobre gasto com anúncios) mede quanto de receita cada real de anúncio trouxe.
- Fórmula
- Receita gerada pelos anúncios ÷ gasto com anúncios
- Exemplo
- R$ 40 mil de receita com R$ 10 mil de anúncio = ROAS 4
- Leitura
- Quanto maior, melhor
ROAS = DIVIDE ( SUM ( Anuncios[Receita] ), SUM ( Anuncios[Gasto] ) )
CTR (taxa de cliques)
CTR (taxa de cliques) mede quantas pessoas clicam depois de ver o anúncio.
- Fórmula
- Cliques ÷ impressões
- Exemplo
- 500 cliques em 25.000 impressões = 2%
- Leitura
- Quanto maior, melhor
CTR = DIVIDE ( SUM ( Anuncios[Cliques] ), SUM ( Anuncios[Impressoes] ) )
Taxa de abertura de e-mail
Taxa de abertura de e-mail mede quantos e-mails entregues foram abertos.
- Fórmula
- E-mails abertos ÷ e-mails entregues
- Exemplo
- 2.400 aberturas de 8.000 entregues = 30%
- Leitura
- Quanto maior, melhor
SELECT 1.0 * SUM(CASE WHEN aberto = 1 THEN 1 ELSE 0 END) / COUNT(*) AS taxa_abertura
FROM envios_email
WHERE entregue = 1;
Financeiro
Margem líquida
Margem líquida mede quanto sobra de lucro de cada real vendido.
- Fórmula
- Lucro líquido ÷ receita
- Exemplo
- R$ 30 mil de lucro em R$ 200 mil de receita = 15%
- Leitura
- Quanto maior, melhor
Margem Líquida = DIVIDE ( SUM ( DRE[LucroLiquido] ), SUM ( DRE[Receita] ) )
Margem bruta
Margem bruta mede quanto sobra da venda depois do custo do produto.
- Fórmula
- (Receita − custo dos produtos vendidos) ÷ receita
- Exemplo
- Vende a R$ 100 o que custa R$ 60 = 40%
- Leitura
- Quanto maior, melhor
Margem Bruta =
VAR receita = SUM ( Vendas[Valor] )
RETURN DIVIDE ( receita - SUM ( Vendas[Custo] ), receita )
Inadimplência
Inadimplência mede quanto do que a empresa tem a receber está atrasado.
- Fórmula
- Valor em atraso ÷ total a receber
- Exemplo
- R$ 70 mil atrasados de R$ 1 milhão = 7%
- Leitura
- Quanto menor, melhor
SELECT SUM(CASE WHEN data_pagamento IS NULL AND vencimento < CAST(GETDATE() AS date)
THEN valor ELSE 0 END) * 1.0 / SUM(valor) AS inadimplencia
FROM contas_receber;
EBITDA
EBITDA mede o resultado da operação, sem juros, impostos, depreciação e amortização.
- Fórmula
- Lucro antes de juros, impostos, depreciação e amortização
- Exemplo
- Usado para comparar a operação de empresas diferentes
- Leitura
- Quanto maior, melhor
EBITDA =
SUM ( DRE[LucroLiquido] ) + SUM ( DRE[ResultadoFinanceiro] ) + SUM ( DRE[Impostos] )
+ SUM ( DRE[Depreciacao] ) + SUM ( DRE[Amortizacao] )
Prazo médio de recebimento
Prazo médio de recebimento mede quantos dias a empresa espera para receber das vendas a prazo.
- Fórmula
- Média de dias entre a venda e o recebimento
- Exemplo
- Clientes pagando em 42 dias, em média
- Leitura
- Quanto menor, melhor
SELECT AVG(DATEDIFF(day, data_venda, data_recebimento)) AS pmr_dias
FROM recebimentos;
Ponto de equilíbrio
Ponto de equilíbrio mede a receita mínima para não ter prejuízo.
- Fórmula
- Custos fixos ÷ margem de contribuição (%)
- Exemplo
- R$ 50 mil de custo fixo com 25% de margem = R$ 200 mil
- Leitura
- Quanto menor, melhor
Ponto de Equilíbrio =
VAR receita = SUM ( Vendas[Valor] )
VAR margemContribuicao = DIVIDE ( receita - SUM ( Vendas[CustoVariavel] ), receita )
RETURN DIVIDE ( SUM ( Custos[Fixo] ), margemContribuicao )
RH
Turnover (rotatividade)
Turnover (rotatividade) mede quantas pessoas saem da empresa.
- Fórmula
- Desligamentos ÷ média de funcionários
- Exemplo
- 10 saídas numa média de 200 pessoas = 5% no mês
- Leitura
- Quanto menor, melhor
Turnover =
DIVIDE ( COUNTROWS ( Desligamentos ), AVERAGE ( Headcount[Funcionarios] ) )
Absenteísmo
Absenteísmo mede quanto tempo de trabalho é perdido com faltas e atrasos.
- Fórmula
- Horas de ausência ÷ horas previstas
- Exemplo
- 800 horas de 20.000 previstas = 4%
- Leitura
- Quanto menor, melhor
Absenteísmo = DIVIDE ( SUM ( Ponto[HorasAusencia] ), SUM ( Ponto[HorasPrevistas] ) )
Tempo de contratação
Tempo de contratação mede quanto tempo uma vaga fica aberta.
- Fórmula
- Média de dias entre abrir a vaga e a pessoa aceitar
- Exemplo
- Vagas de analista fechando em 28 dias
- Leitura
- Quanto menor, melhor
SELECT AVG(DATEDIFF(day, data_abertura, data_aceite)) AS dias_para_contratar
FROM vagas
WHERE data_aceite IS NOT NULL;
eNPS
eNPS mede quanto os funcionários recomendariam a empresa para trabalhar.
- Fórmula
- % de promotores − % de detratores (entre funcionários)
- Exemplo
- 50% promotores e 20% detratores = eNPS 30
- Leitura
- Quanto maior, melhor
SELECT 100.0 * (SUM(CASE WHEN nota >= 9 THEN 1 ELSE 0 END)
- SUM(CASE WHEN nota <= 6 THEN 1 ELSE 0 END)) / COUNT(*) AS enps
FROM pesquisa_clima;
Horas de treinamento por pessoa
Horas de treinamento por pessoa mede quanto a empresa investe em capacitação.
- Fórmula
- Total de horas de treinamento ÷ número de funcionários
- Exemplo
- 4.000 horas ÷ 200 pessoas = 20 horas
- Leitura
- Quanto maior, melhor
Horas de Treinamento por Pessoa =
DIVIDE ( SUM ( Treinamentos[Horas] ), DISTINCTCOUNT ( Funcionarios[FuncionarioID] ) )
Operações e logística
OTIF (no prazo e completo)
OTIF (no prazo e completo) mede quantos pedidos chegam no prazo e sem faltar nada.
- Fórmula
- Pedidos entregues no prazo e completos ÷ total de pedidos
- Exemplo
- 920 de 1.000 pedidos = 92%
- Leitura
- Quanto maior, melhor
SELECT 1.0 * SUM(CASE WHEN data_entrega <= data_prometida AND qtd_entregue = qtd_pedida
THEN 1 ELSE 0 END) / COUNT(*) AS otif
FROM pedidos;
Lead time de entrega
Lead time de entrega mede quanto tempo o cliente espera pelo pedido.
- Fórmula
- Média de tempo entre o pedido e a entrega
- Exemplo
- Pedidos entregues em 3,2 dias, em média
- Leitura
- Quanto menor, melhor
Lead Time (dias) =
AVERAGEX ( Pedidos, DATEDIFF ( Pedidos[DataPedido], Pedidos[DataEntrega], DAY ) )
Giro de estoque
Giro de estoque mede quantas vezes o estoque é vendido e reposto.
- Fórmula
- Custo das vendas ÷ estoque médio
- Exemplo
- R$ 1,2 milhão ÷ R$ 200 mil = giro 6 no ano
- Leitura
- Quanto maior, melhor
Giro de Estoque =
DIVIDE (
SUM ( Vendas[Custo] ),
AVERAGEX ( VALUES ( Calendario[Mes] ), CALCULATE ( SUM ( Estoque[ValorFinal] ) ) )
)
Ruptura de estoque
Ruptura de estoque mede quanto falta produto para vender.
- Fórmula
- Itens sem estoque ÷ itens ativos
- Exemplo
- 45 de 900 produtos zerados = 5%
- Leitura
- Quanto menor, melhor
SELECT 1.0 * SUM(CASE WHEN saldo <= 0 THEN 1 ELSE 0 END) / COUNT(*) AS ruptura
FROM estoque
WHERE ativo = 1;
Taxa de devolução
Taxa de devolução mede quantos pedidos voltam.
- Fórmula
- Pedidos devolvidos ÷ pedidos entregues
- Exemplo
- 60 de 2.000 pedidos = 3%
- Leitura
- Quanto menor, melhor
Taxa de Devolução =
DIVIDE (
CALCULATE ( COUNTROWS ( Pedidos ), Pedidos[Devolvido] = TRUE () ),
CALCULATE ( COUNTROWS ( Pedidos ), Pedidos[Entregue] = TRUE () )
)
OEE (eficiência dos equipamentos)
OEE (eficiência dos equipamentos) mede o quanto a máquina produz perto do ideal.
- Fórmula
- Disponibilidade × desempenho × qualidade
- Exemplo
- 90% × 95% × 98% ≈ 84%
- Leitura
- Quanto maior, melhor
SELECT 1.0 * tempo_operando / tempo_planejado -- disponibilidade
* producao_real / producao_teorica -- desempenho
* pecas_boas / producao_real AS oee -- qualidade
FROM producao_turno;
Atendimento e clientes
NPS
NPS mede quanto os clientes recomendariam a empresa.
- Fórmula
- % de promotores (9 e 10) − % de detratores (0 a 6)
- Exemplo
- 60% promotores e 15% detratores = NPS 45
- Leitura
- Quanto maior, melhor
SELECT 100.0 * (SUM(CASE WHEN nota >= 9 THEN 1 ELSE 0 END)
- SUM(CASE WHEN nota <= 6 THEN 1 ELSE 0 END)) / COUNT(*) AS nps
FROM respostas_nps;
CSAT (satisfação do cliente)
CSAT (satisfação do cliente) mede quantos clientes saíram satisfeitos de um atendimento.
- Fórmula
- Avaliações satisfeitas ÷ total de avaliações
- Exemplo
- 850 de 1.000 avaliações com nota 4 ou 5 = 85%
- Leitura
- Quanto maior, melhor
CSAT =
DIVIDE (
CALCULATE ( COUNTROWS ( Avaliacoes ), Avaliacoes[Nota] >= 4 ),
COUNTROWS ( Avaliacoes )
)
Churn (cancelamento)
Churn (cancelamento) mede quantos clientes a empresa perdeu.
- Fórmula
- Clientes que cancelaram ÷ clientes no início do período
- Exemplo
- 50 de 1.000 clientes = 5% no mês
- Leitura
- Quanto menor, melhor
-- clientes ativos em 1º/10 que cancelaram em outubro
SELECT 1.0 * COUNT(CASE WHEN data_cancelamento < '2026-11-01' THEN 1 END)
/ COUNT(*) AS churn
FROM assinaturas
WHERE data_inicio < '2026-10-01'
AND (data_cancelamento IS NULL OR data_cancelamento >= '2026-10-01');
LTV (valor do cliente no tempo)
LTV (valor do cliente no tempo) mede quanto um cliente deixa durante todo o relacionamento.
- Fórmula
- Receita média por mês × meses que o cliente fica
- Exemplo
- R$ 80 por mês × 20 meses = R$ 1.600
- Leitura
- Quanto maior, melhor
LTV =
VAR receitaMensal = AVERAGE ( Assinaturas[ValorMensal] )
VAR mesesMedios = AVERAGE ( Clientes[MesesAtivo] )
RETURN receitaMensal * mesesMedios
Tempo da primeira resposta
Tempo da primeira resposta mede quanto o cliente espera até alguém responder.
- Fórmula
- Média do tempo entre o contato e a primeira resposta
- Exemplo
- Primeira resposta em 1h40, em média
- Leitura
- Quanto menor, melhor
SELECT AVG(DATEDIFF(minute, aberto_em, primeira_resposta_em)) AS minutos_ate_responder
FROM chamados
WHERE primeira_resposta_em IS NOT NULL;
FCR (resolução no primeiro contato)
FCR (resolução no primeiro contato) mede quantos problemas são resolvidos sem o cliente voltar.
- Fórmula
- Casos resolvidos no 1º contato ÷ total de casos
- Exemplo
- 700 de 1.000 chamados = 70%
- Leitura
- Quanto maior, melhor
FCR =
DIVIDE (
CALCULATE ( COUNTROWS ( Chamados ), Chamados[Contatos] = 1, Chamados[Resolvido] = TRUE () ),
COUNTROWS ( Chamados )
)
TMA (tempo médio de atendimento)
TMA (tempo médio de atendimento) mede quanto dura cada atendimento.
- Fórmula
- Tempo total de atendimento ÷ número de atendimentos
- Exemplo
- 300 horas em 2.000 atendimentos = 9 minutos
- Leitura
- Quanto menor, melhor
SELECT SUM(duracao_segundos) / 60.0 / COUNT(*) AS tma_minutos
FROM atendimentos;
Produto digital
MRR (receita recorrente mensal)
MRR (receita recorrente mensal) mede quanto entra todo mês com assinaturas.
- Fórmula
- Soma das mensalidades ativas no mês
- Exemplo
- 2.000 assinantes × R$ 49 = R$ 98 mil
- Leitura
- Quanto maior, melhor
MRR = CALCULATE ( SUM ( Assinaturas[ValorMensal] ), Assinaturas[Status] = "Ativa" )
DAU/MAU (engajamento)
DAU/MAU (engajamento) mede com que frequência os usuários voltam ao app.
- Fórmula
- Usuários ativos no dia ÷ usuários ativos no mês
- Exemplo
- 12 mil diários ÷ 60 mil mensais = 20%
- Leitura
- Quanto maior, melhor
WITH dia AS (
SELECT data, COUNT(DISTINCT usuario_id) AS dau
FROM eventos
WHERE data >= '2026-10-01' AND data < '2026-11-01'
GROUP BY data
)
SELECT AVG(1.0 * dau) / (SELECT COUNT(DISTINCT usuario_id) FROM eventos
WHERE data >= '2026-10-01' AND data < '2026-11-01') AS dau_mau
FROM dia;
Taxa de retenção
Taxa de retenção mede quantos usuários continuam usando depois de um tempo.
- Fórmula
- Usuários ativos no fim ÷ usuários do início (sem contar os novos)
- Exemplo
- De 1.000 que entraram em março, 400 ainda usam = 40%
- Leitura
- Quanto maior, melhor
-- dos que entraram em março, quantos tiveram atividade a partir de junho
SELECT 1.0 * COUNT(DISTINCT CASE WHEN e.data >= '2026-06-01' THEN u.id END)
/ COUNT(DISTINCT u.id) AS retencao
FROM usuarios u
LEFT JOIN eventos e ON e.usuario_id = u.id
WHERE u.criado_em >= '2026-03-01' AND u.criado_em < '2026-04-01';
Abandono de carrinho
Abandono de carrinho mede quantas compras começam e não terminam.
- Fórmula
- Carrinhos abandonados ÷ carrinhos criados
- Exemplo
- 7.000 de 10.000 carrinhos = 70%
- Leitura
- Quanto menor, melhor
Abandono de Carrinho =
DIVIDE (
CALCULATE ( COUNTROWS ( Carrinhos ), Carrinhos[Finalizado] = FALSE () ),
COUNTROWS ( Carrinhos )
)
ARPU (receita por usuário)
ARPU (receita por usuário) mede quanto cada usuário ativo gera de receita.
- Fórmula
- Receita ÷ usuários ativos
- Exemplo
- R$ 300 mil ÷ 10 mil usuários = R$ 30
- Leitura
- Quanto maior, melhor
ARPU = DIVIDE ( SUM ( Vendas[Valor] ), DISTINCTCOUNT ( Atividade[UsuarioID] ) )
Taxa de conversão do site
Taxa de conversão do site mede quantas visitas viram compra.
- Fórmula
- Pedidos ÷ visitas
- Exemplo
- 700 pedidos em 50.000 visitas = 1,4%
- Leitura
- Quanto maior, melhor
Conversão do Site =
DIVIDE ( DISTINCTCOUNT ( Vendas[PedidoID] ), SUM ( Trafego[Visitas] ) )
Varejo
Vendas por metro quadrado
Vendas por metro quadrado mede quanto cada m² da loja vende.
- Fórmula
- Receita ÷ área de vendas (m²)
- Exemplo
- R$ 600 mil ÷ 300 m² = R$ 2.000 por m²
- Leitura
- Quanto maior, melhor
Vendas por m² = DIVIDE ( SUM ( Vendas[Valor] ), SUM ( Lojas[AreaVendaM2] ) )
Conversão de loja
Conversão de loja mede quantos visitantes da loja compram.
- Fórmula
- Número de vendas ÷ número de visitantes
- Exemplo
- 240 vendas para 1.200 visitantes = 20%
- Leitura
- Quanto maior, melhor
Conversão de Loja =
DIVIDE ( DISTINCTCOUNT ( Vendas[CupomID] ), SUM ( Fluxo[Visitantes] ) )
PA (peças por atendimento)
PA (peças por atendimento) mede quantos itens cada cliente leva por compra.
- Fórmula
- Itens vendidos ÷ número de vendas
- Exemplo
- 1.800 peças em 1.000 vendas = PA 1,8
- Leitura
- Quanto maior, melhor
PA = DIVIDE ( SUM ( Vendas[Quantidade] ), DISTINCTCOUNT ( Vendas[CupomID] ) )
Vendas mesmas lojas (SSS)
Vendas mesmas lojas (SSS) mede o crescimento das lojas que já existiam há mais de um ano.
- Fórmula
- Variação da receita só das lojas abertas há mais de 12 meses
- Exemplo
- +6% nas mesmas lojas, sem contar as inaugurações
- Leitura
- Quanto maior, melhor
SSS % =
VAR corte = EDATE ( MAX ( Calendario[Data] ), -12 )
VAR lojasAntigas = CALCULATETABLE ( VALUES ( Lojas[LojaID] ), Lojas[DataAbertura] <= corte )
VAR atual = CALCULATE ( SUM ( Vendas[Valor] ), lojasAntigas )
VAR anterior = CALCULATE ( SUM ( Vendas[Valor] ), lojasAntigas, SAMEPERIODLASTYEAR ( Calendario[Data] ) )
RETURN DIVIDE ( atual - anterior, anterior )
Saúde
Taxa de ocupação de leitos
Taxa de ocupação de leitos mede quanto da capacidade do hospital está em uso.
- Fórmula
- Leitos-dia ocupados ÷ leitos-dia disponíveis
- Exemplo
- 2.550 de 3.000 leitos-dia = 85%
- Leitura
- Depende do contexto
Ocupação de Leitos =
DIVIDE ( SUM ( Leitos[DiasOcupados] ), SUM ( Leitos[DiasDisponiveis] ) )
Tempo médio de permanência
Tempo médio de permanência mede quantos dias o paciente fica internado.
- Fórmula
- Total de dias de internação ÷ número de internações
- Exemplo
- 1.800 dias ÷ 400 internações = 4,5 dias
- Leitura
- Depende do contexto
SELECT SUM(DATEDIFF(day, data_internacao, data_alta)) * 1.0 / COUNT(*) AS permanencia_media
FROM internacoes
WHERE data_alta IS NOT NULL;
Taxa de faltas (no-show)
Taxa de faltas (no-show) mede quantos pacientes agendados não aparecem.
- Fórmula
- Faltas ÷ consultas agendadas
- Exemplo
- 250 faltas em 1.000 agendamentos = 25%
- Leitura
- Quanto menor, melhor
No-show =
DIVIDE ( CALCULATE ( COUNTROWS ( Agenda ), Agenda[Status] = "Falta" ), COUNTROWS ( Agenda ) )
Readmissão em 30 dias
Readmissão em 30 dias mede quantos pacientes voltam a ser internados logo depois da alta.
- Fórmula
- Readmitidos em até 30 dias ÷ altas
- Exemplo
- 24 de 400 altas = 6%
- Leitura
- Quanto menor, melhor
SELECT 1.0 * COUNT(DISTINCT a.internacao_id)
/ (SELECT COUNT(*) FROM internacoes WHERE data_alta IS NOT NULL) AS readmissao_30d
FROM internacoes a
JOIN internacoes b
ON b.paciente_id = a.paciente_id
AND b.data_internacao > a.data_alta
AND b.data_internacao <= DATEADD(day, 30, a.data_alta);
Taxa de ocupação da agenda
Taxa de ocupação da agenda mede quanto dos horários disponíveis vira atendimento.
- Fórmula
- Consultas realizadas ÷ horários disponíveis
- Exemplo
- 750 realizadas de 1.200 horários = 62,5%
- Leitura
- Quanto maior, melhor
Ocupação da Agenda =
DIVIDE (
CALCULATE ( COUNTROWS ( Horarios ), Horarios[Status] = "Realizada" ),
COUNTROWS ( Horarios )
)
Educação
Taxa de evasão
Taxa de evasão mede quantos alunos abandonam o curso.
- Fórmula
- Alunos que abandonaram ÷ alunos matriculados
- Exemplo
- 90 de 600 alunos = 15%
- Leitura
- Quanto menor, melhor
SELECT 1.0 * SUM(CASE WHEN status = 'abandonou' THEN 1 ELSE 0 END) / COUNT(*) AS evasao
FROM matriculas;
Taxa de conclusão
Taxa de conclusão mede quantos alunos terminam o curso.
- Fórmula
- Alunos que concluíram ÷ alunos matriculados
- Exemplo
- 420 de 600 alunos = 70%
- Leitura
- Quanto maior, melhor
Taxa de Conclusão =
DIVIDE (
CALCULATE ( COUNTROWS ( Matriculas ), Matriculas[Status] = "Concluído" ),
COUNTROWS ( Matriculas )
)
Engajamento semanal
Engajamento semanal mede quantos alunos estudaram na semana.
- Fórmula
- Alunos ativos na semana ÷ alunos matriculados
- Exemplo
- 1.200 de 3.000 alunos = 40%
- Leitura
- Quanto maior, melhor
SELECT 1.0 * COUNT(DISTINCT a.aluno_id)
/ (SELECT COUNT(*) FROM matriculas WHERE status = 'ativa') AS engajamento_semanal
FROM atividades a
WHERE a.data >= DATEADD(day, -7, CAST(GETDATE() AS date));
Erros comuns ao calcular KPIs
- Somar porcentagens. Taxas e médias não se somam entre meses ou lojas: recalcule a partir do numerador e do denominador do período inteiro.
- Média de médias. O ticket médio do ano não é a média dos tickets de cada mês; é a receita do ano dividida pelos pedidos do ano.
- Denominador errado. No churn, a base é quem estava ativo no início do período, não quem está ativo no fim.
- KPI sem comparação. Um número sozinho não diz se está bom: compare com meta, período anterior ou média do setor.
- Definição diferente em cada área. Documente a fórmula de cada KPI para que vendas, financeiro e diretoria falem do mesmo número.
Quer construir esses KPIs em um projeto real?
Na Formação Analista de Dados você cria painéis de vendas, DRE, RH, logística, marketing e atendimento com Power BI, DAX e SQL, em projetos que vão para o portfólio.
Conhecer a formaçãoPerguntas frequentes
Qual a diferença entre métrica e KPI?
Métrica é qualquer medida numérica do negócio, como visitas ou pedidos. KPI é a métrica escolhida como principal para acompanhar um objetivo, com meta e dono. Toda KPI é uma métrica, mas nem toda métrica é KPI.
Quantos KPIs um dashboard deve ter?
Poucos. Um painel executivo costuma funcionar melhor com 4 a 8 KPIs principais no topo, e os detalhes em páginas de apoio. Se tudo é prioridade, nada é.
Como criar um KPI no Power BI?
Crie uma medida DAX com a fórmula do indicador, usando DIVIDE nas divisões, e mostre no visual de cartão ou KPI. Para comparar com o ano anterior, use CALCULATE com SAMEPERIODLASTYEAR e uma tabela calendário. Veja o guia como aprender Power BI.
É melhor calcular KPIs em SQL ou em DAX?
Os dois funcionam. SQL é ótimo para preparar tabelas e calcular números fixos na origem; DAX é melhor quando o KPI precisa reagir aos filtros do relatório, como região e período. Em geral, prepara-se a base em SQL e calcula-se o KPI final em DAX.
Continue lendo
- Glossário de dados
- O que faz um analista de dados
- Como aprender Power BI do zero
- Como aprender SQL para análise de dados
- Curso de Power BI
Sobre o autor
Felipy Morais é analista e engenheiro de dados com mais de 6 anos de experiência, certificado Microsoft PL-300, DP-600 e DP-700 e Databricks Fundamentals. É fundador e instrutor da Educadados. Conheça a trajetória.