drm-core 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/cli/index.js +396 -201
  2. package/package.json +1 -1
  3. package/scaffold/.drm-core/checklists/campanha-pre-launch.md +49 -0
  4. package/scaffold/.drm-core/checklists/compliance-google.md +46 -0
  5. package/scaffold/.drm-core/checklists/compliance-meta.md +49 -0
  6. package/scaffold/.drm-core/checklists/compliance-tiktok.md +46 -0
  7. package/scaffold/.drm-core/checklists/compliance-vsl.md +48 -0
  8. package/scaffold/.drm-core/checklists/copy-quality-gate.md +55 -0
  9. package/scaffold/.drm-core/checklists/funil-pre-launch.md +66 -0
  10. package/scaffold/.drm-core/checklists/whatsapp-compliance.md +49 -0
  11. package/scaffold/.drm-core/data/agent-config.yaml +220 -0
  12. package/scaffold/.drm-core/data/workflow-chains.yaml +374 -0
  13. package/scaffold/.drm-core/tasks/analise/diagnostico-funil.md +314 -0
  14. package/scaffold/.drm-core/tasks/compliance/revisar-ad-meta.md +242 -0
  15. package/scaffold/.drm-core/tasks/copy/escrever-ad-meta.md +191 -0
  16. package/scaffold/.drm-core/tasks/copy/escrever-email-sequence.md +237 -0
  17. package/scaffold/.drm-core/tasks/copy/escrever-msgs-whatsapp.md +220 -0
  18. package/scaffold/.drm-core/tasks/copy/escrever-pagina-vendas.md +276 -0
  19. package/scaffold/.drm-core/tasks/copy/escrever-vsl-full.md +235 -0
  20. package/scaffold/.drm-core/tasks/direcao-criativa/criar-conceito.md +249 -0
  21. package/scaffold/.drm-core/tasks/direcao-criativa/validar-criativo.md +202 -0
  22. package/scaffold/.drm-core/tasks/estrategia/criar-briefing.md +274 -0
  23. package/scaffold/.drm-core/tasks/estrategia/pesquisa-mercado.md +200 -0
  24. package/scaffold/.drm-core/tasks/funil/arquitetar-funil-vsl.md +228 -0
  25. package/scaffold/.drm-core/tasks/funil/fluxo-whatsapp-backend.md +291 -0
  26. package/scaffold/.drm-core/tasks/trafego/escalar-campanha.md +256 -0
  27. package/scaffold/.drm-core/tasks/trafego/montar-campanha-meta.md +303 -0
  28. package/scaffold/.drm-core/templates/ad-meta-template.md +391 -0
  29. package/scaffold/.drm-core/templates/avatar-template.md +468 -0
  30. package/scaffold/.drm-core/templates/briefing-estrategico-template.md +462 -0
  31. package/scaffold/.drm-core/templates/compliance-report-template.md +86 -0
  32. package/scaffold/.drm-core/templates/estrutura-campanha-template.md +492 -0
  33. package/scaffold/.drm-core/templates/funil-vsl-template.md +470 -0
  34. package/scaffold/.drm-core/templates/msgs-whatsapp-template.md +516 -0
  35. package/scaffold/.drm-core/templates/pagina-vendas-template.md +517 -0
  36. package/scaffold/.drm-core/templates/relatorio-template.md +313 -0
  37. package/scaffold/.drm-core/templates/vsl-curta-template.md +341 -0
  38. package/scaffold/.drm-core/templates/vsl-full-template.md +780 -0
  39. package/scaffold/.drm-core/templates/vsl-mini-template.md +360 -0
  40. package/scaffold/.drm-core/workflows/backend-whatsapp.yaml +395 -0
  41. package/scaffold/.drm-core/workflows/campanha-trafego.yaml +465 -0
  42. package/scaffold/.drm-core/workflows/copy-review-loop.yaml +333 -0
  43. package/scaffold/.drm-core/workflows/funil-vsl-completo.yaml +544 -0
  44. package/scaffold/.drm-core/workflows/lancamento-produto.yaml +402 -0
  45. package/scaffold/.drm-core/workflows/microlead-pipeline.yaml +408 -0
  46. package/scaffold/.drm-core/workflows/otimizacao-cycle.yaml +394 -0
  47. package/scaffold/.drm-core/workflows/reativacao-cycle.yaml +468 -0
@@ -0,0 +1,468 @@
1
+ # =============================================================================
2
+ # REATIVACAO CYCLE — Workflow de Reativacao (4 Fases)
3
+ # Pipeline: identificacao cohorts → estrategia por cohort → copy → execucao
4
+ # =============================================================================
5
+
6
+ workflow:
7
+ id: reativacao-cycle
8
+ name: "Ciclo de Reativacao"
9
+ version: "1.0"
10
+ description: >
11
+ Ciclo de reativacao de clientes e leads inativos. @cronos identifica
12
+ cohorts por tempo de inatividade, @atena define estrategia e oferta
13
+ por cohort, @apolo escreve sequencias de win-back por email e WhatsApp,
14
+ @temis valida compliance, @hermes configura retargeting, @cronos
15
+ mede resultados.
16
+
17
+ trigger: manual
18
+ estimated_duration: "3-5 dias uteis (setup) + 30 dias (execucao)"
19
+ priority: medium
20
+
21
+ # ---------------------------------------------------------------------------
22
+ # FASES
23
+ # ---------------------------------------------------------------------------
24
+ phases:
25
+ - phase_1: "Identificacao de Cohorts Inativos"
26
+ - phase_2: "Estrategia por Cohort"
27
+ - phase_3: "Copy de Reativacao"
28
+ - phase_4: "Execucao e Medicao"
29
+
30
+ # ---------------------------------------------------------------------------
31
+ # DEFINICAO DE COHORTS
32
+ # ---------------------------------------------------------------------------
33
+ cohort_definitions:
34
+ - cohort: "inativo_30d"
35
+ label: "Inativos 30 dias"
36
+ criteria: "Sem compra nos ultimos 30 dias"
37
+ sub_criteria:
38
+ - "Comprou mas nao recomprou"
39
+ - "Lead que nao converteu"
40
+ tamanho_esperado: "40-60% da base"
41
+
42
+ - cohort: "inativo_60d"
43
+ label: "Inativos 60 dias"
44
+ criteria: "Sem compra nos ultimos 60 dias"
45
+ sub_criteria:
46
+ - "Sem abrir email nos ultimos 30 dias"
47
+ - "Sem engajar WhatsApp nos ultimos 30 dias"
48
+ tamanho_esperado: "20-35% da base"
49
+
50
+ - cohort: "inativo_90d"
51
+ label: "Inativos 90 dias"
52
+ criteria: "Sem compra nos ultimos 90 dias"
53
+ sub_criteria:
54
+ - "Sem nenhuma interacao nos ultimos 60 dias"
55
+ - "Sem abrir email nos ultimos 60 dias"
56
+ tamanho_esperado: "10-20% da base"
57
+
58
+ - cohort: "email_frio"
59
+ label: "Email Frio"
60
+ criteria: "Sem abrir email nos ultimos 30 dias"
61
+ sub_criteria:
62
+ - "Ainda nao deu unsubscribe"
63
+ - "Email valido (nao bounced)"
64
+ tamanho_esperado: "30-50% da lista"
65
+
66
+ - cohort: "whatsapp_frio"
67
+ label: "WhatsApp Frio"
68
+ criteria: "Sem engajar WhatsApp nos ultimos 30 dias"
69
+ sub_criteria:
70
+ - "Numero valido"
71
+ - "Nao deu opt-out"
72
+ tamanho_esperado: "20-40% da lista"
73
+
74
+ # ---------------------------------------------------------------------------
75
+ # SEQUENCIA DE STEPS
76
+ # ---------------------------------------------------------------------------
77
+ sequence:
78
+
79
+ # =========================================================================
80
+ # FASE 1 — IDENTIFICACAO DE COHORTS INATIVOS (@cronos)
81
+ # =========================================================================
82
+ - step: identificar_cohorts
83
+ phase: 1
84
+ agent: "@cronos"
85
+ action: "*identificar-cohorts-inativos"
86
+ description: >
87
+ Analisa a base de clientes e leads para identificar cohorts
88
+ inativos. Segmenta por: tempo de inatividade (30d, 60d, 90d),
89
+ tipo de inatividade (sem compra, sem abrir email, sem engajar
90
+ WhatsApp), valor historico do cliente (LTV), ultimo produto
91
+ comprado.
92
+ inputs:
93
+ - "Base de clientes (CRM, gateway de pagamento)"
94
+ - "Metricas de email (opens, clicks por contato)"
95
+ - "Metricas de WhatsApp (respostas, engajamento)"
96
+ - "Historico de compras"
97
+ outputs:
98
+ - "docs/reativacao/cohorts-inativos.md"
99
+ - "docs/reativacao/cohorts-stats.md"
100
+ requires: null
101
+ next: analise_valor_cohort
102
+ on_failure: "Segmentar por tempo de inatividade apenas (sem LTV)"
103
+ validation:
104
+ type: checklist
105
+ criteria: >
106
+ Cohorts identificados com: quantidade por cohort, valor
107
+ medio do cliente (se disponivel), ultimo ponto de contato,
108
+ canal preferido, produto mais recente comprado.
109
+
110
+ - step: analise_valor_cohort
111
+ phase: 1
112
+ agent: "@cronos"
113
+ action: "*analisar-valor-cohorts"
114
+ description: >
115
+ Analisa valor potencial de cada cohort: receita estimada se
116
+ reativado, custo estimado de reativacao, ROI esperado por
117
+ cohort, prioridade de reativacao. Define quais cohorts
118
+ valem o investimento.
119
+ inputs:
120
+ - "docs/reativacao/cohorts-inativos.md"
121
+ - "docs/reativacao/cohorts-stats.md"
122
+ - "Custos de aquisicao originais (CAC historico)"
123
+ outputs:
124
+ - "docs/reativacao/analise-valor-cohorts.md"
125
+ requires: identificar_cohorts
126
+ next: estrategia_30d
127
+ on_failure: "Priorizar por tamanho do cohort"
128
+ validation:
129
+ type: checklist
130
+ criteria: >
131
+ Cada cohort com: receita potencial estimada, custo de
132
+ reativacao estimado, ROI esperado, prioridade (alta/media/baixa),
133
+ recomendacao (reativar/manter/limpar).
134
+
135
+ # =========================================================================
136
+ # FASE 2 — ESTRATEGIA POR COHORT (@atena)
137
+ # =========================================================================
138
+ - step: estrategia_30d
139
+ phase: 2
140
+ agent: "@atena"
141
+ action: "*estrategia-cohort-30d"
142
+ description: >
143
+ Define estrategia de reativacao para cohort 30 dias: oferta de
144
+ conteudo exclusivo (video, ebook, template premium). Abordagem
145
+ suave focada em valor — esses leads ainda estao quentes.
146
+ Tom: "sentimos sua falta, olha o que preparamos pra voce".
147
+ inputs:
148
+ - "docs/reativacao/analise-valor-cohorts.md"
149
+ - "docs/estrategia/avatar-profile.md (se existir)"
150
+ - "Catalogo de conteudos/recursos disponiveis"
151
+ outputs:
152
+ - "docs/reativacao/estrategia-30d.md"
153
+ requires: analise_valor_cohort
154
+ next: estrategia_60d
155
+ on_failure: "Usar conteudo existente reempacotado"
156
+ validation:
157
+ type: checklist
158
+ criteria: >
159
+ Estrategia com: oferta definida (conteudo exclusivo), canal
160
+ primario (email + WhatsApp), tom de comunicacao, sequencia
161
+ de touchpoints (3-5), metricas de sucesso (re-engajamento
162
+ rate, conversao), timeline (7 dias).
163
+ oferta_30d:
164
+ tipo: "Conteudo exclusivo / valor gratuito"
165
+ exemplos:
166
+ - "Video/aula exclusiva nao publicada"
167
+ - "Template/ferramenta util"
168
+ - "Ebook com conteudo premium"
169
+ - "Acesso antecipado a novo conteudo"
170
+ tom: "Valor-first, sem pressao de venda"
171
+
172
+ - step: estrategia_60d
173
+ phase: 2
174
+ agent: "@atena"
175
+ action: "*estrategia-cohort-60d"
176
+ description: >
177
+ Define estrategia de reativacao para cohort 60 dias: oferta de
178
+ desconto moderado (15-30%) no produto principal ou em produto
179
+ complementar. Abordagem mais direta com incentivo financeiro.
180
+ Tom: "oferta especial para voce voltar".
181
+ inputs:
182
+ - "docs/reativacao/analise-valor-cohorts.md"
183
+ - "docs/estrategia/oferta-completa.md (se existir)"
184
+ outputs:
185
+ - "docs/reativacao/estrategia-60d.md"
186
+ requires: estrategia_30d
187
+ next: estrategia_90d
188
+ on_failure: "Oferecer bonus extra em vez de desconto"
189
+ validation:
190
+ type: checklist
191
+ criteria: >
192
+ Estrategia com: oferta definida (desconto + justificativa),
193
+ percentual de desconto, produto alvo, canal primario,
194
+ sequencia de touchpoints (3-5), deadline da oferta,
195
+ metricas de sucesso.
196
+ oferta_60d:
197
+ tipo: "Desconto moderado com deadline"
198
+ exemplos:
199
+ - "15-30% de desconto no produto principal"
200
+ - "Produto complementar com desconto"
201
+ - "Upgrade com preco reduzido"
202
+ - "Bundle exclusivo por tempo limitado"
203
+ tom: "Oferta especial com urgencia moderada"
204
+
205
+ - step: estrategia_90d
206
+ phase: 2
207
+ agent: "@atena"
208
+ action: "*estrategia-cohort-90d"
209
+ description: >
210
+ Define estrategia de reativacao para cohort 90 dias: oferta
211
+ irrecusavel (maior desconto, bonus extras, condicao unica).
212
+ Ultima tentativa antes de considerar o lead perdido.
213
+ Tom: "ultima chance" com urgencia real.
214
+ inputs:
215
+ - "docs/reativacao/analise-valor-cohorts.md"
216
+ - "docs/estrategia/oferta-completa.md (se existir)"
217
+ outputs:
218
+ - "docs/reativacao/estrategia-90d.md"
219
+ requires: estrategia_60d
220
+ next: copy_email_reativacao
221
+ on_failure: "Considerar lista cleaning em vez de reativacao"
222
+ validation:
223
+ type: checklist
224
+ criteria: >
225
+ Estrategia com: oferta irrecusavel definida, justificativa
226
+ do desconto agressivo, deadline curto (48-72h), canais
227
+ multiplos (email + WhatsApp + retargeting), metricas,
228
+ plano para quem nao reativar (limpeza de lista).
229
+ oferta_90d:
230
+ tipo: "Oferta irrecusavel — ultima tentativa"
231
+ exemplos:
232
+ - "40-60% de desconto (maior possivel)"
233
+ - "Bonus exclusivos nao disponibilizados antes"
234
+ - "Condicao de pagamento especial"
235
+ - "Garantia estendida"
236
+ tom: "Urgencia real, ultima oportunidade, FOMO"
237
+ post_nao_reativacao: "Mover para lista fria / limpeza"
238
+
239
+ # =========================================================================
240
+ # FASE 3 — COPY DE REATIVACAO (@apolo)
241
+ # =========================================================================
242
+ - step: copy_email_reativacao
243
+ phase: 3
244
+ agent: "@apolo"
245
+ action: "*escrever-email-reativacao"
246
+ description: >
247
+ Escreve sequencias de email de reativacao para cada cohort.
248
+ Cada sequencia com 3-5 emails progressivos. Cohort 30d:
249
+ valor. Cohort 60d: desconto. Cohort 90d: ultima chance com
250
+ countdown e FOMO.
251
+ inputs:
252
+ - "docs/reativacao/estrategia-30d.md"
253
+ - "docs/reativacao/estrategia-60d.md"
254
+ - "docs/reativacao/estrategia-90d.md"
255
+ - "docs/estrategia/avatar-profile.md (se existir)"
256
+ outputs:
257
+ - "docs/reativacao/copy/emails-30d.md"
258
+ - "docs/reativacao/copy/emails-60d.md"
259
+ - "docs/reativacao/copy/emails-90d.md"
260
+ requires: estrategia_90d
261
+ next: copy_whatsapp_reativacao
262
+ on_failure: "Reduzir para 2 emails por cohort (abertura + ultima chance)"
263
+ validation:
264
+ type: checklist
265
+ criteria: >
266
+ Cada cohort com 3-5 emails: subject line, preview text,
267
+ body copy, CTA, timing entre emails, personalizacao com
268
+ variaveis (nome, ultimo produto, data ultima compra).
269
+ email_sequences:
270
+ cohort_30d:
271
+ emails: 3
272
+ tom: "Valor e reconexao"
273
+ progressao: "Valor → mais valor → convite suave"
274
+ cohort_60d:
275
+ emails: 4
276
+ tom: "Oferta e incentivo"
277
+ progressao: "Reconexao → oferta → lembrete → deadline"
278
+ cohort_90d:
279
+ emails: 5
280
+ tom: "Urgencia e ultima chance"
281
+ progressao: "Reconexao → oferta forte → countdown → last chance → despedida"
282
+ countdown: true
283
+ last_chance: true
284
+
285
+ - step: copy_whatsapp_reativacao
286
+ phase: 3
287
+ agent: "@apolo"
288
+ action: "*escrever-whatsapp-winback"
289
+ description: >
290
+ Escreve mensagens de WhatsApp win-back para cada cohort.
291
+ Mensagens curtas, pessoais, com variantes. Cohort 90d inclui
292
+ countdown e mensagem "last chance" com timer.
293
+ inputs:
294
+ - "docs/reativacao/estrategia-30d.md"
295
+ - "docs/reativacao/estrategia-60d.md"
296
+ - "docs/reativacao/estrategia-90d.md"
297
+ outputs:
298
+ - "docs/reativacao/copy/whatsapp-30d.md"
299
+ - "docs/reativacao/copy/whatsapp-60d.md"
300
+ - "docs/reativacao/copy/whatsapp-90d.md"
301
+ requires: copy_email_reativacao
302
+ next: compliance_reativacao
303
+ on_failure: "Focar WhatsApp apenas no cohort 90d (maior urgencia)"
304
+ validation:
305
+ type: checklist
306
+ criteria: >
307
+ Cada cohort com 2-3 mensagens WhatsApp: texto curto (max 300
308
+ chars), emojis estrategicos, variaveis de personalizacao,
309
+ formatacao WhatsApp, CTA claro, opt-out respeitado.
310
+ whatsapp_sequences:
311
+ cohort_30d:
312
+ mensagens: 2
313
+ conteudo: "Link para conteudo exclusivo + check-in"
314
+ cohort_60d:
315
+ mensagens: 2
316
+ conteudo: "Oferta com deadline + lembrete"
317
+ cohort_90d:
318
+ mensagens: 3
319
+ conteudo: "Oferta forte + countdown + last chance com timer"
320
+ countdown: true
321
+ timer_message: "{{nome}}, sua oferta expira em {{horas}} horas"
322
+
323
+ # =========================================================================
324
+ # FASE 4 — EXECUCAO E MEDICAO
325
+ # =========================================================================
326
+ - step: compliance_reativacao
327
+ phase: 4
328
+ agent: "@temis"
329
+ action: "*compliance-reativacao"
330
+ description: >
331
+ Revisao de compliance de todas as sequencias de reativacao:
332
+ LGPD (base legal para recontato), frequencia de envio,
333
+ mecanismo de opt-out, claims nas ofertas, WhatsApp policies.
334
+ inputs:
335
+ - "docs/reativacao/copy/emails-30d.md"
336
+ - "docs/reativacao/copy/emails-60d.md"
337
+ - "docs/reativacao/copy/emails-90d.md"
338
+ - "docs/reativacao/copy/whatsapp-30d.md"
339
+ - "docs/reativacao/copy/whatsapp-60d.md"
340
+ - "docs/reativacao/copy/whatsapp-90d.md"
341
+ outputs:
342
+ - "docs/reativacao/compliance/compliance-report.md"
343
+ - "docs/reativacao/compliance/alteracoes-obrigatorias.md"
344
+ requires: copy_whatsapp_reativacao
345
+ next: aplicar_compliance_reativacao
346
+ on_failure: "Bloquear envio ate compliance resolvido"
347
+ validation:
348
+ type: verdict
349
+ criteria: >
350
+ APROVADO: Todas as sequencias em compliance.
351
+ AJUSTES: Correcoes menores listadas.
352
+ BLOQUEADO: Violacoes de LGPD ou anti-spam criticas.
353
+ compliance_checks:
354
+ - "Base legal para recontato (LGPD Art. 7)"
355
+ - "Opt-out funcional em todo email"
356
+ - "Opt-out respeitado no WhatsApp"
357
+ - "Frequencia de envio dentro do aceitavel"
358
+ - "Claims de desconto verdadeiros (CDC)"
359
+ - "Countdown/timer com deadline real"
360
+ - "Dados pessoais usados com consentimento"
361
+
362
+ - step: aplicar_compliance_reativacao
363
+ phase: 4
364
+ agent: "@apolo"
365
+ action: "*aplicar-correcoes-reativacao"
366
+ description: >
367
+ Aplica correcoes de compliance nas sequencias de reativacao.
368
+ inputs:
369
+ - "docs/reativacao/compliance/alteracoes-obrigatorias.md"
370
+ - "Todos os assets de copy afetados"
371
+ outputs:
372
+ - "docs/reativacao/compliance/compliance-applied-log.md"
373
+ requires: compliance_reativacao
374
+ next: configurar_retargeting
375
+ on_failure: "Escalar para @temis re-revisao"
376
+ validation:
377
+ type: checklist
378
+ criteria: "Todas as correcoes aplicadas e documentadas."
379
+
380
+ - step: configurar_retargeting
381
+ phase: 4
382
+ agent: "@hermes"
383
+ action: "*configurar-retargeting-reativacao"
384
+ description: >
385
+ Configura campanhas de retargeting no Meta Ads para cada cohort:
386
+ Custom Audiences por cohort, criativos alinhados com a oferta
387
+ de cada cohort, bid strategy, budget por cohort, frequencia
388
+ controlada.
389
+ inputs:
390
+ - "docs/reativacao/estrategia-30d.md"
391
+ - "docs/reativacao/estrategia-60d.md"
392
+ - "docs/reativacao/estrategia-90d.md"
393
+ - "docs/reativacao/copy/emails-30d.md (para alinhamento de mensagem)"
394
+ outputs:
395
+ - "docs/reativacao/retargeting/campanha-retargeting.md"
396
+ - "docs/reativacao/retargeting/publicos-custom.md"
397
+ requires: aplicar_compliance_reativacao
398
+ next: medir_resultado_reativacao
399
+ on_failure: "Focar retargeting apenas no cohort 90d"
400
+ validation:
401
+ type: checklist
402
+ criteria: >
403
+ Campanha com: Custom Audience por cohort, criativos alinhados
404
+ com oferta do cohort, bid strategy conservadora (cohort frio =
405
+ bid mais baixo), frequencia max 2/semana, budget proporcional
406
+ ao valor do cohort, exclusoes entre cohorts.
407
+
408
+ - step: medir_resultado_reativacao
409
+ phase: 4
410
+ agent: "@cronos"
411
+ action: "*medir-resultado-reativacao"
412
+ description: >
413
+ Mede resultado das campanhas de reativacao apos 30 dias:
414
+ taxa de reativacao por cohort, receita recuperada, custo de
415
+ reativacao, ROI por cohort, leads que devem ser limpos da base.
416
+ inputs:
417
+ - "docs/reativacao/cohorts-stats.md (baseline)"
418
+ - "Metricas de email (opens, clicks, conversoes por cohort)"
419
+ - "Metricas de WhatsApp (respostas, conversoes por cohort)"
420
+ - "Metricas de retargeting (impressoes, cliques, conversoes)"
421
+ - "Receita atribuida a reativacao"
422
+ outputs:
423
+ - "docs/reativacao/resultado-reativacao.md"
424
+ - "docs/reativacao/recomendacoes-pos-ciclo.md"
425
+ requires: configurar_retargeting
426
+ next: null
427
+ on_failure: "Gerar report parcial com dados disponiveis"
428
+ validation:
429
+ type: checklist
430
+ criteria: >
431
+ Report com: taxa de reativacao por cohort, receita recuperada
432
+ total, custo total da campanha, ROI por cohort, comparacao
433
+ com benchmark, recomendacoes (quais cohorts continuar, quais
434
+ limpar), aprendizados para proximo ciclo.
435
+ metricas_report:
436
+ por_cohort:
437
+ - "Taxa de reativacao (%)"
438
+ - "Receita recuperada (R$)"
439
+ - "Custo de reativacao (R$)"
440
+ - "ROI do cohort"
441
+ - "Canal mais efetivo (email/WhatsApp/retargeting)"
442
+ global:
443
+ - "Total reativado"
444
+ - "Receita total recuperada"
445
+ - "ROI global do ciclo"
446
+ - "Leads para limpeza de base"
447
+ recomendacoes:
448
+ - "Cohorts para proximo ciclo"
449
+ - "Ofertas que funcionaram melhor"
450
+ - "Canais mais efetivos por cohort"
451
+ - "Frequencia ideal de ciclos de reativacao"
452
+
453
+ # ---------------------------------------------------------------------------
454
+ # CONFIGURACAO GLOBAL
455
+ # ---------------------------------------------------------------------------
456
+ config:
457
+ cohort_periods: [30, 60, 90]
458
+ measurement_period: "30 dias"
459
+ compliance_blocking: true
460
+ multi_channel: true
461
+ channels: ["email", "whatsapp", "retargeting"]
462
+ cycle_frequency: "trimestral"
463
+
464
+ failure_handling:
465
+ global_escalation: "@atena"
466
+ max_retries_per_step: 2
467
+ on_critical_failure: "Pausar envios, preservar lista, notificar usuario"
468
+ on_lgpd_violation: "BLOQUEAR IMEDIATAMENTE — risco legal"