Modelo de Negócio — Assinatura Ciba¶
Data: 2026-02-28 Status: Definido, aguardando implementação Câmbio de referência: USD 1 = BRL 5,20
Visão Geral¶
Ciba é um SaaS multi-tenant de atendimento via WhatsApp com IA. O modelo de assinatura é modular: o tenant monta sua configuração escolhendo componentes independentes.
Público-alvo: Empresas de qualquer segmento que precisam centralizar, automatizar e gerir atendimento via WhatsApp.
Proposta de valor em duas camadas:
- Plataforma — centralizar conversas, atender manualmente, organizar, dashboards, knowledge base, escalação, histórico, gestão de equipe. Tem valor mesmo sem IA.
- IA — respostas automatizadas via LLM. Custo por uso, cobrado via créditos.
Modelo de Pricing¶
Modelo Único¶
Não existem planos fixos (Starter, Pro, etc). O tenant monta sua assinatura escolhendo:
- Quantas instâncias WhatsApp precisa
- Quantos agentes extras (além dos 2 inclusos)
- Qual pacote de créditos de IA por mês
- Add-ons de conteúdo individuais se precisar de mais (KB, steps, anexos, FAQs)
- Usuários extras se necessário (além de inst × 2)
Componentes da Assinatura¶
| Componente | Preço/mês | USD equiv. | Observação |
|---|---|---|---|
| Instância WhatsApp | R$ 52,00/un | $10,00 | Infraestrutura — inclui 2 usuários por instância |
| Agente extra | R$ 26,00/un | $5,00 | Além dos 2 inclusos — contribui ao pool de conteúdo |
| Usuário extra | R$ 13,00/un | $2,50 | Além dos inclusos (inst × 2) |
| Add-on de conteúdo | R$ 10,00/bloco | $2,00 | Individual por recurso, stackável (ver tabela) |
Pool de Conteúdo¶
Todo conteúdo (KB, steps, anexos, FAQs) é gerido como pool do tenant — um total compartilhado que o tenant distribui livremente entre seus agentes.
Fórmula:
Contribuição por Agente (incluindo os 2 grátis)¶
| Recurso | Por agente |
|---|---|
| KB docs | +5 |
| Steps | +5 |
| Anexos | +100 MB |
| FAQs | +100 |
Add-ons de Conteúdo (compra individual, stackável)¶
Cada add-on é independente — o tenant compra só o que precisa, quantos blocos quiser:
| Add-on | Por bloco | Preço/bloco/mês (BRL) | Preço/bloco/mês (USD) |
|---|---|---|---|
| +KB docs | 5 docs | R$ 10 | $2,00 |
| +Steps | 5 steps | R$ 10 | $2,00 |
| +Anexos | 200 MB | R$ 10 | $2,00 |
| +FAQs | 100 FAQs | R$ 10 | $2,00 |
Escala Natural (sem add-ons)¶
| Agentes | KB docs | Steps | Anexos | FAQs |
|---|---|---|---|---|
| 2 (inclusos) | 10 | 10 | 200 MB | 200 |
| 4 (+2 extras) | 20 | 20 | 400 MB | 400 |
| 6 (+4 extras) | 30 | 30 | 600 MB | 600 |
| 10 (+8 extras) | 50 | 50 | 1 GB | 1.000 |
Créditos de IA — Pacotes Mensais¶
Incluídos na assinatura, renovam todo mês:
| Créditos/mês | Preço/mês (BRL) | Preço/mês (USD) | Por crédito (BRL) | Por crédito (USD) | Desconto |
|---|---|---|---|---|---|
| 1.000 | R$ 200 | $38,46 | R$ 0,20 | $0,038 | — |
| 5.000 | R$ 950 | $182,69 | R$ 0,19 | $0,037 | 5% |
| 10.000 | R$ 1.800 | $346,15 | R$ 0,18 | $0,035 | 10% |
| 20.000 | R$ 3.400 | $653,85 | R$ 0,17 | $0,033 | 15% |
| 50.000 | R$ 8.000 | $1.538,46 | R$ 0,16 | $0,031 | 20% |
Créditos de IA — Add-ons Avulsos¶
Compra única, soma ao saldo imediatamente (preço premium por ser sob demanda):
| Créditos | Preço (BRL) | Preço (USD) | Por crédito (BRL) | Por crédito (USD) | Equiv. mensal +10% |
|---|---|---|---|---|---|
| 1.000 | R$ 220 | $42,31 | R$ 0,22 | $0,042 | R$ 0,20 + 10% |
| 5.000 | R$ 1.050 | $201,92 | R$ 0,21 | $0,040 | R$ 0,19 + 10% |
| 10.000 | R$ 1.980 | $380,77 | R$ 0,20 | $0,038 | R$ 0,18 + 10% |
| 20.000 | R$ 3.740 | $719,23 | R$ 0,19 | $0,037 | R$ 0,17 + 10% |
O Que é um Crédito de IA¶
1 crédito = 1 resposta gerada pela IA e enviada ao cliente.
Inclui todas as operações necessárias para gerar aquela resposta:
| Operação | Conta como crédito? | Motivo |
|---|---|---|
| Resposta de texto da IA | Sim | É o core |
| Resposta com vision (imagem) | Sim | É uma resposta ao cliente |
| Transcrição de áudio (Whisper) + resposta | Sim (1 crédito total) | Faz parte da resposta |
| Query rewrite (RAG interno) | Não | Operação interna, transparente |
| Embedding (busca na KB) | Não | Operação interna |
| Intent classification | Não | Operação interna |
| Prompt optimization | Não | Operação de setup do agente |
Pipeline de IA por Mensagem¶
Cada mensagem do usuário passa por até 6 etapas de IA:
| Etapa | Modelo | Sempre executa? |
|---|---|---|
| IntentClassification | claude-haiku-4-5 | Sim (configurável) |
| QueryRewrite | gpt-4o-mini | Sim (configurável) |
| Embedding | text-embedding-3-small | Sim |
| Chat | claude-haiku-4-5 | Sim |
| Transcription | whisper-1 | Só com áudio |
| Vision | claude-sonnet-4-5 | Só com imagem |
Custo Real por Crédito (dados medidos)¶
Modelo padrão: Claude Haiku 4.5 (mesmo para todos os tenants).
| Operação | Modelo | Input Tokens | Output Tokens | Custo (USD) |
|---|---|---|---|---|
| Chat | claude-haiku-4-5 | ~3.400 | ~145 | $0,004088 |
| IntentClassification | claude-haiku-4-5 | ~290 | ~22 | $0,000402 |
| QueryRewrite | gpt-4o-mini | ~346 | ~3 | $0,000054 |
| Embedding | text-embedding-3-small | ~5 | 0 | $0,000000 |
| Total por crédito | ~$0,0045 |
Custo base por crédito: ~$0,0045 USD / ~R$ 0,024 BRL (sem cache).
Operações Opcionais (inclusas no mesmo crédito)¶
| Operação | Modelo | Custo adicional |
|---|---|---|
| Transcription (30s áudio) | whisper-1 | ~$0,0002 |
| Transcription (60s áudio) | whisper-1 | ~$0,0006 |
| Vision (imagem) | claude-sonnet-4-5 | ~$0,003 - $0,005 |
Todos os Modelos de IA Utilizados¶
Preços em USD/1M tokens. Fonte: LlmPricingConfig.cs.
| Operação | Modelo | Input | Output |
|---|---|---|---|
| Chat | claude-haiku-4-5 | $1,00 | $5,00 |
| IntentClassification | claude-haiku-4-5 | $1,00 | $5,00 |
| Vision | claude-sonnet-4-5 | $3,00 | $15,00 |
| Transcrição | whisper-1 | $6,00 (~$0,006/min) | — |
| Query rewrite | gpt-4o-mini | $0,15 | $0,60 |
| Embedding | text-embedding-3-small | $0,02 | — |
| Chunking | gpt-4.1 | $2,00 | $8,00 |
| Prompt optimization | claude-sonnet-4-5 | $3,00 | $15,00 |
Otimizações Possíveis¶
- Ativar prompt cache no Haiku: engordar system prompt para >4.096 tokens (~650 tokens a mais). Custo cai ~50% (~$0,0023 / ~R$ 0,012 por crédito).
- Trocar Chat para gpt-4o-mini: custo cai ~75% (~$0,0011 / ~R$ 0,006 por crédito), mas qualidade inferior. Testar com o prompt antes.
Exemplos de Configuração¶
| Perfil | Inst | Agentes | Add-ons conteúdo | Créditos | KB | Steps | Anexos | FAQs | Users | Preço/mês (BRL) | Preço/mês (USD) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Pizzaria pequena | 1 | 2 (free) | — | 1k | 10 | 10 | 200 MB | 200 | 2 | R$ 252 | $48 |
| Pizzaria c/ + KB | 1 | 2 (free) | +2 blocos KB | 1k | 20 | 10 | 200 MB | 200 | 2 | R$ 272 | $52 |
| Clínica médica | 1 | 4 (+2) | +1 bloco steps | 5k | 20 | 25 | 400 MB | 400 | 2+2 extras | R$ 1.090 | $210 |
| Loja 2 números | 2 | 4 (+2) | — | 5k | 20 | 20 | 400 MB | 400 | 4 | R$ 1.106 | $213 |
| Rede 5 lojas | 5 | 10 (+8) | +3 KB, +2 anexos | 20k | 65 | 50 | 1,4 GB | 1.000 | 10 | R$ 3.918 | $753 |
| Empresa grande | 15 | 20 (+18) | +5 KB, +3 anexos | 50k | 125 | 100 | 2,6 GB | 2.000 | 30+5 extras | R$ 9.393 | $1.807 |
Análise de Margem¶
Custo por crédito de IA: ~$0,0045 / ~R$ 0,024 (Haiku 4.5, sem cache). Utilização média esperada: 65% da franquia.
Custos de infra (add-ons de conteúdo) são desprezíveis:
| Recurso | Custo real/bloco | Cobra/bloco | Margem |
|---|---|---|---|
| 5 KB docs | ~R$ 0,05 (embeddings) | R$ 10 | ~99,5% |
| 5 Steps | ~R$ 0,00 (DB rows) | R$ 10 | ~100% |
| 200 MB Anexos | ~R$ 0,02 (R2 storage) | R$ 10 | ~99,8% |
| 100 FAQs | ~R$ 0,00 (texto) | R$ 10 | ~100% |
| Config | Receita (BRL) | Custo IA 65% (BRL) | Custo infra (BRL) | Custo total (BRL) | Margem |
|---|---|---|---|---|---|
| 1 inst + 2 ag + 1k cred | R$ 252 | R$ 15,60 | ~R$ 26 | ~R$ 42 | ~83% |
| 1 inst + 4 ag + 5k cred | R$ 1.054 | R$ 78,00 | ~R$ 26 | ~R$ 104 | ~90% |
| 5 inst + 10 ag + 20k cred | R$ 3.868 | R$ 312,00 | ~R$ 78 | ~R$ 390 | ~90% |
| 15 inst + 20 ag + 50k cred | R$ 9.348 | R$ 780,00 | ~R$ 156 | ~R$ 936 | ~90% |
Margens equilibradas em ~83-90% com utilização de 65%. Com 100% de utilização, margem cai para ~72-85% (ainda muito saudável).
Ciclo de Vida da Assinatura¶
Ativo
├── Créditos acumulam mês a mês
├── Renovação: soma franquia ao saldo existente
├── Compra add-on: soma ao saldo imediatamente
├── Ajuste de plano: altera configuração a qualquer momento
│
└── Venceu (não pagou)
│
├── GRACE OPERACIONAL (24 horas)
│ ├── IA parada (não consome créditos)
│ ├── Mensagens ainda chegam e são armazenadas
│ ├── Sistema funciona em modo limitado
│ │
│ ├── Reativou dentro de 24h → volta ao normal
│ │
│ └── 24h expirou → SUSPENSÃO
│ ├── Instâncias WhatsApp desconectadas
│ ├── Reconexão bloqueada
│ └── UI travada (só tela de assinatura acessível)
│
└── GRACE DE CRÉDITOS (30 dias após suspensão)
├── Saldo de créditos preservado por 30 dias
│
├── Reativou em até 30 dias → saldo intacto
│
└── 30 dias expirou → SALDO ZERADO
└── Reativou depois → começa com franquia nova, saldo zero
Estados da Assinatura¶
| Estado | Sistema | IA | Créditos | Instâncias |
|---|---|---|---|---|
| Active | Funciona | Responde | Acumulam | Conectadas |
| AiQuotaExhausted | Funciona | Parada | Saldo = 0, aguardando renovação ou add-on | Conectadas |
| PastDue (grace 24h) | Funciona (limitado) | Parada | Preservados | Conectadas |
| Suspended (após 24h) | UI travada | Parada | Preservados (até 30 dias) | Desconectadas |
| Cancelled (após 30 dias) | UI travada | Parada | Zerados | Desconectadas |
Comportamento por Estado¶
Active¶
- Tudo funciona normalmente
- Créditos são consumidos a cada resposta da IA
AiQuotaExhausted (créditos zerados, assinatura ativa)¶
- Sistema funciona 100% (chat manual, dashboards, KB, tudo)
- IA simplesmente não responde
- Mensagens do WhatsApp continuam chegando
- Operador pode atender manualmente
- Painel mostra alerta: "Créditos de IA esgotados — compre mais ou aguarde a renovação"
- Tenant pode comprar add-on avulso para restaurar IA imediatamente
PastDue (assinatura vencida, dentro das 24h de grace)¶
- Sistema funciona em modo limitado
- IA parada
- Mensagens ainda chegam e são armazenadas
- Alerta: "Sua assinatura venceu. Renove para manter o serviço."
Suspended (após 24h sem pagamento)¶
- Instâncias WhatsApp desconectadas automaticamente
- Reconexão bloqueada
- UI completamente travada — só tela de assinatura/pagamento acessível
- Créditos preservados por até 30 dias
Cancelled (após 30 dias de suspensão)¶
- Mesmo que Suspended, mas créditos zerados
- Reativação começa do zero (nova franquia, sem saldo anterior)
Regras de Negócio¶
Créditos¶
- Créditos acumulam a cada renovação (saldo existente + franquia do plano)
- Add-ons avulsos de créditos somam ao saldo imediatamente
- Créditos não expiram enquanto assinatura está ativa
- Créditos são preservados por 30 dias após suspensão
- Após 30 dias de suspensão, saldo zera
Agentes¶
- Todo tenant começa com 2 agentes inclusos (grátis)
- Agentes extras custam R$ 26/mês cada
- Cada agente (incluso ou extra) contribui ao pool de conteúdo do tenant
Pool de Conteúdo¶
- KB docs, steps, anexos e FAQs são pool do tenant — distribuídos livremente entre agentes
- Total = (total_agentes × contribuição) + add-ons comprados
- Add-ons de conteúdo são individuais por recurso — tenant compra só o que precisa
- Add-ons são stackáveis — pode comprar N blocos do mesmo recurso
- Ao tentar criar recurso além do limite, sistema bloqueia com mensagem clara
Usuários¶
- Cada instância inclui 2 usuários
- Usuários extras custam R$ 13,00/mês cada
Assinatura¶
- Renovação é mensal
- Tenant pode ajustar configuração a qualquer momento (instâncias, agentes, add-ons, créditos)
- Ajustes entram em vigor imediatamente (pró-rata ou no próximo ciclo — a definir na implementação)
- Não existe cobrança de excedente — franquia acabou, IA para
Retenção de Dados¶
- Histórico de conversas fica disponível enquanto assinatura ativa — sem limite de retenção
- Conversas não são apagadas durante suspensão (30 dias de grace)
- Após cancelamento definitivo — política de retenção de dados a definir
Pontos de Enforcement (onde o sistema valida limites)¶
| Ponto | O que valida | Ação ao atingir limite |
|---|---|---|
| Webhook pipeline (nova mensagem) | Créditos > 0 E assinatura ativa | Não gera resposta IA, mensagem chega normalmente |
| Aggregation pipeline (antes da IA) | Créditos > 0 | Skip AI response, mensagens persistem |
| Criar agente | Count < 2 + agentes_extras_contratados | Bloqueia com mensagem de upgrade |
| Criar instância | Assinatura permite | Bloqueia com mensagem de upgrade |
| Criar usuário | Count < (inst × 2) + extras | Bloqueia com mensagem de upgrade |
| Criar KB doc | Count < pool total KB | Bloqueia com mensagem de upgrade |
| Criar step | Count < pool total steps | Bloqueia com mensagem de upgrade |
| Upload anexo | Tamanho total < pool total anexos | Bloqueia com mensagem de upgrade |
| Criar FAQ | Count < pool total FAQs | Bloqueia com mensagem de upgrade |
| Conectar instância | Assinatura ativa (não suspensa) | Bloqueia reconexão |
| Acessar UI | Assinatura não suspensa | Redireciona para tela de assinatura |
| Background job (24h) | Assinatura vencida > 24h | Desconecta instâncias, trava UI |
| Background job (30 dias) | Suspensão > 30 dias | Zera créditos |