miinventario-v2/docs/97-adr/ADR-0001-modelo-creditos-tokens.md
rckrdmrd 1a53b5c4d3 [MIINVENTARIO] feat: Initial commit - Sistema de inventario con análisis de video IA
- 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>
2026-01-13 02:25:48 -06:00

170 lines
3.9 KiB
Markdown

# 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:
1. **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
2. **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
3. **Paquetes fijos en MXN**
- Paquetes de $50, $100, $200, $500 MXN
- Los creditos que otorgan varian segun costo actual
- Precio predecible para el usuario
4. **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
```typescript
// 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](../00-vision-general/VISION-PROYECTO.md) - Modelo de negocio
- [MII-009](../01-epicas/MII-009-wallet-creditos.md) - Implementacion wallet
- [MII-010](../01-epicas/MII-010-paquetes-recarga.md) - Paquetes
---
**Ultima Actualizacion:** 2026-01-10