- Prefijo v2: MCH - TRACEABILITY-MASTER.yml creado - Listo para integracion como submodulo Workspace: v2.0.0 | SIMCO: v4.0.0
3.9 KiB
3.9 KiB
MCH-009: Prediccion de Inventario
Metadata
- Codigo: MCH-009
- Fase: 2 - Inteligencia
- Prioridad: P1
- Estado: Completado
- Fecha completado: 2026-01-10
Descripcion
Sistema de prediccion de inventario basado en historico de ventas: alertas de stock bajo, sugerencias de reabastecimiento, prediccion de demanda, y deteccion de productos de lento movimiento.
Objetivos
- Alertas de stock bajo
- Prediccion de demanda semanal
- Sugerencias de pedido a proveedor
- Deteccion de productos sin movimiento
- Dias de inventario estimados
Alcance
Incluido
- Alerta cuando stock < min_stock
- Prediccion basada en promedio movil
- Calculo de punto de reorden
- Lista de sugerencias de compra
- Productos sin venta en X dias
Excluido
- ML avanzado (LSTM, Prophet)
- Integracion automatica con proveedores
- Pedidos automaticos
Algoritmos
Prediccion de Demanda
Promedio Movil Ponderado (4 semanas)
- Semana -1: peso 0.4
- Semana -2: peso 0.3
- Semana -3: peso 0.2
- Semana -4: peso 0.1
Demanda_estimada = Σ(ventas_semana * peso)
Punto de Reorden
Punto_reorden = (Demanda_diaria * Lead_time) + Stock_seguridad
Donde:
- Demanda_diaria = Demanda_semanal / 7
- Lead_time = dias para recibir pedido (default: 3)
- Stock_seguridad = Demanda_diaria * 2
Dias de Inventario
Dias_inventario = Stock_actual / Demanda_diaria
Endpoints API
| Metodo | Endpoint | Descripcion |
|---|---|---|
| GET | /inventory/low-stock | Productos bajo minimo |
| GET | /inventory/predictions | Predicciones de demanda |
| GET | /inventory/reorder-suggestions | Sugerencias de pedido |
| GET | /inventory/slow-moving | Productos sin movimiento |
| GET | /inventory/days-on-hand | Dias de inventario |
| GET | /inventory/analytics | Dashboard completo |
Modelo de Datos
Tablas Adicionales
inventory_predictions (cache)
- id, product_id, period_start, period_end
- predicted_demand, confidence
- calculated_at
reorder_suggestions
- id, tenant_id, product_id
- current_stock, suggested_quantity
- priority, status, created_at
Flujos de Usuario
Alerta de Stock Bajo
1. Sistema detecta stock < min_stock
2. Genera notificacion push
3. Muestra en dashboard
4. Dueno revisa y decide
Ver Sugerencias de Pedido
1. Dueno abre "Sugerencias de compra"
2. Ve lista ordenada por prioridad
3. Cada item muestra:
- Producto
- Stock actual
- Cantidad sugerida
- Proveedor (si conocido)
4. Puede marcar como "Pedido"
Reporte Semanal
1. Lunes a las 8am
2. Sistema genera reporte:
- Top 10 productos por venta
- Productos a reordenar
- Productos sin movimiento
3. Envia via WhatsApp al dueno
UI Components
InventoryDashboard
- Grafica de stock vs demanda
- Lista de alertas
- Indicadores clave
ReorderList
- Tabla de sugerencias
- Filtros por categoria
- Accion: marcar como pedido
Entregables
| Entregable | Estado | Archivo |
|---|---|---|
| predictions.service | Pendiente | services/predictions.service.ts |
| inventory.analytics | Pendiente | modules/inventory/analytics/ |
| Dashboard FE | Pendiente | components/inventory/ |
| Cron jobs | Pendiente | jobs/inventory.jobs.ts |
Dependencias
Depende de
- MCH-003 (Productos)
- MCH-004 (POS) - historial de ventas
- MCH-007 (Inventory module base)
Bloquea a
- MCH-012 (Chat LLM puede consultar predicciones)
Criterios de Aceptacion
- Alertas de stock bajo funcionan
- Predicciones tienen precision >70%
- Sugerencias de reorden son utiles
- Productos sin movimiento se detectan
- Dashboard muestra info clara
Configuracion por Tenant
{
predictions: {
enabled: true,
low_stock_threshold: 5,
lead_time_days: 3,
safety_stock_days: 2,
slow_moving_days: 30,
weekly_report_enabled: true
}
}
Ultima actualizacion: 2026-01-10