Encantra Journey — Customer Success
Módulo responsável por toda a jornada do cliente depois da venda: onboarding, adoção, expansão, renovação e advocacia.
Código em app/Modules/Journey/, schema em database/migrations/200_journey.sql.
O caminho 5A de Kotler no ciclo de vida
Em Marketing 4.0, Philip Kotler descreve o caminho do cliente em cinco As. A Encantra usa esse caminho como
espinha dorsal do Customer Success, mapeando cada A a um estágio do ciclo de vida da conta (accounts.lifecycle_stage):
| 5A (Kotler) | Estágio | O que o CS faz |
|---|---|---|
| Assimilação (Aware) | onboarding |
Kickoff, configuração e primeiro valor percebido (time-to-value). |
| Atração (Appeal) | adoption |
Uso recorrente, treinamento e hábito. |
| Arguição (Ask) | expansion |
Cliente explora mais: novos casos de uso, upsell e cross-sell. |
| Ação (Act) | renewal |
Recompra: renovação com valor comprovado (QBR, ROI). |
| Apologia (Advocate) | advocacy |
Cliente encantado recomenda: cases, depoimentos, indicações. |
at_risk e churned ficam fora do caminho e são tratados por regras e playbooks de recuperação.
A meta é o customer delight de Kotler: clientes satisfeitos ficam, clientes encantados recomendam.
Funcionalidades
- Painel CS (
/app/journey): MRR e MRR em risco, renovações em 90 dias, NPS, funil 5A, distribuição de saúde, contas que mais pioraram e tarefas do dia. - Contas (
/app/accounts) com filtros, segmentos salvos, exportação/importação CSV e visão 360º: gauge de saúde, ciclo de vida clicável, dimensões da saúde, uso do produto, linha do tempo, jornadas, tarefas, contatos, plano de sucesso, renovação/expansão, pesquisas e reuniões (QBR). Outros módulos acrescentam abas e painéis viaaccount.tabs/account.panels. - Contatos (
/app/contacts) com papéis (campeão, decisor, usuário, financeiro) e painéiscontact.panels. - Playbooks com passos (tarefa, e-mail automático, reunião, marco, pesquisa, espera) e quadro de jornadas em andamento.
- Tarefas/CTAs em quadro kanban ou lista (minhas, equipe, atrasadas).
- Renovações & expansão: pipeline kanban com previsão ponderada; renovação ganha avança a data de renovação e expansão ganha soma ao MRR.
- Pesquisas NPS/CSAT/CES com envio por segmento, página pública
/s/{token}com a marca do tenant e análise de temas pela Lumi. - Regras: quando saúde < X, detrator no NPS, renovação em N dias, sem uso há N dias, tickets abertos > N ou estágio = Y → iniciar playbook, criar tarefa, notificar ou enviar e-mail (com carência por conta).
- Lumi: resumo da conta, risco de churn, oportunidades e próximas melhores ações (convertíveis em tarefas).
Health score
Seis dimensões (0–100), ponderadas pelo modelo do workspace (/app/journey/settings):
| Dimensão | Fonte |
|---|---|
| Uso | usage_events (dias ativos em 30 dias, tendência vs. 30 dias anteriores, recência do último uso) |
| Suporte | Hooks::collect('account.signals') — support.open_tickets, support.sla_breaches_30d, support.csat_90d |
| NPS | última resposta NPS (180 dias) ou accounts.nps_last |
| Engajamento | recência da última interação com o cliente + clima da última reunião |
| Financeiro | proximidade da renovação sem oportunidade ganha, expansão aberta, MRR |
| Relacionamento | existência de campeão e decisor, proporção de contatos ativos |
Dimensões sem dados são ignoradas (pesos renormalizados); dimensões abaixo de 35 aplicam penalidade de "elo mais fraco".
Faixas padrão: saudável ≥ 70, neutro ≥ 50, em risco ≥ 30, crítico < 30. Recalculado de hora em hora (journey.health_recalc).
Integração com os demais módulos
- Emite:
account.created|updated|stage_changed|health_changed,contact.created,journey.started|completed,task.overdue,survey.responded. - Escuta:
tenant.created(cria modelo de saúde, 3 playbooks padrão (onboarding 30 dias, recuperação de risco, renovação), 3 regras e um NPS),account.created(onboarding automático),csat.received/survey.responded/ticket.sla_breached(recalcula a conta),usage.event_received(atualizalast_seen_atdo contato). - Hooks oferecidos:
app.home,search,usage.meters(accounts),settings.sections. - Agendamentos:
journey.health_recalc(15 * * * *) ejourney.scheduler(*/15 * * * *— passos automáticos e alertas de atraso).
Encontrou algo para melhorar? Escreva para master@inspire4u.com.br.