- Publicado em
- · 10 de julho de 2026
Paradoxo de Simpson: quando dados agregados enganam
- Blog

- Renata Weber
- Renata Weber
- Growth Specialist at Pareto Plus
Growth Specialist at Pareto Plus

O Paradoxo de Simpson é um fenômeno estatístico em que uma tendência observada em vários subgrupos de dados se inverte ou desaparece quando os grupos são combinados. Ele expõe o risco de confiar apenas em médias agregadas, levando cientistas de dados a conclusões opostas às reais.
- O que é o Paradoxo de Simpson?
- Qual é o exemplo mais famoso do Paradoxo de Simpson?
- Como reproduzir o Paradoxo de Simpson em Python?
- Como visualizar o Paradoxo de Simpson com matplotlib e seaborn?
- Como lidar com o Paradoxo de Simpson em Data Science?
O que é o Paradoxo de Simpson?
O Paradoxo de Simpson é uma inversão de tendência: uma relação que aparece de forma consistente em subconjuntos de dados some ou muda de direção quando esses subconjuntos são agregados. Uma opção que vence em cada grupo isolado pode perder no total, dependendo de como as observações se distribuem.
O fenômeno foi descrito pelo estatístico Edward H. Simpson em um artigo de 1951, embora Karl Pearson (1899) e Udny Yule (1903) já tivessem notado efeitos semelhantes — por isso o nome alternativo "efeito Yule-Simpson". O termo "Paradoxo de Simpson" só foi cunhado por Colin R. Blyth em 1972, segundo a Stanford Encyclopedia of Philosophy.
A raiz do problema quase nunca é o cálculo, e sim a interpretação. Quando existe uma variável de confusão — uma terceira variável ligada tanto ao grupo quanto ao resultado — a média agregada pondera os grupos de maneira distorcida. Entender esse mecanismo é parte central do raciocínio em Ciência de Dados.
Qual é o exemplo mais famoso do Paradoxo de Simpson?
O caso mais citado é a admissão de pós-graduação da Universidade da Califórnia em Berkeley, em 1973. Os números agregados pareciam denunciar viés de gênero: cerca de 44% dos homens candidatos foram aceitos, contra apenas 35% das mulheres. À primeira vista, a diferença sugeria discriminação institucional.
Ao desagregar por curso, porém, o quadro se invertia: na maioria dos departamentos as mulheres tinham taxa de admissão igual ou superior à dos homens. A explicação é uma variável de confusão — mulheres se candidatavam com mais frequência a áreas altamente competitivas, com poucas vagas, enquanto homens concentravam-se em cursos com admissão mais fácil.
Os estatísticos Peter Bickel, Eugene Hammel e J. William O'Connell publicaram a análise na revista Science em 1975, concluindo não haver "padrão de discriminação por parte das comissões de admissão". É a demonstração definitiva de que a agregação sem contexto engana.
Como reproduzir o Paradoxo de Simpson em Python?
Para tornar o efeito concreto, considere um exemplo ilustrativo de duas plataformas de streaming, A e B, medindo a taxa de conversão de recomendações em dois grupos de usuários: assinantes novos e recorrentes. Os números abaixo são fictícios, mas replicam a mecânica do paradoxo.
| Grupo | Plataforma A | Plataforma B |
|---|---|---|
| Novos | 93% (81/87) | 87% (234/270) |
| Recorrentes | 73% (192/263) | 69% (55/80) |
| Total | 78% (273/350) | 83% (289/350) |
A Plataforma A vence em ambos os subgrupos, mas a Plataforma B vence no total. O motivo é a distribuição desigual: a maior parte dos usuários da B está no grupo "novos", que tem taxa alta, enquanto a A concentra usuários no grupo "recorrentes", de taxa mais baixa. A biblioteca pandas reproduz o cálculo:
import pandas as pd
dados = {
'plataforma': ['A', 'A', 'B', 'B'],
'grupo': ['novos', 'recorrentes', 'novos', 'recorrentes'],
'conversoes': [81, 192, 234, 55],
'total': [87, 263, 270, 80],
}
df = pd.DataFrame(dados)
df['taxa'] = df['conversoes'] / df['total']
subgrupo = df.pivot(index='grupo', columns='plataforma', values='taxa')
print(subgrupo) # taxa por subgrupo: A vence em ambos
agregado = df.groupby('plataforma')[['conversoes', 'total']].sum()
agregado['taxa'] = agregado['conversoes'] / agregado['total']
print(agregado) # taxa agregada: B vence no geral — o paradoxo aparece
O erro comum é aplicar groupby('plataforma').mean() sobre as taxas já calculadas, o que ignora o tamanho de cada grupo. A média correta pondera pelos totais, exatamente como no exemplo de Berkeley.
Como visualizar o Paradoxo de Simpson com matplotlib e seaborn?
A visualização é a forma mais rápida de flagrar a inversão de tendência. Com o matplotlib e o seaborn, você plota cada subgrupo separadamente e observa se a direção muda ao olhar o conjunto combinado. Em dados contínuos, o paradoxo aparece como retas de regressão que sobem dentro de cada grupo, mas descem no agregado.
import seaborn as sns
import matplotlib.pyplot as plt
sns.lmplot(data=df, x='total', y='taxa', hue='grupo', height=5) # reta por subgrupo
plt.title('Paradoxo de Simpson: tendência por subgrupo x agregado')
plt.show()
Esse tipo de gráfico expõe visualmente o que uma tabela agregada esconde. O mesmo cuidado com o nível de análise vale para modelos preditivos: em uma Regressão Linear, ignorar uma variável de confusão pode inverter o sinal de um coeficiente e sabotar toda a interpretação do modelo.
Como lidar com o Paradoxo de Simpson em Data Science?
O Paradoxo de Simpson não se resolve com uma fórmula única, mas com disciplina analítica. Ao trabalhar com grandes conjuntos de dados, três práticas reduzem drasticamente o risco de tirar conclusões invertidas. Aqui no CodeCrush, resumimos essa disciplina em três passos:
- Conscientização — Assuma que médias agregadas podem mentir. Sempre que houver subgrupos plausíveis, examine dados desagregados antes de comunicar qualquer resultado.
- Análise detalhada — Identifique possíveis variáveis de confusão e segmente por elas. Compare a métrica por subgrupo e no total, verificando se a direção da tendência se mantém.
- Visualização clara — Use gráficos de dispersão e retas de regressão por grupo para tornar a inversão visível. O olho humano detecta padrões que uma tabela agregada oculta.
Quando o nível de análise importa?
A pergunta decisiva é causal, não estatística: qual variável realmente explica o resultado? A resposta define se você deve reportar o dado agregado ou o segmentado. Sem entender o domínio do problema, nenhum cálculo aponta o nível correto sozinho.
Conclusão
O Paradoxo de Simpson é um lembrete de que dados não falam por si — quem fala é a interpretação. Antes de anunciar que "A é melhor que B", o bom analista pergunta: melhor para quem, e em qual recorte? A resposta quase sempre exige olhar os subgrupos e as variáveis de confusão por trás da média. Domine essa desconfiança saudável e você evitará a maioria das conclusões erradas em projetos de Data Science, com ou sem Python.
## faq
Perguntas frequentes
O que é o Paradoxo de Simpson em termos simples?
É uma armadilha estatística em que uma tendência aparece em vários grupos de dados, mas desaparece ou se inverte quando esses grupos são somados. Uma opção que parece melhor em cada subgrupo pode se mostrar pior no total agregado, dependendo de como os dados se distribuem.
Qual é o exemplo mais famoso do Paradoxo de Simpson?
A admissão de pós-graduação da Universidade de Berkeley em 1973. No total, 44% dos homens e apenas 35% das mulheres foram aceitos, sugerindo viés. Analisando curso a curso, porém, as mulheres tinham taxa igual ou superior: elas apenas concorriam a áreas mais disputadas.
O que causa o Paradoxo de Simpson?
A causa é uma variável de confusão (ou lurking variable) distribuída de forma desigual entre os grupos. Quando essa terceira variável influencia tanto os subgrupos quanto o resultado, a média agregada pondera os grupos de maneira enganosa e mascara a tendência real.
Como evitar o Paradoxo de Simpson na análise de dados?
Nunca confie apenas em médias agregadas. Segmente os dados por variáveis relevantes, compare métricas por subgrupo e no total, e visualize as relações em gráficos. Em Data Science, o raciocínio causal e o entendimento do domínio são essenciais para escolher o nível correto de análise.
O Paradoxo de Simpson só acontece com dados categóricos?
Não. Embora o caso clássico envolva taxas e categorias, o paradoxo também surge em dados contínuos: uma reta de regressão pode ter inclinação positiva dentro de cada grupo e negativa no conjunto combinado. Por isso a segmentação importa em qualquer tipo de dado.
Temas deste artigo
## continue lendo
Artigos relacionados
Continue navegando
Artigo anterior

PHP: o que é, para que serve e como começar na linguagem
PHP é uma linguagem open source para desenvolvimento web que roda em 71,8% dos sites com linguagem server-side conhecida (W3Techs, 2026).
Leia maisPróximo artigo

Docker: O Que É, Como Funciona e Comandos Essenciais
Docker é a plataforma de contêineres que empacota aplicações com suas dependências. Veja como funciona, diferenças para VMs e comandos essenciais.
Leia maisSobre o autor



