Pricing & Cost Analysis

Desglose completo de costos, margenes y configuracion de planes para NorthTec AI

Costo promedio por mensaje
$0.0006
Con gpt-5-mini (antes $0.003 con gpt-4.1)
Ahorro vs modelo anterior
80%
Migracion de gpt-4.1 a gpt-5-mini
Margen promedio planes pagos
96.5%
Asumiendo uso al 100% del limite
Canales soportados
3
Web Widget + WhatsApp + API

Stack de Modelos AI

Cada componente del sistema usa el modelo optimo para su tarea, balanceando costo y calidad.

Componente Modelo Input / 1M tokens Output / 1M tokens Archivo
Chat principal
Widget + WhatsApp + API
gpt-5-mini $0.25 $2.00 stream.ts:161
Analisis de documentos
Resumen + topicos
gemini-2.5-flash-lite $0.10 $0.40 gemini.ts:83
Fallback analisis
Si flash-lite falla
gemini-2.5-flash $0.30 $2.50 gemini.ts:108
Extraccion PDF con vision
Tablas rotas / OCR
gemini-2.5-flash $0.30 $2.50 gemini.ts:149
Embeddings
Vectores para RAG
gemini-embedding-001 $0.15 $0.00 embeddingService.ts
Nota: El chat principal usa un solo modelo (gpt-5-mini) compartido entre los 3 canales (Widget, WhatsApp, API) a traves de runChatWithToolsStream().

Pipeline de Procesamiento

Arquitectura de modelos desde la ingesta del documento hasta la respuesta al usuario.

Indexacion de documentos

PDF / DOCX
gemini-flash Vision (si tablas rotas)
Texto crudo
flash-lite Resumen + topicos
Chunks (800 palabras max)
embedding-001 Vectores
Pinecone

Chat con usuario

Mensaje del usuario
embedding-001 Query RAG
Pinecone (top K chunks)
gpt-5-mini + contexto + tools
Respuesta

Costo por Mensaje (Unitario)

Desglose del costo real de cada mensaje del asistente, asumiendo ~700 tokens input y ~200 tokens output promedio.

Servicio Costo / mensaje Notas
OpenAI gpt-5-mini (input ~700 tokens) $0.000175 System prompt + historial + mensaje
OpenAI gpt-5-mini (output ~200 tokens) $0.0004 Respuesta del asistente
OpenAI total $0.0006 Sin tools. Con tools: ~$0.001-0.002
Firestore (3 reads + 4 writes) $0.00001 Despreciable
WhatsApp Meta (ventana 24h) $0.00 Gratis dentro de ventana de servicio
Gemini embedding (si RAG) $0.00003 $0.15/1M tokens, ~200 tokens query
Pinecone query (si RAG) $0.004 ~0.25 RU minimo x $16/1M RU
Comparacion: Con gpt-4.1 el costo por mensaje era ~$0.003. Con gpt-5-mini es ~$0.0006. Ahorro del 80% sin sacrificar calidad en atencion al cliente.

Servicios Externos

WhatsApp Business API (Meta)

Tipo de mensaje Costo Notas
Servicio (ventana 24h) Gratis Cuando el usuario escribe primero. Ilimitado desde Nov 2024
Marketing (template) $0.0625 - $0.086 Varia por pais. Mas caro en LATAM
Utilidad (template) $0.0008 - $0.014 Confirmaciones, alertas
Autenticacion (OTP) $0.008 - $0.014 Codigos de verificacion
Clave: En el flujo actual de NorthTec AI, todos los mensajes son de servicio (el usuario escribe primero, el bot responde). Costo de WhatsApp Meta = $0.

Pinecone (Vector DB)

OperacionCostoNotas
Read Units (queries) $16 / 1M RUs Plan Standard. Min 0.25 RU por query
Write Units (indexacion) $2 / 1M WUs Solo al indexar documentos
Storage $0.33 / GB / mes Vectores + metadata

Firestore Operations

Operaciones de Firestore por mensaje en cada canal.

Canal Reads Writes Costo / mensaje
Widget / API 3 4 (incluye usage counter) ~$0.00001
WhatsApp 3 (paralelo) 5 (incluye WA key + usage counter) ~$0.000013
Optimizacion aplicada: Eliminamos wa_lookups (coleccion innecesaria) y loadConversationContext (read redundante). De 6 reads bajamos a 3 por mensaje en WhatsApp.

Planes Personales

Sin WhatsApp. Solo canal web (Widget + API).

Plan Precio Msgs/mes Docs Productos Usuarios Storage WhatsApp
personal_free Gratis 30 conv 3 2 1 10 MB
personal_starter $49 300 conv 20 5 1 50 MB
personal_pro $99 1,000 conv 75 25 2 250 MB

Planes PyME

Con WhatsApp Business. Web + WhatsApp + API.

Plan Precio Implementacion Msgs/mes Docs Productos Usuarios WA #s Storage
pyme_starter $499 $0 1,500 conv 75 25 2 1 250 MB
pyme_business $999 $500 5,000 conv 250 100 5 5 1 GB
pyme_scale $1,499 $1,000 15,000 conv 500 250 10 10 5 GB

Proyeccion de Margenes

Estimacion asumiendo uso al 100% del limite del plan, ~5 mensajes por conversacion, ~50% de mensajes usando RAG.

Plan Precio Costo OpenAI Firestore RAG Costo Total Margen
personal_free $0 $0.03 $0.001 - $0.03 -$0.03
personal_starter $49 $0.45 $0.01 - $0.46 99.1%
personal_pro $99 $1.50 $0.04 $2.50 $4.04 95.9%
pyme_starter $499 $4.50 $0.05 $7.50 $12.05 97.6%
pyme_business $999 $15.00 $0.18 $25.00 $40.18 96.0%
pyme_scale $1,499 $45.00 $0.54 $75.00 $120.54 92.0%
Nota: Estos margenes son con gpt-5-mini. Con el modelo anterior (gpt-4.1), los costos eran 5x mayores y los margenes estaban entre 65-89%.

Comparacion de modelos (costo por mensaje)

Modelo Input / 1M Output / 1M Costo / mensaje vs gpt-5-mini
gpt-5-mini (actual) $0.25 $2.00 $0.0006 -
gpt-4.1 (anterior) $2.00 $8.00 $0.003 5x mas caro
gpt-4.1-mini (fallback) $0.40 $1.60 $0.0006 ~igual
gpt-5-nano (auxiliar) $0.05 $0.40 $0.0001 6x mas barato

Contador de Uso Global

Contador de mensajes del asistente por cliente, desglosado por canal. Se incrementa en el fire-and-forget existente (0 reads extra, 1 write merge).

Ubicacion en Firestore

clients/{userId}/private/usage
{
  messages: {          // total global
    "2025-12": 3580,
    "2026-01": 142
  },
  whatsapp: {          // solo WhatsApp
    "2025-12": 2100,
    "2026-01": 85
  },
  widget: {            // solo Widget
    "2025-12": 1200,
    "2026-01": 45
  },
  api: {               // solo API
    "2025-12": 280,
    "2026-01": 12
  },
  lastMessageAt: Timestamp
}

Lectura en el Admin

const usageSnap = await db
  .collection("clients").doc(userId)
  .collection("private").doc("usage")
  .get();

const usage = usageSnap.data();
const currentMonth = "2026-01";

const totalMessages   = usage?.messages?.[currentMonth] || 0;
const whatsappMessages = usage?.whatsapp?.[currentMonth] || 0;
const widgetMessages   = usage?.widget?.[currentMonth] || 0;
const apiMessages      = usage?.api?.[currentMonth] || 0;

Archivos modificados

ArchivoCambio
agents/utils/usageCounter.tsHelper incrementMonthlyMessageCount(userId, channel)
agents/assistant/stream.tsAgregado al fire-and-forget (Widget/API)
agents/whatsapp/handleWhatsAppWebhook.tsAgregado al fire-and-forget (WhatsApp)

Observabilidad

Logs estructurados para detectar cuando se necesitan ajustes en modelos, chunks o configuracion.

Senal Log Que significa Accion
Flash-lite fallback flash-lite respuesta sin estructura valida flash-lite no pudo generar JSON valido Si >20% → volver a gemini-2.5-flash
Fallback exitoso analisis completado con fallback a flash flash-lite fallo, flash lo resolvio Monitorear tasa de fallback
Chunk grande chunk excede limite de tokens Chunk >8192 chars (~2048 tokens) Bajar chunk size o revisar docs
Respuesta vacia respuesta vacia del modelo gpt-5-mini no genero nada Revisar system prompt o subir modelo
Respuesta corta respuesta muy corta (<20 chars) Respuesta tipo "Ok" sin contenido Ajustar prompt si es frecuente
Tool loop tool loop exhausted (6/6) Modelo entro en loop de tools Simplificar tools o subir modelo
RAG miss 0 chunks encontrados No encontro docs relevantes Revisar embeddings/docs indexados

Filtro en Cloud Logging

resource.type="cloud_run_revision"
jsonPayload.msg=~"fallback|truncamiento|vacia|muy corta|exhausted|0 chunks"

RAG & Chunking

Configuracion actual

ParametroValorArchivo
Max chunk size 800 palabras (~1000-1200 tokens) textSplitter.ts
Min chunk size 100 palabras textSplitter.ts
Overlap 1 oracion textSplitter.ts
Max chunks por doc 200 extractAndChunk.ts
Embedding max tokens 2048 gemini-embedding-001
Pinecone topK Configurable (default 5) tools.handlers.ts
Pinecone minScore 0.3 tools.handlers.ts

Estrategia de chunking

Chunking semantico: Corta por oraciones completas. Nunca deja encabezados sueltos al final de un chunk. Fusiona chunks muy pequenos. Detecta headings (Markdown, SECCION, ARTICULO, CAPITULO, numeracion romana).
Importante: El chunk size se cambio de 1500 a 800 palabras para garantizar que nunca exceda el limite de 2048 tokens del embedding model. Los documentos indexados antes de este cambio siguen con chunks de 1500 — re-indexar si es necesario.

Equipo & Operacion

Sizing del equipo recomendado por fase de crecimiento. La plataforma esta disenada para operar con equipo minimo gracias a infra serverless (Cloud Run, Firestore) y auto-scaling.

Fase 1 — Lanzamiento y traccion (Meses 1-6)

RolCant.Costo/mesResponsabilidad
Dev Senior Full-Stack 1 $3,000 - $5,000 Core del producto, AI, integraciones, bugs, onboarding tecnico
Total equipo 1 $3,000 - $5,000
Por que 1 persona es suficiente: Backend funcional y en produccion, 3 canales integrados (Widget, WhatsApp, API), RAG completo, planes y billing implementados, infra serverless sin ops. El foco es producto y primeros clientes.

Fase 2 — Crecimiento (Meses 6-12, ~50-150 clientes pagos)

RolCant.Costo/mesResponsabilidad
Dev Senior (Backend/AI) 1 $3,000 - $5,000 Core AI, modelos, RAG, performance, nuevas features
Dev Mid (Frontend/Admin) 1 $2,000 - $3,500 Admin panel, dashboard clientes, landing, onboarding UX
Customer Success 1 $1,500 - $2,500 Configurar asistentes, onboarding PyMEs, soporte nivel 1
Total equipo 3 $6,500 - $11,000
El segundo hire deberia ser Customer Success, no dev. El cuello de botella a 50+ clientes es onboarding de PyMEs (configuracion de asistentes, documentos, WhatsApp), no codigo.

Fase 3 — Escala (Meses 12-24, ~150-500 clientes pagos)

RolCant.Costo/mesResponsabilidad
Dev Senior (Backend/AI) 1 $3,000 - $5,000 Arquitectura, AI, integraciones enterprise
Dev Mid (Frontend) 1 $2,000 - $3,500 Admin panel, dashboards, reportes, UX
Dev Mid (Backend) 1 $2,000 - $3,500 Nuevos canales (Telegram, IG), automations, CRM integrations
Customer Success 1 $1,500 - $2,500 Onboarding, soporte, capacitacion
Ventas / Growth 1 $1,500 + com. Adquisicion de clientes PyME, partnerships, expansion regional
Total equipo 5 $10,000 - $16,500

Equipo vs MRR

FaseMRR esperadoCosto equipo% del MRRResultado
Fase 1 (mes 6) $11,246 $5,000 44% Rentable
Fase 2 (mes 12) $31,347 $11,000 35% Rentable
Fase 3 (mes 24) $93,532 $16,500 18% Muy rentable
Regla SaaS: Un dev por cada $15-20k de MRR es saludable. Antes de eso, sobre-contratacion. Despues, cuello de botella. El equipo crece solo cuando el MRR lo justifica.

Ultima actualizacion: Enero 2026 · NorthTec AI Backend · Proyecto: northtec-c1d07