LH Clientes — Como foi feito (explicado fácil)
Imagina que 10 clientes pagam o aluguel da loja toda e os outros 39 ajudam. Se um desses 10 saí da carteira, a empresa balança. Aqui usei o princípio de Pareto pra descobrir quem segura o caixa da LH Nautical — e qual o risco escondido nisso.
O que é isso, em uma frase?
É a análise que pega os 49 clientes B2B da LH Nautical e responde 3 perguntas: quem são os mais valiosos? como tá distribuída a receita entre eles? que percentual depende dos top 10?.
A ferramenta principal aqui é a curva de Pareto (regra 80/20): geralmente 20% dos clientes geram 80% da receita. Quando isso acontece de forma exagerada (tipo 10% gerando 50%), é sinal de risco de concentração.
Por que importa? Porque saber quem são os pesos pesados muda a forma de cuidar deles. O top 10 precisa de gerente de conta, contato direto, prioridade no estoque. O resto, fluxo padrão.
Da tabela à curva
1 · Calcular o LTV (Lifetime Value) por cliente. LTV é "quanto esse cliente já me deu, somando todas as compras dele". Saio do fato_vendas, agrupo por cliente, somo.
ltv = (
vendas.groupby("customer_id")["valor"]
.sum()
.sort_values(ascending=False)
.reset_index(name="ltv")
)
print(f"49 clientes B2B, LTV total: R$ {ltv['ltv'].sum():,.0f}")
2 · Recorrência. Verifico quantos pedidos cada cliente fez. Achei algo bom: zero clientes "one-time" — todos compraram mais de uma vez. Isso é raro e excelente: significa que o produto/atendimento fideliza.
recorrencia = vendas.groupby("customer_id")["order_id"].nunique()
one_time = (recorrencia == 1).sum()
print(f"Clientes que compraram só 1 vez: {one_time}") # 0
3 · Montar a curva de Pareto. Ordeno os clientes do mais valioso pro menos. Calculo o acumulado da receita (1º cliente, 1º+2º, 1º+2º+3º...). Plot.
ltv = ltv.sort_values("ltv", ascending=False).reset_index(drop=True)
ltv["acumulado_pct"] = ltv["ltv"].cumsum() / ltv["ltv"].sum() * 100
ltv["rank"] = ltv.index + 1
import matplotlib.pyplot as plt
plt.bar(ltv["rank"], ltv["ltv"])
plt.twinx().plot(ltv["rank"], ltv["acumulado_pct"], color="cyan")
4 · Os achados. Os Top 5 clientes respondem por 12,9% da receita. Os Top 10 chegam a 24,6%. É menos concentrado do que o típico Pareto 80/20 — boa notícia: significa que a base é razoavelmente distribuída, mesmo com poucos clientes.
| faixa | % da receita |
|---|---|
| Top 5 clientes | 12,9% |
| Top 10 clientes | 24,6% |
| Clientes one-time | 0 (100% recorrentes) |
| Total B2B | 49 clientes |
5 · A leitura honesta. Não inflei o número (poderia falar "Top 10 = 80%" e ficar impressionante — seria mentira). Reportei o número real, mesmo que menos vendável. Honestidade gera confiança; recrutador esperto percebe.
A curva de Pareto da LH
Em uma linha: o que esse projeto ensina
Que quase toda base segue Pareto de algum jeito — mas o "quão Pareto" varia. Ler corretamente esse "quanto" é o que diferencia análise séria de balela vendedora. Reportar 24,6% como "24,6%" e não como "Top 10 domina" é integridade analítica.
Coisas técnicas que apareceram aqui: Pandas (groupby, sort_values, cumsum), cálculo de LTV, análise de recorrência, curva de Pareto, gráfico de dois eixos com matplotlib, leitura honesta de concentração.