Cliente · Gerente de Renovações
Pega a renovação em risco — com a evidência — antes de você a perder.
Todos os dias o Gerente de Renovações percorre cada um dos seus clientes pagantes, reúne os sinais de faturamento, CRM e suporte em um único pacote de evidências, e decide se a conta está se expandindo, estável, em risco ou provável de dar churn — citando as faturas, estágios de negócio e threads exatos que moveram o veredito. Quando o veredito é em risco, ele rascunha um e-mail de retenção ancorado nessa mesma evidência e o coloca na sua fila. Você aprova cada envio.
De uma varredura diária a um e-mail de retenção rascunhado na sua fila
Varredura diária
06:00 UTC — percorre cada cliente pagante.
Constrói evidências
Stripe, CRM, suporte → um pacote.
Classifica e registra
Um veredito de 4 vias, citado, no diário.
Rascunha e você aprova
Um e-mail de retenção ou upsell espera na sua fila.
O mesmo ciclo roda para cada cliente monitorado, toda manhã — renovações automáticas mensais e contratos anuais por igual. O churn cai numa terça-feira; o assistente está olhando nessa terça, não 60 dias depois, quando a jogada de retenção já é um desconto.
Já roda o Monitor de Contas de Cliente? O Gerente de Renovações lê o diário de contas dele como mais um sinal — os dois combinam bem, mas cada um funciona por conta própria.
O contrato
O que ele faz sozinho, o que verifica com você, o que não toca.
Faz sozinho
- Varre cada cliente monitorado uma vez por dia — renovações automáticas mensais e contratos anuais por igual.
- Constrói um pacote de evidências por cliente a partir das fontes que você conecta — faturamento Stripe, estágios de negócio do CRM, sinais de suporte e uso.
- Classifica cada cliente como expansão / padrão / em risco / provável churn, com os IDs de fonte específicos que moveram o veredito.
- Acrescenta um parágrafo imutável por cliente por execução a um diário de contas — nunca sobrescrito, nunca excluído.
- Rascunha um e-mail de retenção (em risco) ou um e-mail de upsell (expansão) ancorado na mesma evidência citada.
Verifica com você primeiro
- Cada e-mail de retenção ou upsell rascunhado entra na fila para sua aprovação — nunca é enviado automaticamente. A aprovação está desativada por padrão.
- Quando a evidência é fraca ou ambígua, ele se abstém: classifica a conta como padrão, diz por quê, e a encaminha a você em vez de inventar uma história de churn.
- Se um e-mail rascunhado cita um número que não pode verificar contra a evidência, o e-mail é descartado e a linha é sinalizada para você.
- Quando a revisão de maior risco discorda de si mesma, a linha é exibida para uma decisão humana em vez de se resolver automaticamente.
Não toca
- Enviar um e-mail de retenção ou upsell a um cliente por conta própria — a decisão de enviar é sempre sua.
- Sobrepor-se às regras de janela de renovação — ele trabalha a cadência que você define, não a altera.
- Inventar uma thread do Slack, uma fatura ou um negócio que não viu — toda afirmação deve rastrear até um ID de fonte real ou a linha é rebaixada.
- Tomar a decisão de reter ou deixar dar churn — ele rascunha a jogada; decidir entre descontar, escalonar ou desistir é uma decisão humana.
- Automação de recuperação na página de cancelamento — essa é uma superfície diferente e não é o que esta função faz.
Matriz de capacidades completa do registro de funções
PROFICIENTE
- Daily 06:00 UTC scan of every paying customer 14-90 days from renewal. APScheduler IntervalTrigger(hours=24) advisory-locked at the system level (ADR-0019 pattern). Per-tenant fan-out queries monitored_customers WHERE days_to_renewal BETWEEN 14 AND 90 AND (last_run_at IS NULL OR last_run_at < NOW() - INTERVAL '23 hours'). The 23-hour skew is idempotency slack — yesterday at 06:00:00 vs today at 06:00:01 doesn't skip a customer.
- Source-anchored evidence with post-parse validation. Every claim in the diary entry, classification, and drafted email MUST cite a source_id that exists in the customer's input bundle. Unknown source_id → row rejected, classification forced to 'standard', severity 'LOW', abstain_reason 'source_validation_failed'. Anti-fabrication at the SCHEMA layer (ADR-0029 §3), not the prompt layer.
- Longitudinal account diary appended every run, append-only. customer_diary_entries is never updated, never deleted. After 6 months a tenant has 180 paragraphs of per-customer narrative that a Vitally rip-and-replace cannot backfill. The diary IS the time-based moat.
- Tier 3 cross-family supervisor on accounts >= $50K ARR. Worker (Sonnet 4.6) drafts; GPT-5 reads the 10-row batch output as a WHOLE and flags rows for revision; Gemini 2.5 tiebreaker fires on per-row classification disagreement. CLAUDE.md principle #3 made operational as a deterministic routing function, not a per-task judgment call (ADR-0029 §1).
- Batched 10-customer LLM calls grouped by route assignment. TIER1 / TIER2 / TIER3 customers chunked into route-homogeneous batches of 10. Supervisor reviews the 10-row batch as a whole to catch systematic drift (the worker drifted into doom-mode across 10 rows is detectable from batch shape; per-customer review can't see the pattern). Batch-of-50 fails empirically on Sonnet (attention contamination + 25K-output-token truncation); batch-of-10 is the council-verified sweet spot.
- Per-account drafted save / upsell email with anchor citations. drafted_email.anchors[] MUST be a subset of evidence[].source_id; a drafted email that cites a non-existent Slack thread becomes null and recommended_action drops to 'internal_alert'. Default auto_send=false — every draft sits in /app/renewal_hunter/inbox until the operator clicks Send.
- Weekly Monday digest of $ ARR in motion at 12:00 UTC. Separate scheduler job (12:00 UTC = 07:00 EST — the slot a human reads) summarising HIGH-severity accounts, total $ ARR at risk, top movers since last Monday, and the diary excerpts that justify each verdict. Source-anchored — no metric without its underlying source_id chain.
- Investigation depth — explicit signal citations, no opaque score. Output cites specific signals (stripe_invoice_4_late_in_q1, slack_thread_complaint_2025_12_03, hubspot_deal_stale_92_days) instead of emitting a single health-score float. Buyers in mid-market post-sale orgs have been burned by opaque scores; the citation is the unlock.
- Open factor-weight math, tenant-tunable in /app/renewal_hunter/settings. Four weights (payment_history / usage_trend / champion_status / support_sentiment) sum to 1.0, surface in the per-account drill-down UI, and write back to tenant_renewal_hunter_settings on POST. The model never hides the math — every classification shows which factor weight pushed it across the threshold.
- Internal LLM routing — 70/25/5 mix protects $79 Starter unit economics. route_customer() (ADR-0029 §1) selects Haiku / Sonnet / Sonnet+GPT-5+Gemini per customer per run deterministically from features computed BEFORE the LLM call. Distribution monitored via PostHog; drift outside 60-80 / 15-35 / 2-10 fires an alert. The TIER1 tail (~68% on Haiku 4.5) is the load-bearing cost-control primitive behind the 77% target gross margin on Starter.
ASSISTIDO
- Auto-send save / upsell emails (off by default, off-able per topic). Default auto_send=false — every drafted_email sits in the inbox until the operator clicks Send. Operator can flip auto_send on per route (e.g. low-severity expansion drafts on Growth tier and below) once they've reviewed ~30 drafts and trust the worker's tone. Enterprise + likely_churn always require operator approval regardless of auto_send setting.
- Severity transitions LOW → HIGH route every account through Tier 3. Any customer crossing into HIGH severity on this run gets the cross-family supervisor pass on its next batch — material score-move into the danger band is the second-most-expensive mistake-mode after enterprise account misclassification. Operator alerted in /app/renewal_hunter/inbox with the new + old diary entries side-by-side.
- Three-way supervisor disagreement on Tier 3 — operator review. When worker / supervisor / tiebreaker classifications all differ, the row flags for human review in /app instead of auto-resolving. Today: pick the worker's classification, log all three verdicts in the audit_log, surface the conflict in the per-account detail page. The deeper question — is a three-way disagreement evidence of an ambiguous account or a worker regression — needs >= 50 instances to answer.
- Source-validation failure rate > 5% triggers same-day operator review. Langfuse + PostHog wired: when the rolling-24h source_validation_failed rate exceeds 5%, a banner fires in /app/renewal_hunter/inbox and the founder is paged. Either the worker is regressing on schema discipline (prompt fix) or the bundle builder is dropping source_ids (code fix); either way the same-day investigation is on the operator.
RECUSADO
- Auto-send a save email to the customer without operator approval. Default auto_send=false; even with auto_send enabled, Enterprise (>=$50K ARR) and likely_churn classifications hard-gate on operator approval regardless of supervisor verdict. The decision to ship an in-flight save email to a $200K account is the operator's, not the worker's.
- Cancel-page widget or in-product save-offer surface. ChurnKey owns the cancel-page surface — when a customer clicks Cancel, ChurnKey shows the save offer in-product. We don't compete on the cancel page; we own the 90 days BEFORE it. Different product surface, different integration cost, different buyer. No plans to ship a cancel-page widget.
- Post-cancel win-back automation. Phase 3 territory (post-PMF). The bundle builder / router / diary primitives generalise, but the buyer for post-cancel win-back is a marketing-ops persona — different ICP than the CSM persona who buys Renewal Hunter. Deferred until a paying Renewal Hunter customer asks for the cross-sell.
- Mass-market B2C subscription save (Spotify / Netflix / consumer SaaS). Different product. B2C subscription save lives in 'why did this individual user pause' territory — a different signal set (usage frequency in app, payment-method failure, content consumption drop), a different output (in-product nudge, not a save email to the champion), a different price point ($0.10 per saved sub, not $79-$1,199 per month per tenant). We do B2B SaaS renewals where the deal has a champion.
- Champion job-change detection via PDL or LinkedIn (V0). Deferred to V1, behind the ADR-0026 data-provider gateway, after the first paying customer's vertical confirms the champion-quit signal is worth the PDL spend. V0 reads champion_status from HubSpot contact_lifecycle + Slack channel activity; PDL champion-quit is the canonical high-signal event but it's vertical-dependent and we don't light up speculative spend.
- Cohort-level analysis ('all SMB customers with NRR < 90%'). V0 ships per-account analysis only. Cohort queries land in V1 once a customer demonstrates the workflow that needs it. Vitally and Gainsight ship cohort dashboards; we don't compete on dashboard surface — we compete on per-account investigation depth. Per-account FIRST, cohort patterns SECOND.
O que você recebe
É assim que um veredito de em risco se parece.
Não uma única pontuação de saúde opaca — a classificação carrega a evidência exata por trás dela, e o e-mail de retenção rascunhado cita apenas o que essa evidência mostra. Nada chega ao cliente até você clicar.
Cliente · Northwind Labs
Em riscoARR
US$ 42.000 / ano
Renovação
Anual · em 38 dias
Evidência que o veredito cita
-
stripe:in_1Q4lateDuas faturas pagas com 11+ dias de atraso neste trimestre — ambas após uma nova tentativa de cobrança. -
hubspot:deal:88204Negócio de renovação parado há 41 dias em ‘Contrato Enviado’ — sem movimento de contato. -
slack:1714…threadCanal compartilhado: o campeão perguntou sobre opções de exportação, depois ficou em silêncio por 3 semanas.
A mesma evidência é escrita no diário da Northwind Labs como um parágrafo. Na próxima execução, é o contexto da execução anterior contra o qual o assistente raciocina.
Fila de aprovação · e-mail de retenção rascunhado
Aguardando sua aprovaçãoAssunto
Renovação da Northwind — uma rápida verificação antes da data do contrato
Oi — sua renovação acontece em cerca de cinco semanas e eu queria entrar em contato com antecedência, em vez de na data do contrato. Notei que as últimas faturas saíram um pouco atrasadas, e a dúvida sobre exportação do seu canal nunca recebeu uma resposta clara — gostaria de resolver as duas antes que isto renove. Conseguimos 20 minutos esta semana? Posso explicar as opções de exportação e garantir que o faturamento esteja configurado da forma que sua equipe precisa.
Cada detalhe deste rascunho rastreia até uma fonte citada. Um número que não pudesse ser verificado contra a evidência teria descartado o rascunho e sinalizado a linha.
Preços
Precificado por quantos clientes você monitora.
Uma única qualidade de análise em todos os níveis — o degrau de preço é o número de clientes que você monitora, não um modelo melhor. Teste de 14 dias, sem cartão. Cancele mensalmente.
What it replaces
Fazer isso internamente significa um salário completo, encargos e meses de adaptação — tudo para uma única função. A Ataski entrega o resultado desde o primeiro dia por um preço mensal fixo e previsível.
Qualidade de nível empresarial por uma fração de uma contratação. Aumente ou pause quando quiser: você só paga os meses que usar.
Team
$299 ≈ R$1,480 / mês
100 clientes monitorados
≈ $2.99 per customer monitored
- 100 clientes na varredura diária
- Diário por cliente, somente acréscimo
- Classificações com fonte citada
- E-mails de retenção / upsell rascunhados na sua fila
SaaS B2B em estágio seed colocando um monitoramento diário de renovações em toda a sua base pela primeira vez.
Escolher o TeamScale
$799 ≈ R$3,955 / mês
500 clientes monitorados
≈ $1.60 per customer monitored
- 500 clientes na varredura diária
- Tudo do Team
- Sinais de CRM do HubSpot + Salesforce
- Playbooks avançados de retenção
Série A — onde uma conta de porte médio retida paga pelo ano.
Escolher o ScaleBusiness
$2,499 ≈ R$12,370 / mês
2.000 clientes monitorados
≈ $1.25 per customer monitored
- 2.000 clientes na varredura diária
- Tudo do Scale
- Gravação de volta no CRM + escopo multiequipe
- SSO, exportação do registro de auditoria, DPA
Mid-market com uma equipe de CS e um processo de compras.
Escolher o BusinessEnterprise · Personalizado
Organizações de CS de alto volume que precisam de SLA, SAML, multientidade e residência regional de dados.
- · Clientes ilimitados monitorados
- · Tudo do Business
- · SAML, multientidade, residência de dados
- · Chaves de LLM próprias, sucesso dedicado
A contagem de clientes é a métrica de valor, não uma barreira rígida — a real salvaguarda de gasto é um limite de custo diário por cliente, então uma semana movimentada nunca gera uma fatura surpresa. O pré-pagamento anual tem desconto; pergunte na finalização da compra.
Configuração
Cerca de quinze minutos do login à primeira varredura.
-
01
Entre e ative. A lista de clientes monitorados e o diário de contas são provisionados no seu workspace automaticamente.
-
02
Conecte o Stripe — obrigatório. Cole uma chave de API restrita e somente leitura. Ela hidrata sua lista de clientes e é a única fonte sem a qual a função não funciona.
-
03
Conecte CRM e suporte — recomendado. HubSpot ou Salesforce, mais Slack ou uma ferramenta de suporte. Mais fontes, mais evidência; a função ainda funciona só com o Stripe.
-
04
Acompanhe sua fila. A primeira varredura diária roda no próximo tique de 06:00 UTC; e-mails de retenção e upsell rascunhados começam a chegar.
Página de configuração: /app/renewal_hunter/setup. Uma vez conectada, a função roda em /app/renewal_hunter/.
Por dentro
Como o roteamento e as salvaguardas funcionam.
- O roteamento mantém o preço honesto
- Contas calmas vão para um modelo rápido e de baixo custo; contas que se moveram para um modelo de raciocínio mais forte; as de maior risco para uma revisão completa entre fornecedores
- A revisão entre fornecedores
- Um modelo escreve o primeiro rascunho, um modelo independente de outro fornecedor o revisa, e um terceiro desempata apenas quando os dois realmente discordam.
- Ancorado na fonte
- Toda afirmação deve citar um ID de fonte no pacote de evidências — uma fonte citada que falta ao pacote força o veredito de volta a padrão; um número não verificável descarta o e-mail
- Salvaguarda de gasto
- Um limite de custo diário por cliente é a salvaguarda rígida — uma semana movimentada não pode gerar uma fatura surpresa
- Privacidade
- Cada workspace é isolado por segurança em nível de linha; um registro de auditoria somente acréscimo registra cada chamada de modelo, leitura externa e classificação
- Resumo semanal
- As renovações em andamento podem ser enviadas por e-mail ao responsável que você indicar, e ao Slack quando você o conectar
Coloque um monitoramento diário em cada renovação.
Entre, conecte o Stripe, e a primeira varredura roda no próximo tique de 06:00 UTC. E-mails de retenção rascunhados começam a chegar na sua fila — você aprova cada envio. Sem cartão para o teste de 14 dias; depois disso, US$ 299/mês no Team ou um nível superior.