MASP — Nosso framework de marketing digital

Talita Shiguemoto
Loft
Published in
8 min readSep 14, 2020

A Loft completou dois anos há pouco tempo, e como toda startup temos muitas hipóteses a serem testadas. Mas, como conciliar a necessidade de testes rápidos para validar tais ideias com a segurança de que estamos tomando as decisões certas?

Nosso portfólio cresceu muito nesses dois anos, chegando a mais de 3500 unidades listadas em nosso site. Queremos ajudar as pessoas a encontrar o apartamento dos sonhos de maneira mais simples e uma das nossas principais alavancas é mídia de performance (ou campanhas de marketing).

Trabalhamos com diversas mídias como Facebook/Instagram, Google e empresas de remarketing. O objetivo é que através delas mostremos anúncios com os apartamentos ideais para cada pessoa. É um trabalho conjunto: nossos fornecedores de mídia têm algoritmos que otimizam a entrega das campanhas para as pessoas com o perfil certo e nós entregamos campanhas com anúncios que terão alto apelo para perfis diferentes de pessoas, facilitando o treino e execução desses algoritmos.

Uma forma comum de metrificar o quão assertivos estamos sendo é olhar o CAC (Custo de Aquisição de Clientes). O CAC é o valor total gasto da campanha dividido pelo número de clientes. Como a jornada de compra no mercado imobiliário é extensa, muitas vezes usamos a terminologia de CAC de uma forma mais aberta, podendo representar custos em diversas etapas no funil (agendamento, visita, etc). Geralmente, medimos custo no começo da jornada, onde temos dados suficientes para chegar à conclusões mais confiáveis. Quanto menor o valor do CAC, melhor a campanha está performando.

Para diminuir o CAC testamos várias hipóteses resultantes de modelos/políticas. A forma mais conhecida de fazer isso é o Teste A/B frequentista, mas como algumas vezes este teste demora para ter significância estatística, e precisamos de agilidade nos experimentos, resolvemos partir para outra abordagem em nossa campanhas, por meio do MASP.

O MASP

Já ouviu falar do MASP? Se sim, vamos ressignificar ele aqui: para nós MASP, ou Marketing Automation Scientific Platform, é uma plataforma de alocação de mídia paga e que também nos permite fazer testes de forma segura em menores janelas de tempo.

Fonte: MASP by Cristhian Medeiros

A primeira versão do MASP foi um framework de experimentação por meio de Teste A/B Bayesiano. Semelhante ao Teste A/B frequentista, ele testa diversas hipóteses, distribuindo aleatoriamente o tráfego entre elas, mas difere do anterior na forma como analisar os resultados e encontrar um vencedor.

Teste A/B Bayesiano

Esta abordagem tem como base a Inferência Bayesiana, onde descrevemos a probabilidade de um evento ocorrer com base em uma distribuição a priori, ou seja, um conhecimento prévio relacionado ao evento. À medida que vamos obtendo novas evidências essa nossa priori vai sendo atualizada até obtermos a distribuição de probabilidade final, ou também chamada de distribuição a posteriori.

No teste A/B frequentista o resultado é obtido a partir de uma amostra da população enquanto no bayesiano inferimos pela distribuição das probabilidades. Precisamos começar com uma distribuição priori, como os testes A/B são experimentos binomiais (Bernoulli) existindo apenas dois resultados possíveis para cada sessão (se há conversão ou não), a distribuição que atende esse requisito é a Beta.

Esta distribuição possui dois parâmetros (α = sucessos e β = falhas) que podem ser modificados de acordo com nosso conhecimento da distribuição priori. Uma vez que não temos evidências históricas de como será a performance dos testes, podemos escolher a distribuição uniforme do Beta(1,1) assumindo nenhuma conversão e nenhuma falha.

Abaixo está um exemplo de como a distribuição vai mudando à medida que temos mais dados de conversão.

Agora que possuímos nossas distribuições a priori, podemos gerar amostras aleatórias para compará-las. Neste exemplo geramos para cada campanha 10 mil amostras. Plotando ambas no mesmo gráfico temos distribuições uniformes com média 0.5:

Quando o teste é iniciado, coletamos informações de sucessos (conversões) e falhas (impressões que não se transformaram em conversões), a partir disto podemos atualizar nossa priori, onde:

Gerando as amostras aleatórias para a posteriori conseguimos perceber o distanciamento dos resultados dos testes. A seguir mostramos quais métricas temos que analisar para encontrarmos a melhor decisão de qual teste devemos escolher, mas primeiro vamos entrar um pouco mais a fundo em uma particularidade de usar o teste A/B bayesiano em campanhas de marketing.

O MASP foi criado para analisar os experimentos uma vez por dia, por isso quando vamos atualizar a distribuição levamos em conta:

  • Os sucessos e falhas são cumulativos durante todo experimento, então sempre somamos os valores novos com os dos dias anteriores
  • As campanhas A e B gastam um valor aproximado, não exatamente o mesmo. devido a configurações das nossas plataformas de marketing. Por esse motivo não analisamos a conversão pura, e sim o CAC.
  • Para isso encontramos o CPI (custo por impressão), somando o custo total da campanha no dia dividido pelo número de impressões do mesmo dia
  • Depois dividimos o CPI por cada amostra aleatória das posterioris.
  • Fazendo isso assumimos não existir incerteza acerca do CPI. Decidimos que isso é razoável dado que é calculado com base em um evento com grande volume (impressões). Vale lembrar que estamos na primeira versão do MASP, portanto resolvemos simplificar e deixamos isso para a próxima versão :)

Yay! Nesse caso já conseguimos ver que a campanha B parece ter um custo muito menor para gerar mais conversões, ou seja, está mostrando os apartamentos de forma mais eficaz. Contudo, por conta de ainda observarmos incerteza (variância das amostras das posterioris), precisamos suportar nossa tomada de decisão com métricas um pouco mais sofisticadas.

Métricas

Beleza, já sabemos como funciona um teste A/B bayesiano, mas quais métricas olharmos para tomarmos a decisão de qual campanha entrar em produção?

No teste frequentista existe o p-valor para mostrar significância estatística, já no bayesiano podemos olhar 3 métricas:

P(CAC_A > CAC_B): a probabilidade da campanha B ser melhor que a A

  • É a proporção média de amostras aleatórias das posterioris onde B teve melhor desempenho que A. Como em nosso experimento, quanto menor o CAC melhor, basta calcular o percentual de vezes que o experimento A teve maior CAC que B

E(loss|B): expected loss, é a perda esperada se escolhermos a campanha B como melhor e na verdade ela for pior

  • Se definirmos que o experimento B é a melhor campanha e na verdade não for, esta métrica nos diz qual o erro esperado que vamos obter. Para calcular esta métrica basta pegar todas as vezes que amostras de B tiveram valores maior que amostras de A, subtrair B de A e dividir pelo valor das amostras de A, depois disso fazer a média entre elas. Isso nos diz o quanto percentualmente o CAC foi maior na posteriori de B do que A.
  • Esta métrica possui o threshold of caring (TOC), que é a perda esperada máxima que seu experimento pode aceitar. Esse valor é definido de acordo com o negócio.

E(uplift|B): expected uplift, é a melhora esperada se escolhermos a campanha B como vencedora e ela realmente for melhor

  • Basicamente é o quanto você espera aumentar na sua conversão, no nosso caso, o quanto esperamos ter de diminuição de CAC. Para calcular isso basta subtrair as amostras aleatórias de A por B e dividir pelas amostras de A, depois tirar a média de todos os valores

Os resultados com nossos dados fictícios para cada métrica:

A forma como escolher quando parar o experimento é uma mistura das 3 métricas alinhadas com a necessidade do negócio. Você pode aceitar um TOC de perda esperada com no máximo X%, contando que ele tenha uma probabilidade maior que Y% e um uplift acima de Z%.

Velocidade dos testes

O motivo do teste bayesiano ser mais rápido que o frequentista é porque além de levar em conta a probabilidade de estar errado ele também considera o quanto este erro traz de perda. Isso faz com que o teste bayesiano seja mais tolerante a erros sem grande impacto enquanto o frequentista precisa encontrar a diferença estatística, necessitando de maior número de amostras.

O bayesiano vai observando a diferença crescer (ou não) a cada vez que recebe mais evidências, inferindo a probabilidade de um teste ser melhor que outro e dizendo a probabilidade de encontrar um vencedor.

Conclusão

Esse post foi para mostrar como o MASP nos ajuda na parte de experimentação, mas este framework vai além: ele aloca os valores entre campanhas, dia da semana e está a cada dia se desenvolvendo para ser nosso framework de experimentação não só para marketing, mas para nosso site também.

Por fim gostaria de mostrar a forma como acompanhamos os resultados do MASP, é simplesmente INCRÍVEL!

Internamente utilizamos o slack, uma ferramenta de comunicação onde temos canais para diversos temas. Para acompanhar os resultados dos experimentos, criamos um canal para acompanhá-los, fazendo uso de um bot (slackbot) que envia todo dia os resultados das nossas campanhas nesse canal às 9h. O slackbot envia o sumário dizendo o quanto uma campanha challenger está sendo melhor do que a de produção, qual o uplift até o dado momento e as outras métricas.

Esse é um momento em que se forma uma torcida sobre nossos experimentos, o canal é acompanhado por diversas pessoas de diferentes áreas, que resulta em algo assim:

Ficou com vontade de fazer parte da Loft?

Se inscreva nas nossas vagas! — https://jobs.lever.co/loft/

Referências

Bayesian A/B Testing at VWO

Bayesian A/B Testing with Python: the easy guide

Bayesian A/B testing — a practical exploration with simulations

Is Bayesian A/B Testing Immune to Peeking? Not Exactly

--

--