tldr.title
Como o modelo de fadiga de notificações em 4 níveis da Soulwise usa uma janela móvel de taxa de abertura de 14 dias para reduzir, fixar ou pausar notificações antes que os usuários desativem de vez.
Como o modelo de fadiga de notificações em 4 níveis da Soulwise usa uma janela móvel de taxa de abertura de 14 dias para reduzir, fixar ou pausar notificações antes que os usuários desativem de vez.

Como o modelo de fadiga de notificações em 4 níveis da Soulwise usa uma janela móvel de taxa de abertura de 14 dias para reduzir, fixar ou pausar notificações antes que os usuários desativem de vez.
Um modelo de fadiga de push detecta quando um usuário abre menos notificações de um app e reduz automaticamente o volume antes que ele desative tudo por completo. O Soulwise usa um modelo de 4 níveis T0 saudável, T1 rebaixar, T2 apenas âncora, T3 apenas semanal ancorado a uma janela móvel de taxa de abertura de 14 dias.
As notificações push são o jeito mais barato de perder um usuário. A curva de retenção com 1 push por dia parece tranquila — dados do setor da Localytics e da Urban Airship se concentram em torno de 88 por cento de retenção em três meses. Com 3 pushes por dia, a curva cai 17 pontos percentuais. Com 5 pushes por dia, ela cai 34. O formato é abrupto e irreversível: 46 por cento dos usuários cancelam totalmente as notificações push quando um app envia de 2 a 5 pushes por semana que eles não querem.
A resposta da Soulwise é um modelo de fadiga em 4 níveis. Ele detecta a queda na taxa de abertura ao longo de uma janela móvel de 14 dias e reduz progressivamente o volume de notificações antes que o usuário cancele de vez.
Este post percorre o design, os limites e a lógica de recuperação.
A máquina de estados é simples. Cada usuário está em exatamente um nível por vez.
A ordem importa. O meio da manhã é o primeiro a sair porque carrega o menor peso de evento: é uma cutucada contextual, não parte do ritual diário em si. O lembrete matinal é preservado por mais tempo porque os envios diários ancorados em eventos geram cerca de 2.85x a retenção dos genéricos; eliminá-lo acaba com o app.
Uma janela móvel de 14 dias com dados de taxa de abertura por usuário. A cada dia, o modelo analisa os últimos 14 dias e calcula a taxa de abertura do usuário para as notificações push enviadas durante essa janela.
O limite da Soulwise é uma queda de 30 por cento na taxa de abertura em relação à linha de base pessoal do usuário. Se um usuário normalmente abre 60 por cento das push e a janela móvel cai para 42 por cento ou menos, o modelo o move para um tier abaixo. A queda precisa persistir por pelo menos 3 dias para evitar reagir a uma única semana ruim (umas férias, uma doença, uma semana pesada no trabalho).
A promoção é simétrica. Se um usuário está em T2 e a taxa de abertura sobe novamente acima da linha de base menos o limite de 30 por cento por 3 dias consecutivos, ele sobe para T1. A recuperação para T0 segue o mesmo passo.
O dado da Localytics / Urban Airship que orienta todo o design: notificações diárias ancoradas em eventos geram cerca de 2.85x mais retenção do que notificações diárias genéricas. Um "dá um alô pra gente!" genérico às 9h da manhã é facilmente esquecível. Já um lembrete matinal ancorado na fase real do ciclo de hoje ("Começo tranquilo. O que você tem pela frente hoje?") é ancorado em evento — traz uma informação nova.
O T2 mantém o lembrete matinal porque, sem ele, todo o ritual diário desaparece. Tudo o mais no app é construído em torno do usuário entrar uma vez de manhã e uma vez à noite. Sem o lembrete, o ciclo se quebra.
Quando um usuário é rebaixado, o app exibe um pequeno banner dentro do aplicativo na próxima vez que ele o abrir:
"A gente diminuiu o ritmo por 7 dias - quer aumentar de novo?"
Essa frase faz três coisas: reconhece a mudança, atribui o ocorrido ao comportamento do app (não a uma falha do usuário) e oferece autonomia. O usuário pode reverter o rebaixamento com um único toque, caso queira as notificações de volta.
Isso importa porque um rebaixamento silencioso passa a sensação de que o app abandonou o usuário. Já um rebaixamento explícito transmite cuidado. A mesma ação, com um enquadramento diferente.
A especificação do produto é explícita sobre o que é proibido:
O modelo armazena o estado de cada usuário com três campos:
tier: 'T0' | 'T1' | 'T2' | 'T3'
rolling_open_rate_14d: 0.0 to 1.0
baseline_open_rate: 0.0 to 1.0 (computed from first 30 days)
last_tier_change_at: timestamp
Esse é o estado de fadiga por completo. Sem histórico de navegação, sem pontuação de engajamento além da taxa de abertura, sem nenhum modelo de machine learning treinado no usuário. A simplicidade é justamente o ponto: as regras são auditáveis, os limites são documentados e as consequências para a experiência são previsíveis.
Uma observação sobre o escopo.
O modelo de fadiga é por usuário, não por grupo. A gente não olha para "usuários como você" nem roda experimentos que rebaixam usuários para aprender sobre retenção. O modelo serve ao indivíduo.
Ele também não substitui as configurações controladas pelo usuário. Horário de silêncio, silenciamento por categoria e a opção de desativar todas as notificações funcionam de forma independente do modelo de fadiga. Os dois sistemas se complementam; a escolha explícita do usuário sempre prevalece sobre a inferência do modelo.
As notificações push são o que mantém um ritual diário realmente diário. Um app de check-in que perde o privilégio do push perde seu principal ciclo de retenção. O modelo de 4 níveis existe justamente para que o app não abuse desse privilégio e acabe perdendo aos poucos — sendo só um pouquinho irritante por tempo suficiente.
O contexto completo do ritual diário fica no hub do Soulwise. O modelo de fadiga é uma das razões pelas quais o ritual continua recíproco, em vez de exigente.
A versão mais curta: o número certo de pushes é o maior número que não faz a pessoa desativar tudo. O modelo de fadiga é como o app encontra esse número, para cada usuário, a cada 14 dias.
Dados de mercado da Localytics e da Urban Airship: uma notificação por dia se relaciona a cerca de 88% de retenção em três meses. Três notificações por dia derrubam esse número em 17 pontos percentuais. Cinco notificações por dia o derrubam em 34 pontos percentuais. A queda é acentuada.
A cada dia o modelo recalcula a taxa de abertura do usuário ao longo dos últimos 14 dias. A janela desliza para frente; os dados mais antigos vão ficando para trás. Isso identifica rapidamente um desengajamento recente sem reagir de forma exagerada a uma única semana ruim.
Sim. Se as taxas de abertura voltarem a subir acima do limite dentro da janela móvel, o usuário sobe de novo. O modelo é simétrico. A queda rebaixa, a recuperação promove.
Um sistema de notificações ingênuo que envia o volume máximo independentemente do engajamento. Dados de mercado mostram que 46% dos usuários desativam totalmente as notificações quando recebem de 2 a 5 notificações por semana de um app que não querem de verdade. O modelo de fadiga existe para que essa desativação nunca aconteça.
Dados do setor da Localytics e da Urban Airship: uma notificação por dia se relaciona a uma retenção de cerca de 88% em três meses. Três notificações por dia reduzem isso em 17 pontos percentuais. Cinco notificações por dia reduzem em 34 pontos percentuais. A queda é acentuada.
A cada dia, o modelo recalcula a taxa de abertura do usuário nos últimos 14 dias. A janela avança; os dados mais antigos saem do cálculo. Isso identifica rapidamente uma queda recente de engajamento sem reagir de forma exagerada a uma única semana ruim.
Sim. Se as taxas de abertura voltarem a subir acima do limite dentro da janela móvel, o usuário sobe de nível novamente. O modelo é simétrico. A queda rebaixa, a recuperação promove.
Um sistema de notificações ingênuo que envia o volume máximo independentemente do engajamento. Dados do setor mostram que 46% dos usuários desativam totalmente as notificações quando recebem de 2 a 5 notificações por semana de um app que não querem ativamente. O modelo de fadiga existe para que esse cancelamento nunca aconteça.
blog.toolsCta.subtitle