Quanto rende o próximo real de orçamento? Em dados observacionais essa curva nasce enviesada, porque a plataforma gasta mais onde já converte melhor. Aqui, um laboratório com verdade conhecida sobre covariáveis reais mostra o viés, corrige sem experimento e converte a curva certa em +9,9% de conversões com o mesmo orçamento.
1.143 anúncios reais de Facebook Ads (covariáveis do dataset KAG, o mesmo do projeto de marketing analytics) · dose e desfecho simulados com verdade conhecida, no padrão dos benchmarks de tratamento contínuo · seed 42, tudo reproduzível por src/analysis.py · todos os números desta página saem dos artefatos gerados.
Decidir onde anunciar compara dois braços (uplift A vs B). Decidir quanto investir compara infinitos: cada valor de orçamento é um tratamento diferente. O nome disso é dose-resposta, e a armadilha é que o histórico da conta parece responder de graça: basta plotar gasto contra conversão. Só que essa curva não é causal.
O leilão da Meta despeja verba onde a resposta parece melhor. Gasto alto e conversão alta acontecem juntos porque ambos vêm do mesmo público bom, não porque um causa o outro na proporção observada.
Cada faixa de dose contém um público diferente: nas doses baixas moram os segmentos fracos, nas altas os fortes. A curva "média" compara maçãs com laranjas ao longo do próprio eixo.
Superestimar o retorno marginal no topo infla orçamento em público saturado; subestimar no meio corta verba de onde ainda renderia. A conta chega em conversões perdidas.
Cada anúncio real (idade, gênero e interesse do público) recebe uma curva de saturação verdadeira, ancorada nos próprios dados: a propensão-base p0(X) vem de uma regressão nas conversões reais, e vira o teto Vmax do segmento. O custo de saturar, k, varia de R$ 35 a R$ 480 por segmento.
A "plataforma" investe proporcionalmente ao potencial do segmento, com ruído: dose ∝ Vmax^1,1 × ruído. Resultado: correlação de 0,71 entre dose e potencial, o confundimento clássico.
As mesmas doses, permutadas ao acaso entre os anúncios: mesma distribuição de gasto, correlação 0,02 com o potencial. É o "sortear níveis de verba por célula" de um teste de orçamento real.
Conversões semanais sorteadas de uma Poisson com a média da curva verdadeira. Orçamento total: R$ 70.259/semana, dose mediana de R$ 36 por anúncio.
Cada ponto é um anúncio (amostra de 500): dose recebida (escala log) contra propensão-base do público. No observacional, quem tem público bom recebe verba alta; no RCT, o sorteio quebra o vínculo.
É esta foto que condena a curva ingênua: nas doses altas só vivem públicos fortes. Qualquer média por faixa de dose herda essa mistura.
A "análise ingênua" é a mais comum do mercado: média de conversões por faixa de gasto. Aplicada ao mundo observacional, ela entorta; aplicada ao RCT, ela acerta. O método é idêntico, quem muda é o dado.
Linha preta: verdade (conhecida por construção). A área sombreada marca doses além do suporte observado (p98 ≈ R$ 356), onde nenhum método tem dados.
A curva vermelha subestima no trecho barato e explode no trecho caro (RMSE 5,67 contra a verdade): nas doses altas ela só enxerga os públicos fortes e atribui ao dinheiro o mérito do público. A mesma receita no RCT (tracejada azul) cola na verdade com RMSE 0,54: randomizou, o método bobo virou método certo.
Quando o RCT ainda não existe, o caminho é ajustar pelas covariáveis que geram o confundimento. Dois métodos clássicos, dois resultados bem diferentes.
Ajusta um modelo flexível de conversões ~ (dose, X) (gradient boosting com o escore prognóstico p0 como feature, o truque de Hansen 2008) e depois pergunta ao modelo: "e se todo mundo recebesse dose d?", varrendo o grid e tirando a média. É a g-fórmula de Robins aplicada a dose contínua.
Modela a dose dada as covariáveis (propensity score generalizado), inclui essa densidade no modelo de desfecho e integra. É o análogo contínuo do propensity score; aqui, com a forma paramétrica clássica.
Mesmos dados confundidos da seção anterior; agora com ajuste por covariáveis.
O g-computation reduz o erro de 5,67 para 1,17 (79% a menos) e acompanha a verdade em todo o suporte. O GPS clássico fica em 4,58: a forma paramétrica rígida sofre com a heterogeneidade forte das curvas. Lição honesta: "usar um método causal" não basta, a especificação importa, e só foi possível saber qual funcionou porque o gabarito existe.
A curva não é o fim, é o meio. A regra ótima de alocação é clássica: distribuir o orçamento até que o retorno marginal (conversões do próximo real) seja o mesmo em todos os segmentos. Quem usa a curva errada iguala marginais errados.
Curvas verdadeiras médias por tercil de k (custo de saturação). O grupo barato (k≈R$ 71) satura cedo; o caro (k≈R$ 211) continua rendendo em doses altas. É essa diferença de curvatura que a alocação explora.
Retornos decrescentes em todo lugar, mas em ritmos diferentes: a decisão de orçamento é inteiramente sobre curvatura, não sobre nível.
Conversões semanais esperadas (avaliadas pela verdade) ao realocar a verba em 3 macro-segmentos de potencial previsto. Corte de suporte: nenhuma política recomenda dose além de 1,3x o p95 já praticado no segmento.
Três leituras: a política da curva ingênua destrói 6,7% das conversões (espalha verba uniforme porque sua curva não distingue públicos); a política causal entrega +9,9% e fica a 0,002% do ótimo teórico da sua classe de decisão (4.603,7 vs 4.603,8); e ainda restam +8% na mesa para quem personalizar dose por anúncio, o que exige experimentação contínua, não só modelo.
Participação de cada tercil de potencial no orçamento. O erro da ingênua fica visível: ela financia o segmento fraco como se fosse igual aos outros.
A política causal corta quase todo o segmento de baixo potencial (que satura com pouquíssimo) e realoca no alto, indo além do que a plataforma já fazia. O oráculo por anúncio devolve um pouco de verba ao segmento baixo: dentro dele existem anúncios individuais que valem a pena, nuance que só a personalização captura.
Seis conclusões que sobrevivem fora da simulação.
Orçamento é um tratamento contínuo; a resposta certa é uma curva (e sua derivada), não um sim/não. A decisão ótima iguala retornos marginais entre segmentos, a regra mais antiga da economia aplicada a mídia.
Algoritmos de leilão existem para gastar mais onde converte melhor. Toda curva de gasto vs resultado tirada do histórico herda esse vínculo (aqui, correlação 0,71), e por isso superestima o retorno do dinheiro.
O g-computation venceu (RMSE 1,17) e o GPS clássico quase empatou com o ingênuo (4,58 vs 5,67). Só deu para saber disso porque a verdade era conhecida. É o argumento definitivo para validar métodos em benchmarks semi-sintéticos antes de confiar neles em produção.
Onde o segmento nunca recebeu dose alta, nenhum modelo sabe o que acontece. As curvas desta página param no suporte observado e a política proíbe recomendar dose além de 1,3x o praticado. Extrapolação vestida de inferência é como os projetos quebram em produção.
A política da curva ingênua rendeu -6,7% contra o status quo: pior do que não fazer nada. Análise enviesada não é "melhor que nada", pode ser ativamente pior que a heurística da plataforma.
A mesma curva ingênua que mente no observacional acerta no RCT (RMSE 0,54). Na prática: testes de orçamento por célula/geo (2-3 níveis de verba sorteados) validam a curva onde ela mais importa, perto da dose atual, e destravam os +8% finais da personalização por anúncio.
python src/analysis.py gera o mundo, os dois cenários, as quatro curvas e a alocação (~30 segundos, CPU); python src/build_charts.py --splice regenera os gráficos desta página. Referências no repositório: g-fórmula de Robins (1986), GPS de Hirano & Imbens (2004), escore prognóstico de Hansen (2008) e os benchmarks de dose contínua de Schwab et al. (2020) e Bica et al. (2020).