# EPICA: EPIC-RT-008 - Reportes y Dashboard ## Metadata | Campo | Valor | |-------|-------| | **ID** | EPIC-RT-008 | | **Nombre** | Reportes y Dashboard | | **Modulo** | reportes | | **Fase** | Fase 1 - MVP | | **Prioridad** | P1 (Alto) | | **Estado** | Backlog | | **Story Points** | 30 | | **Sprint(s)** | Sprint 7-8 | --- ## Descripcion Dashboard ejecutivo y reportes operativos para retail. Visualización de ventas en tiempo real, comparativos por sucursal, análisis de productos, tendencias y KPIs clave. Exportación a Excel/PDF para análisis offline. --- ## Objetivo de Negocio - Visibilidad en tiempo real de operaciones - Toma de decisiones basada en datos - Identificar oportunidades y problemas - Comparar rendimiento entre sucursales - Medir efectividad de promociones --- ## Historias de Usuario | ID | Historia | Prioridad | SP | Estado | |----|----------|-----------|-----|--------| | US-RT008-001 | Como gerente general, quiero ver dashboard de ventas del día por sucursal | P0 | 5 | Backlog | | US-RT008-002 | Como gerente general, quiero comparar ventas vs mismo día semana anterior | P0 | 3 | Backlog | | US-RT008-003 | Como gerente de tienda, quiero ver ranking de productos más vendidos | P0 | 3 | Backlog | | US-RT008-004 | Como gerente de tienda, quiero ver reporte de ventas por hora del día | P1 | 3 | Backlog | | US-RT008-005 | Como gerente regional, quiero comparar rendimiento entre sucursales | P0 | 5 | Backlog | | US-RT008-006 | Como comprador, quiero ver productos con baja rotación | P1 | 3 | Backlog | | US-RT008-007 | Como marketing, quiero ver efectividad de promociones activas | P1 | 3 | Backlog | | US-RT008-008 | Como gerente, quiero exportar reportes a Excel para análisis | P0 | 3 | Backlog | | US-RT008-009 | Como admin, quiero configurar dashboards personalizados | P2 | 2 | Backlog | **Total Story Points:** 30 SP --- ## KPIs Principales ``` ┌─────────────────────────────────────────────────────────┐ │ DASHBOARD DE VENTAS │ ├─────────────────────────────────────────────────────────┤ │ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ VENTAS HOY │ │ TRANSACCIONES│ │ TICKET PROM. │ │ │ │ $45,230 │ │ 127 │ │ $356 │ │ │ │ ▲ 12% │ │ ▲ 8% │ │ ▲ 4% │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ │ │ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ CLIENTES │ │ PUNTOS USADOS│ │ DEVOLUCIONES │ │ │ │ 89 │ │ 2,350 │ │ $450 │ │ │ │ ▲ 15% │ │ ▲ 22% │ │ ▼ 5% │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ │ │ │ │ VENTAS POR HORA │ │ ┌────────────────────────────────────────────────────┐ │ │ │ ▄▄ │ │ │ │ ████ ▄▄▄▄ ▄▄▄▄ │ │ │ │ ██████ ████████ ▄▄▄▄ ████████ ▄▄ │ │ │ │ ████████ ████████████████████ ████████████████ │ │ │ │ ──────────────────────────────────────────────────│ │ │ │ 08 09 10 11 12 13 14 15 16 17 18 19 20 21 │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ TOP 5 PRODUCTOS │ │ ┌────────────────────────────────────────────────────┐ │ │ │ 1. Producto A ████████████████████ $8,500 (18.8%) │ │ │ │ 2. Producto B ██████████████ $6,200 (13.7%) │ │ │ │ 3. Producto C ███████████ $5,100 (11.3%) │ │ │ │ 4. Producto D ████████ $3,800 (8.4%) │ │ │ │ 5. Producto E ██████ $2,900 (6.4%) │ │ │ └────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────┘ ``` --- ## Reportes Disponibles ``` ┌─────────────────────────────────────────────────────────┐ │ CATÁLOGO DE REPORTES │ ├─────────────────────────────────────────────────────────┤ │ │ │ VENTAS │ │ ├── Ventas diarias por sucursal │ │ ├── Ventas por hora │ │ ├── Ventas por categoría │ │ ├── Ventas por cajero │ │ └── Comparativo periodo anterior │ │ │ │ PRODUCTOS │ │ ├── Ranking de productos │ │ ├── Productos sin movimiento │ │ ├── Análisis ABC │ │ └── Margen por producto │ │ │ │ INVENTARIO │ │ ├── Stock actual por sucursal │ │ ├── Alertas de stock bajo │ │ ├── Transferencias pendientes │ │ └── Valorización de inventario │ │ │ │ CLIENTES │ │ ├── Clientes nuevos vs recurrentes │ │ ├── Top clientes por compra │ │ ├── Uso de programa de puntos │ │ └── Segmentación de clientes │ │ │ │ PROMOCIONES │ │ ├── Uso de promociones activas │ │ ├── Cupones redimidos │ │ └── ROI de promociones │ │ │ └─────────────────────────────────────────────────────────┘ ``` --- ## Criterios de Aceptacion de la Epica **Funcionales:** - [ ] Dashboard en tiempo real - [ ] Comparativos con período anterior - [ ] Filtros por sucursal, fecha, categoría - [ ] Ranking de productos - [ ] Comparativo entre sucursales - [ ] Análisis de promociones - [ ] Exportación Excel/PDF - [ ] Dashboards personalizables **No Funcionales:** - [ ] Carga de dashboard < 3 segundos - [ ] Actualización cada 5 minutos - [ ] Datos históricos de 2 años **Tecnicos:** - [ ] Agregación eficiente de datos - [ ] Caché de métricas frecuentes - [ ] Jobs de precálculo nocturno - [ ] Gráficos responsivos --- ## Dependencias **Esta epica depende de:** | Epica/Modulo | Estado | Bloqueante | |--------------|--------|------------| | EPIC-RT-001 Fundamentos | Backlog | Si | | EPIC-RT-002 POS | Backlog | Si | | EPIC-RT-003 Inventario | Backlog | Si | | EPIC-RT-005 Clientes | Backlog | Si | | EPIC-RT-006 Precios | Backlog | Si | | EPIC-RT-007 Caja | Backlog | Si | --- ## Desglose Tecnico **Database:** - [ ] Schema: `analytics` - [ ] Tablas: 5 (daily_sales, hourly_metrics, product_metrics, store_metrics, custom_dashboards) - [ ] Vistas materializadas para reportes frecuentes - [ ] Indices optimizados para consultas analíticas **Backend:** - [ ] Modulo: `reports` - [ ] Services: MetricsService, ReportGenerator - [ ] Endpoints: 15 - [ ] Jobs: Precálculo de métricas - [ ] Tests: 25 **Frontend:** - [ ] Paginas: 4 (Dashboard, Reports, DashboardBuilder, Export) - [ ] Componentes: 15 (ChartCard, MetricWidget, FilterBar, DataTable, etc.) - [ ] Librería: Chart.js o Recharts - [ ] Stores: 1 (reportsStore) --- ## Endpoints API | Metodo | Endpoint | Descripcion | |--------|----------|-------------| | GET | /api/reports/dashboard | Dashboard principal | | GET | /api/reports/sales | Reporte de ventas | | GET | /api/reports/products/ranking | Ranking de productos | | GET | /api/reports/products/slow-moving | Productos sin rotación | | GET | /api/reports/stores/comparison | Comparativo de sucursales | | GET | /api/reports/customers/analysis | Análisis de clientes | | GET | /api/reports/promotions/effectiveness | Efectividad de promociones | | GET | /api/reports/export/:reportId | Exportar a Excel | | GET | /api/reports/export/:reportId/pdf | Exportar a PDF | | POST | /api/reports/custom-dashboards | Crear dashboard | --- ## Riesgos | Riesgo | Probabilidad | Impacto | Mitigacion | |--------|--------------|---------|------------| | Consultas lentas | Media | Alto | Vistas materializadas + índices | | Datos incorrectos | Baja | Alto | Validación de fuentes | | Sobrecarga de BD | Media | Medio | Réplica de lectura | --- ## Definition of Ready (DoR) - [x] Historias de usuario definidas - [x] Criterios de aceptacion claros - [x] Dependencias identificadas - [x] Estimacion completada - [ ] KPIs prioritarios definidos - [ ] Diseño de dashboards aprobado ## Definition of Done (DoD) - [ ] Dashboard principal funcionando - [ ] Reportes operativos disponibles - [ ] Exportación Excel/PDF operativa - [ ] Performance aceptable - [ ] Tests de integración pasando - [ ] Documentación de API --- ## Historial | Fecha | Cambio | Autor | |-------|--------|-------| | 2025-12-08 | Creacion de epica | Claude-Agent | --- **Creada por:** Claude-Agent **Fecha:** 2025-12-08 **Ultima actualizacion:** 2025-12-08