Modelagem de Uplift

O que é modelagem de uplift?

Modelagem de uplift (uplift modeling) (também chamada de modelagem incremental (incremental modeling), modelagem de lift verdadeiro (true lift modeling) ou estimativa do efeito individual do tratamento (individual treatment effect estimation)) é um conjunto de métodos para estimar quanto uma determinada intervenção mudará um resultado para um indivíduo.

Em vez de prever o que vai acontecer (aprendizado supervisionado padrão (standard supervised learning)), a modelagem de uplift prevê o que vai mudar se agirmos:

  • Enviar um cupom para este cliente aumentará sua probabilidade de compra?
  • Um lembrete clínico melhorará a adesão para este paciente?
  • Mostrar uma notificação aumentará o engajamento para este usuário — ou o irritará e reduzirá o engajamento?

Formalmente, a modelagem de uplift mira o efeito individual do tratamento (individual treatment effect, ITE):

[ \tau(x) = \mathbb{E}[Y(1) - Y(0) \mid X=x] ]

Onde:

  • (X) são características que descrevem uma pessoa/unidade (cliente, paciente, usuário, …)
  • (Y(1)) é o resultado potencial se tratado (se sofrer intervenção)
  • (Y(0)) é o resultado potencial se não tratado
  • (\tau(x)) é o impacto esperado incremental do tratamento para indivíduos como (x)

Esse enquadramento vem da perspectiva de resultados potenciais (potential outcomes) em Inferência Causal. A modelagem de uplift é uma forma prática de levar o pensamento causal para sistemas de personalização e tomada de decisão.

Por que modelagem de uplift é diferente de predição padrão

Um modelo padrão pode prever:

[ p(x) = \mathbb{P}(Y=1 \mid X=x) ]

Isso é útil para segmentar prováveis respondedores, mas não responde à pergunta causal: quem vai mudar por causa do tratamento?

Um modo clássico de falha em marketing:

  • Clientes com alta propensão (que comprariam de qualquer forma) são previstos como prováveis compradores.
  • Se você os segmenta com descontos, pode desperdiçar dinheiro porque eles teriam comprado sem o desconto.

A modelagem de uplift separa pessoas em grupos conceituais:

  • Persuadíveis: compram apenas se tratados (uplift positivo)
  • Casos garantidos: compram independentemente (uplift próximo de zero; evitar tratamento caro)
  • Causas perdidas: não compram independentemente (uplift próximo de zero)
  • Não incomode: o tratamento tem efeito contrário (uplift negativo)

O objetivo operacional geralmente é tratar apenas quando o benefício incremental excede os custos/riscos.

Fundamentos causais essenciais

Resultados potenciais e o problema fundamental

Para cada indivíduo, nunca observamos simultaneamente (Y(1)) e (Y(0)). Observamos:

  • (Y = Y(T)), onde (T \in {0,1}) é a atribuição do tratamento.

Esse é o problema fundamental da inferência causal: contrafactuais individuais estão ausentes.

A modelagem de uplift funciona aprendendo a partir de grupos (tratado vs. controle) e usando características (X) para generalizar efeitos médios condicionais para indivíduos.

Principais suposições de identificação (especialmente para dados observacionais)

Se o tratamento é atribuído aleatoriamente (teste A/B (A/B test) / ensaio controlado randomizado (randomized controlled trial)), a estimativa de uplift é muito mais fácil. Caso contrário, normalmente são necessárias suposições discutidas em Confundimento e Ajuste, tais como:

  1. Não confundimento / ignorabilidade (unconfoundedness / ignorability)
    [ (Y(0), Y(1)) \perp T \mid X ]
    Significa: após condicionar nas características observadas (X), a atribuição do tratamento é “como se aleatória”.

  2. Sobreposição / positividade (overlap / positivity)
    [ 0 < \mathbb{P}(T=1 \mid X=x) < 1 ]
    Você precisa de exemplos tratados e não tratados para (x) similares para aprender uplift.

Quando essas suposições falham, modelos de uplift podem ter vieses severos. Em alguns casos, ferramentas como Variáveis Instrumentais podem ajudar a identificar efeitos causais sob suposições diferentes, embora usar variáveis instrumentais para efeitos heterogêneos/individuais seja mais complexo e frequentemente produza identificação mais fraca.

De ITE para CATE

A maioria dos métodos práticos de uplift estima um Efeito Médio do Tratamento Condicional (Conditional Average Treatment Effect, CATE):

[ \text{CATE}(x) = \mathbb{E}[Y(1)-Y(0)\mid X=x] ]

Na prática, as pessoas ainda chamam isso de “ITE”, embora seja uma média condicional individualizada (uma expectativa sobre indivíduos similares), e não um efeito determinístico garantido para uma única pessoa.

Um exemplo prático: segmentação de descontos

Cenário: Você pode enviar um e-mail com 10% de desconto. O resultado (Y) é “compra em até 7 dias” (1/0). Tratamento (T=1) significa que o e-mail é enviado.

Considere:

  • Lucro por compra incremental: margem de $50
  • Custo por e-mail com desconto (incluindo o desconto esperado concedido): $3

Regra de decisão:

Tratar o usuário (x) se o valor esperado for positivo:

[ 50 \cdot \tau(x) - 3 > 0 \quad \Rightarrow \quad \tau(x) > 0.06 ]

Assim, mesmo uplift positivo pode não ser suficiente; ele precisa superar um limiar.

É aqui que a modelagem de uplift se conecta naturalmente a políticas de decisão.

Abordagens comuns de modelagem

A modelagem de uplift pode ser implementada por meio de várias famílias de métodos. Muitos são “meta-aprendizes (meta-learners)” que reduzem a estimação causal a aprendizado supervisionado padrão.

Assuma:

  • Características (X)
  • Tratamento binário (T\in{0,1})
  • Resultado (Y) (binário ou contínuo)

1) Abordagem de dois modelos (T-learner)

Treine dois modelos separados:

  • (\hat{\mu}_1(x) \approx \mathbb{E}[Y \mid T=1, X=x])
  • (\hat{\mu}_0(x) \approx \mathbb{E}[Y \mid T=0, X=x])

Então:

[ \hat{\tau}(x) = \hat{\mu}_1(x) - \hat{\mu}_0(x) ]

Prós

  • Simples e flexível (qualquer regressor/classificador)
  • Funciona bem quando as funções tratado/controle diferem substancialmente

Contras

  • Pode ser ineficiente em dados (cada modelo vê apenas parte dos dados)
  • Sensível quando um grupo é pequeno

2) Abordagem de modelo único (S-learner)

Treine um modelo usando (T) como característica:

[ \hat{\mu}(x,t) \approx \mathbb{E}[Y \mid X=x, T=t] ] Então: [ \hat{\tau}(x) = \hat{\mu}(x,1)-\hat{\mu}(x,0) ]

Prós

  • Usa todos os dados
  • Pipeline simples

Contras

  • Alguns modelos podem “ignorar” (T) se os efeitos do tratamento forem pequenos em relação à predição de baseline

3) Árvores de uplift e florestas aleatórias de uplift

Divisões especializadas em árvores que buscam maximizar a heterogeneidade do efeito do tratamento em vez da pureza preditiva. Elas são populares em marketing porque produzem segmentos interpretáveis.

Prós

  • Segmentos interpretáveis
  • Captura naturalmente interações não lineares

Contras

  • Pode ser ruidoso sem regularização forte
  • Detalhes de implementação importam (evitar viés na seleção de splits)

4) X-learner e melhorias relacionadas

Projetado para ter melhor desempenho quando os tamanhos dos grupos tratado/controle diferem. Em linhas gerais:

  • Ajustar modelos de resultado para tratado e controle
  • Imputar efeitos individuais do tratamento dentro de cada grupo
  • Aprender um modelo desses efeitos e combinar

Frequentemente usado quando o grupo tratado é pequeno.

5) Aprendizes duplamente robustos / ortogonais (R-learner, DR-learner)

Esses métodos incorporam:

  • Modelo(s) de resultado (\hat{\mu}_t(x))
  • Modelo de propensão (\hat{e}(x)=\mathbb{P}(T=1\mid X=x))

Eles usam ideias de ortogonalização (orthogonalization) para reduzir a sensibilidade a especificações incorretas do modelo. Estimadores “duplamente robustos (doubly robust)” podem permanecer consistentes se ou o modelo de propensão ou o modelo de resultado estiver correto (sob condições padrão).

Eles são amplamente usados em bibliotecas modernas de aprendizado de máquina causal (causal ML libraries) e são um bom padrão ao trabalhar com dados observacionais.

6) Florestas causais

Uma variante de florestas voltada a estimar efeitos heterogêneos de tratamento com propriedades estatísticas inspiradas na teoria semiparamétrica.

Prós

  • Forte desempenho sob heterogeneidade complexa
  • Frequentemente fornece incerteza melhor calibrada do que abordagens ingênuas

Contras

  • Maior custo computacional e mais hiperparâmetros
  • Ainda depende de suposições de identificação (randomização ou ajuste válido)

Avaliação: como medir uplift se contrafactuais estão ausentes?

Você não pode computar diretamente o erro por pessoa em (\tau(x)) porque nunca observa ambos os resultados para um indivíduo.

Em vez disso, a avaliação é feita via qualidade de ranqueamento e valor da política, idealmente em um conjunto holdout randomizado.

Curvas de uplift e coeficiente de Qini

Uma abordagem comum:

  1. Atribuir a cada indivíduo uma pontuação com o uplift previsto (\hat{\tau}(x))
  2. Ordenar indivíduos do maior para o menor uplift previsto
  3. Para o topo (k%), estimar o resultado incremental: [ \widehat{\text{uplift}}(k) = \bar{Y}{T=1,,\text{top }k%} - \bar{Y}{T=0,,\text{top }k%} ]
  4. Plotar ganho incremental vs. fração segmentada

A partir disso você obtém:

  • Curva de uplift (resultados incrementais vs. fração segmentada)
  • Curva de Qini (Qini curve) (variante focada em respondedores incrementais)
  • AUUC/coeficiente de Qini (Qini coefficient) (resumos de área sob a curva)

Essas métricas respondem: Se eu segmentar as pessoas que o modelo recomenda, quanto impacto incremental eu obtenho?

Avaliação de política: valor esperado com custos

Frequentemente você se importa com lucro/utilidade, e não apenas uplift. Se benefício (b) e custo (c) são conhecidos (ou estimáveis), defina uma política:

[ \pi(x) = \mathbb{1}{\hat{\tau}(x) > c/b} ]

Avalie o valor da política em um conjunto randomizado comparando resultados de tratados vs. controle entre os selecionados pela política (ou via ponderação pelo inverso da propensão (inverse propensity weighting) em cenários observacionais).

Calibração e incerteza

Mesmo que o ranqueamento seja bom, a magnitude pode estar errada. Checagens de calibração incluem:

  • Agrupar por uplift previsto e comparar resultados incrementais observados em cada grupo
  • Usar bootstrap (bootstrap) ou estimativas de incerteza baseadas em modelo para limiares de decisão

Fluxo de trabalho prático

1) Defina tratamento, resultado e decisão

Seja explícito:

  • Tratamento (T): que ação você pode escolher?
  • Resultado (Y): qual métrica muda por causa da ação?
  • Janela de tempo: quando (Y) é medido?
  • Restrições: orçamentos, limites de frequência de contato, restrições de equidade, limites de segurança

Bons projetos de uplift começam com uma decisão, não com um modelo.

2) Prefira experimentos randomizados quando possível

Se você puder executar um teste A/B:

  • Randomize o tratamento
  • Registre atribuição e exposição
  • Garanta que não haja vazamento (ex.: controles não devem receber tratamento inadvertidamente)

Isso torna a identificação direta e aumenta a confiabilidade.

3) Se for observacional, modele propensão e ajuste com cuidado

Em ambientes não randomizados:

  • Estime a propensão (e(x)=P(T=1|X=x))
  • Verifique sobreposição (histogramas de propensão)
  • Considere cortar (trimming) propensões extremas
  • Use aprendizes duplamente robustos quando possível

Isso se conecta diretamente a Confundimento e Ajuste e Grafos Causais para raciocinar sobre o que deve ser controlado.

4) Treine modelos de uplift (escolha um baseline)

Padrões práticos:

  • Comece com T-learner usando modelos fortes para dados tabulares (tabular models) (árvores com boosting de gradiente (gradient-boosted trees))
  • Para ambientes observacionais, use uma abordagem DR-learner / ortogonal
  • Use ajuste cruzado (cross-fitting) (predições fora da dobra) para reduzir viés de overfitting na estimação causal

5) Avalie com uplift/Qini e valor da política

Sempre avalie em um conjunto holdout que reflita o ambiente de implantação:

  • holdout randomizado, se disponível
  • caso contrário, avaliação fora de política (off-policy evaluation) cuidadosa, com fortes ressalvas

6) Faça deploy como uma política de decisão, não apenas como um score

Uma interface típica de produção:

  • Entrada: características (X)
  • Saída: tratar/não tratar (e talvez valor esperado)
  • Logging: registrar decisões, versão do modelo e resultados para monitoramento

7) Monitore drift e loops de feedback

A implantação muda a distribuição dos dados: se você parar de tratar “causas perdidas”, pode parar de aprender sobre elas. Mitigações comuns:

  • Manter exploração (taxa pequena de randomização)
  • Reexecutar experimentos periodicamente
  • Monitorar propensões, distribuição de uplift e valor da política

Exemplo de código (T-learner conceitual com scikit-learn)

Abaixo está um exemplo simplificado mostrando a mecânica central. Na prática, você vai querer ajuste cruzado, avaliação cuidadosa (curvas de uplift) e potencialmente métodos duplamente robustos.

import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.ensemble import HistGradientBoostingClassifier

# X: feature matrix, shape (n, d)
# T: treatment assignment (0/1), shape (n,)
# Y: outcome (0/1), shape (n,)

X_train, X_test, T_train, T_test, Y_train, Y_test = train_test_split(
    X, T, Y, test_size=0.3, random_state=42, stratify=T
)

# Fit outcome models for treated and control
model_treated = HistGradientBoostingClassifier()
model_control = HistGradientBoostingClassifier()

model_treated.fit(X_train[T_train == 1], Y_train[T_train == 1])
model_control.fit(X_train[T_train == 0], Y_train[T_train == 0])

# Predict probabilities
p1 = model_treated.predict_proba(X_test)[:, 1]
p0 = model_control.predict_proba(X_test)[:, 1]

uplift = p1 - p0  # estimated CATE / uplift

# Decision rule with cost/benefit threshold
benefit = 50.0
cost = 3.0
threshold = cost / benefit

treat_policy = (uplift > threshold).astype(int)

print("Mean predicted uplift:", uplift.mean())
print("Treat rate under policy:", treat_policy.mean())

Para avaliar essa política em dados de teste randomizados, você compararia resultados de tratados vs. controle entre aqueles que a política trataria, usando apenas indivíduos cuja atribuição real coincida (ou usando estimadores apropriados).

Aplicações

Marketing e CRM

  • Segmentação de cupons (evitar desconto para “casos garantidos”)
  • Campanhas de retenção (quem deve receber um incentivo para ficar?)
  • Personalização de cross-sell / upsell

Crescimento de produto e engajamento

  • Segmentação de notificações (prevenir uplift negativo / incômodo)
  • Lançamentos de funcionalidades (quem se beneficia de um novo fluxo de onboarding?)
  • Recomendações de conteúdo com intervenções (ex.: “mostrar explicação” vs. não mostrar)

Saúde e políticas públicas

  • Identificação de subgrupos de pacientes com maior benefício de tratamento
  • Alocação de intervenções escassas (coaching, contato proativo)
  • Personalização risco-benefício (tratar apenas quando o benefício esperado supera o dano)

Esses cenários frequentemente exigem cuidado extra com suposições, ética e incerteza, e podem envolver restrições do domínio que não são capturadas apenas por uplift.

Armadilhas comuns e como evitá-las

Usar variáveis pós-tratamento

Características afetadas pelo tratamento (ex.: “abriu o e-mail”) não podem ser usadas para decidir o tratamento, porque não existem no momento da decisão e podem introduzir viés. O raciocínio causal com Grafos Causais ajuda a identificar isso.

Confundimento em dados observacionais

Se a atribuição do tratamento depende de fatores não medidos (representantes de vendas escolhem para quem ligar), modelos de uplift podem aprender efeitos espúrios. Use ajuste cuidadoso, análise de sensibilidade ou redesenhe a coleta de dados (experimentos).

Violação de sobreposição

Se certos usuários quase sempre são tratados, você não consegue aprender o que aconteceria sem tratamento. A extrapolação do modelo nesse caso é pouco confiável.

Otimizar o objetivo errado

Maximizar AUC para (Y) não é o objetivo. Você precisa de métricas de uplift/política alinhadas ao impacto incremental e à utilidade de negócio ou clínica.

Complexidade de múltiplos tratamentos

Muitos problemas reais têm múltiplas ações (sem e-mail / e-mail A / e-mail B). Existem extensões (uplift multi-braço (multi-armed uplift), aprendizado de políticas (policy learning)), mas avaliação e exploração se tornam mais importantes.

Extensões e tópicos avançados

  • Tratamentos contínuos ou de dose (continuous or dose treatments) (ex.: valor do desconto): estimar relação dose-resposta em vez de uplift binário.
  • Tratamentos variantes no tempo (time-varying treatments): sequências de ações ao longo do tempo; conecta-se a aprendizado por reforço (reinforcement learning), mas continua fundamentalmente causal.
  • Interferência / efeitos de transbordamento (interference / spillovers): o tratamento de uma pessoa afeta outras (ex.: efeitos de rede), quebrando suposições padrão.
  • Equidade e restrições (fairness and constraints): garantir que políticas de uplift não aloquem benefícios de forma inequitativa; requer otimização com restrições (constrained optimization) explícita além de puro ranqueamento por uplift.

Resumo

Modelagem de uplift é a abordagem prática de aprendizado de máquina para estimar impacto incremental de uma intervenção no nível individual e usá-lo para orientar decisões melhores. Ela fica na interseção entre modelagem preditiva e inferência causal:

  • Mira (\tau(x)=\mathbb{E}[Y(1)-Y(0)\mid X=x]), e não (\mathbb{P}(Y=1\mid X=x)).
  • Depende de randomização ou de suposições fortes e ajuste (veja Confundimento e Ajuste).
  • É avaliada via curvas de uplift, Qini/AUUC e — mais importante — valor da política sob custos e restrições realistas.
  • É amplamente usada para personalização em marketing, produto e saúde, com métodos modernos (meta-aprendizes, aprendizes duplamente robustos, florestas causais) melhorando a robustez em cenários complexos.

Quando bem feita, a modelagem de uplift transforma “quem provavelmente fará X?” em “quem mudará se fizermos Y?”, viabilizando sistemas ao mesmo tempo mais eficazes e mais eficientes.