--- id: "US-ML-004" title: "Dashboard de tendencias de mercado" type: "User Story" epic: "IAI-008" status: "Draft" story_points: 8 priority: "Alta" project: "inmobiliaria-analytics" created_date: "2026-01-04" updated_date: "2026-01-04" --- # US-ML-004: Dashboard de tendencias de mercado --- ## User Story **Como** usuario de la plataforma **Quiero** ver tendencias de precios y mercado por zona **Para** entender la dinamica del mercado inmobiliario --- ## Descripcion Implementar dashboard interactivo que muestre tendencias de precios, inventario, absorcion y otros indicadores clave por zona geografica, con visualizaciones de series temporales y mapas de calor. --- ## Criterios de Aceptacion - [ ] Dashboard muestra precio promedio por zona - [ ] Grafica de tendencia temporal (12 meses) - [ ] Mapa de calor de precios por m2 - [ ] Indicadores de mercado (inventario, absorcion) - [ ] Filtros por zona, tipo, rango de precio - [ ] Datos actualizados diariamente --- ## Widgets del Dashboard ```yaml widgets: header: - stat: "Precio Promedio/m2" valor: "$28,500" cambio: "+3.2%" - stat: "Inventario Activo" valor: "1,234" cambio: "-5%" - stat: "Dias Promedio" valor: "62" cambio: "-8%" - stat: "Indice de Mercado" valor: "72/100" cambio: "+2" row_1: - tipo: line_chart titulo: "Evolucion de Precios" datos: precio_m2_mensual period: 12_meses - tipo: heatmap_geo titulo: "Precio por m2 por Zona" datos: precio_m2_por_zona row_2: - tipo: bar_chart titulo: "Top 10 Colonias por Precio" datos: top_colonias - tipo: line_chart titulo: "Inventario vs Absorcion" datos: [inventario, ventas] ``` --- ## Tareas Tecnicas | # | Tarea | Estimacion | |---|-------|------------| | 1 | Agregaciones de datos por zona | 6h | | 2 | API de tendencias | 4h | | 3 | Componente de graficas (Recharts) | 8h | | 4 | Mapa de calor (Mapbox/Leaflet) | 8h | | 5 | Filtros interactivos | 4h | | 6 | Caching de agregaciones | 3h | **Total estimado:** 33h (~4 dias) --- ## Definition of Done - [ ] Dashboard renderiza correctamente - [ ] Datos actualizados diariamente - [ ] Performance aceptable (< 2s carga) - [ ] Filtros funcionan correctamente - [ ] Mobile responsive --- **Asignado a:** - **Sprint:** -