michangarrito/docs/01-epicas/MCH-009-prediccion-inventario.md
rckrdmrd 184d21d6ce [MCH-DOC-VAL] docs: Estandarizar épicas MCH-006 a MCH-010 con HU formales
Épicas actualizadas con formato SIMCO 4.0.1:
- MCH-006: Onboarding Inteligente (4 HU, 13 SP)
- MCH-007: Templates y Catálogos (4 HU, 8 SP)
- MCH-008: Sistema de Fiados (5 HU, 13 SP)
- MCH-009: Predicción Inventario (5 HU, 13 SP)
- MCH-010: MCP Server (7 HU, 21 SP)

Cambios aplicados:
- Agregado story_points en frontmatter y metadata
- Sección "Historias de Usuario" con formato Como/Quiero/Para
- Criterios de Aceptación con formato [CA-XXX-N]
- Tareas con formato [MCH-TT-XXX-NN]
- Tabla resumen de Story Points

IDs asignados: MCH-US-050 a MCH-US-096

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-17 04:28:53 -06:00

8.9 KiB

id type title code status phase priority story_points created_at updated_at simco_version dependencies
EPIC-MCH-009 Epic MCH-009: Prediccion de Inventario MCH-009 Completado 2 P1 13 2026-01-10 2026-01-17 4.0.1
blocks depends_on
MCH-012
MCH-003
MCH-004
MCH-007

MCH-009: Prediccion de Inventario

Metadata

  • Codigo: MCH-009
  • Fase: 2 - Inteligencia
  • Prioridad: P1
  • Estado: Completado
  • Story Points: 13
  • 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

  1. Alertas de stock bajo
  2. Prediccion de demanda semanal
  3. Sugerencias de pedido a proveedor
  4. Deteccion de productos sin movimiento
  5. 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
  }
}

Historias de Usuario

MCH-US-080: Alertas de Stock Bajo

Como dueno de changarrito Quiero recibir alertas cuando un producto esta por agotarse Para poder reabastecer a tiempo y no perder ventas

  • Story Points: 3
  • Prioridad: P1

Criterios de Aceptacion

ID Criterio
CA-080-1 Sistema detecta cuando stock actual < min_stock configurado
CA-080-2 Se genera notificacion push al dispositivo del dueno
CA-080-3 Alerta visible en dashboard con indicador visual claro
CA-080-4 Lista de productos en alerta ordenada por urgencia

Tareas

ID Tarea Estimacion
MCH-TT-080-01 Implementar detector de stock bajo en backend 2h
MCH-TT-080-02 Crear endpoint GET /inventory/low-stock 1h
MCH-TT-080-03 Configurar notificaciones push 2h
MCH-TT-080-04 Componente AlertList en dashboard 2h

MCH-US-081: Prediccion de Demanda

Como dueno de changarrito Quiero ver predicciones de venta para los proximos dias Para planificar mis compras con anticipacion

  • Story Points: 3
  • Prioridad: P1

Criterios de Aceptacion

ID Criterio
CA-081-1 Prediccion usa promedio movil ponderado de 4 semanas
CA-081-2 Precision de prediccion >70% en productos con historial
CA-081-3 Muestra demanda estimada por producto para proxima semana
CA-081-4 Calcula dias de inventario restantes por producto

Tareas

ID Tarea Estimacion
MCH-TT-081-01 Implementar algoritmo promedio movil ponderado 3h
MCH-TT-081-02 Crear predictions.service.ts 2h
MCH-TT-081-03 Endpoint GET /inventory/predictions 1h
MCH-TT-081-04 Cache de predicciones en tabla inventory_predictions 2h

MCH-US-082: Sugerencias de Reorden

Como dueno de changarrito Quiero recibir sugerencias de que productos reabastecer y en que cantidad Para optimizar mis compras y no quedarme sin stock

  • Story Points: 3
  • Prioridad: P1

Criterios de Aceptacion

ID Criterio
CA-082-1 Calcula punto de reorden basado en lead time y stock de seguridad
CA-082-2 Sugiere cantidad optima a pedir por producto
CA-082-3 Lista ordenada por prioridad (mas urgente primero)
CA-082-4 Permite marcar sugerencia como "Pedido realizado"

Tareas

ID Tarea Estimacion
MCH-TT-082-01 Implementar calculo de punto de reorden 2h
MCH-TT-082-02 Crear tabla reorder_suggestions 1h
MCH-TT-082-03 Endpoint GET /inventory/reorder-suggestions 1h
MCH-TT-082-04 Componente ReorderList con acciones 2h

MCH-US-083: Productos Sin Movimiento

Como dueno de changarrito Quiero identificar productos que no se han vendido en mucho tiempo Para tomar decisiones sobre promociones o descontinuarlos

  • Story Points: 2
  • Prioridad: P2

Criterios de Aceptacion

ID Criterio
CA-083-1 Detecta productos sin ventas en X dias (configurable, default 30)
CA-083-2 Muestra ultima fecha de venta por producto
CA-083-3 Calcula valor de inventario estancado
CA-083-4 Sugiere acciones (promocion, liquidacion)

Tareas

ID Tarea Estimacion
MCH-TT-083-01 Query para detectar productos sin movimiento 1h
MCH-TT-083-02 Endpoint GET /inventory/slow-moving 1h
MCH-TT-083-03 Vista de productos estancados en UI 2h

MCH-US-084: Reporte Semanal Automatico

Como dueno de changarrito Quiero recibir un resumen semanal de inventario via WhatsApp Para mantenerme informado sin entrar a la app constantemente

  • Story Points: 2
  • Prioridad: P2

Criterios de Aceptacion

ID Criterio
CA-084-1 Reporte se envia automaticamente los lunes a las 8am
CA-084-2 Incluye top 10 productos mas vendidos de la semana
CA-084-3 Lista productos que necesitan reorden urgente
CA-084-4 Muestra productos sin movimiento
CA-084-5 Formato legible y conciso para WhatsApp

Tareas

ID Tarea Estimacion
MCH-TT-084-01 Crear cron job semanal 1h
MCH-TT-084-02 Generar reporte consolidado 2h
MCH-TT-084-03 Integrar envio via WhatsApp API 2h
MCH-TT-084-04 Template de mensaje formateado 1h

Resumen de Story Points

Historia Descripcion SP
MCH-US-080 Alertas de Stock Bajo 3
MCH-US-081 Prediccion de Demanda 3
MCH-US-082 Sugerencias de Reorden 3
MCH-US-083 Productos Sin Movimiento 2
MCH-US-084 Reporte Semanal Automatico 2
TOTAL EPIC MCH-009 13

Ultima actualizacion: 2026-01-17