- Backend NestJS con módulos de autenticación, inventario, créditos - Frontend React con dashboard y componentes UI - Base de datos PostgreSQL con migraciones - Tests E2E configurados - Configuración de Docker y deployment Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
3.9 KiB
3.9 KiB
ADR-0001: Modelo de Creditos/Tokens
id: ADR-0001 type: ADR status: Aceptado created_date: 2026-01-10 updated_date: 2026-01-10 decision_date: 2026-01-10 deciders: ["Tech Lead", "Product Owner"]
Estado
Aceptado
Contexto
MiInventario necesita un modelo de monetizacion que:
- Sea accesible para pequenos negocios en Mexico
- Permita pago por consumo (no suscripcion fija)
- Sea transparente y justo
- Escale con los costos reales de IA
- Permita promociones y referidos
Los costos de procesamiento de IA (OpenAI, Claude, etc.) son variables y pueden cambiar. Necesitamos un modelo que abstraiga estos costos del usuario final mientras mantenemos margenes saludables.
Decision
Implementar un modelo de creditos/tokens con las siguientes caracteristicas:
-
Creditos como moneda interna
- 1 credito ≈ 1 sesion de inventario promedio
- Los usuarios compran creditos con dinero real
- Los creditos se consumen al usar el servicio
-
Precio = 2x COGS
- El precio al usuario es el doble del costo real de IA
- Garantiza 50% de margen bruto
- Se ajusta dinamicamente segun costos
-
Paquetes fijos en MXN
- Paquetes de $50, $100, $200, $500 MXN
- Los creditos que otorgan varian segun costo actual
- Precio predecible para el usuario
-
Transparencia
- El usuario ve cuantos creditos consume
- Puede ver el equivalente en pesos
- Historial detallado de transacciones
Opciones Consideradas
Opcion A: Suscripcion Mensual
| Aspecto | Valor |
|---|---|
| Modelo | $99-299 MXN/mes |
| Sesiones | Ilimitadas o tope |
| Predictibilidad | Alta para usuario |
| Riesgo | Alto uso = perdida |
Descartada: Riesgo de usuarios que abusan del servicio, no escala con costos.
Opcion B: Pago por Sesion
| Aspecto | Valor |
|---|---|
| Modelo | $X por sesion |
| Precio | Fijo o variable |
| Transparencia | Alta |
| Complejidad | Media |
Descartada: Menos flexible para promociones y referidos.
Opcion C: Creditos/Tokens (Seleccionada)
| Aspecto | Valor |
|---|---|
| Modelo | Compra creditos, consume al usar |
| Precio | 2x costo IA |
| Flexibilidad | Alta |
| Complejidad | Media-Alta |
Seleccionada: Mejor balance entre flexibilidad, transparencia y rentabilidad.
Consecuencias
Positivas
- Margen garantizado: Siempre 50% sobre costos
- Escalable: Si costos suben, precios se ajustan
- Flexible: Promociones, bonos, referidos faciles
- Justo: Usuario paga por lo que usa
- Predecible: Paquetes en MXN fijos
Negativas
- Complejidad: Sistema de wallet, transacciones
- Confusion potencial: Usuario debe entender creditos
- Volatilidad: Creditos por paquete pueden variar
- Contabilidad: Ingresos diferidos (creditos no usados)
Metricas de Exito
| Metrica | Objetivo |
|---|---|
| Margen bruto | >= 50% |
| Creditos sin usar (30 dias) | < 20% |
| Conversion a compra | > 30% |
| Recompra | > 60% |
Implementacion
Modelos de Datos
// Wallet de creditos
interface CreditWallet {
userId: string;
balance: number; // Creditos disponibles
reserved: number; // Creditos en sesiones activas
lifetimeCredits: number;
lifetimeSpent: number;
}
// Transaccion
interface CreditTransaction {
walletId: string;
type: 'PURCHASE' | 'CONSUMPTION' | 'REFUND' | 'BONUS' | 'REFERRAL';
amount: number;
referenceType: string;
referenceId: string;
}
// COGS
interface COGSRecord {
sessionId: string;
provider: string;
framesProcessed: number;
costUSD: number;
costMXN: number;
priceToUser: number; // 2x costMXN
}
Referencias
- VISION-PROYECTO.md - Modelo de negocio
- MII-009 - Implementacion wallet
- MII-010 - Paquetes
Ultima Actualizacion: 2026-01-10