🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
214 lines
7.0 KiB
Markdown
214 lines
7.0 KiB
Markdown
---
|
|
id: "US-ML-008"
|
|
title: "Mapa de zonas emergentes"
|
|
type: "User Story"
|
|
epic: "IAI-008"
|
|
status: "Draft"
|
|
story_points: 8
|
|
priority: "Media"
|
|
project: "inmobiliaria-analytics"
|
|
created_date: "2026-01-04"
|
|
updated_date: "2026-01-04"
|
|
---
|
|
|
|
# US-ML-008: Mapa de zonas emergentes
|
|
|
|
---
|
|
|
|
## User Story
|
|
|
|
**Como** inversor inmobiliario
|
|
**Quiero** visualizar zonas con potencial de apreciacion en un mapa interactivo
|
|
**Para** identificar donde invertir antes de que suban los precios
|
|
|
|
---
|
|
|
|
## Descripcion
|
|
|
|
Implementar mapa interactivo que muestre zonas clasificadas por potencial de apreciacion, con colores indicando oportunidad (verde=alta, amarillo=media, rojo=baja), incluyendo metricas clave y tendencias historicas por zona.
|
|
|
|
---
|
|
|
|
## Criterios de Aceptacion
|
|
|
|
- [ ] Mapa interactivo con polygonos de zonas
|
|
- [ ] Color-coding por potencial de apreciacion
|
|
- [ ] Click en zona muestra metricas detalladas
|
|
- [ ] Filtros por tipo de propiedad y rango de precio
|
|
- [ ] Historico de 12 meses en graficas
|
|
- [ ] Carga rapida (< 2 segundos)
|
|
|
|
---
|
|
|
|
## Mockup del Mapa
|
|
|
|
```
|
|
+----------------------------------------------------------+
|
|
| MAPA DE OPORTUNIDADES DE INVERSION |
|
|
+----------------------------------------------------------+
|
|
| Filtros: [Casas ▼] [< $5M ▼] [Ultimos 12 meses ▼] |
|
|
+----------------------------------------------------------+
|
|
| |
|
|
| ┌─────────────────────────────────────────────┐ |
|
|
| │ ZAPOPAN │ |
|
|
| │ ┌────────┐ │ |
|
|
| │ │ Country│ ▓▓▓ │ |
|
|
| │ │ Club │ │ |
|
|
| │ └────────┘ ┌──────────┐ │ |
|
|
| │ │Providencia│ ███ │ |
|
|
| │ ┌──────┐ │ (+18%) │ │ |
|
|
| │ │Chapal│ └──────────┘ │ |
|
|
| │ │ita │ ▓▓▓ │ |
|
|
| │ └──────┘ │ |
|
|
| │ GUADALAJARA │ |
|
|
| │ ┌─────────┐ │ |
|
|
| │ │Lafayette│ ███ │ |
|
|
| │ │ (+22%) │ │ |
|
|
| │ └─────────┘ ┌────────┐ │ |
|
|
| │ │Americana│ ▓▓▓ │ |
|
|
| │ │ (+15%) │ │ |
|
|
| │ └────────┘ │ |
|
|
| │ │ |
|
|
| │ ███ Alta (>15%) ▓▓▓ Media (8-15%) │ |
|
|
| │ ░░░ Baja (<8%) ─── Sin datos │ |
|
|
| └─────────────────────────────────────────────┘ |
|
|
| |
|
|
+----------------------------------------------------------+
|
|
```
|
|
|
|
---
|
|
|
|
## Panel de Detalle de Zona
|
|
|
|
```
|
|
+------------------------------------------+
|
|
| LAFAYETTE - Zapopan |
|
|
+------------------------------------------+
|
|
| |
|
|
| Score de Inversion: 87/100 ████ |
|
|
| Riesgo: Bajo |
|
|
| |
|
|
| METRICAS |
|
|
| ┌─────────────────────────────────────┐ |
|
|
| │ Apreciacion 12m │ +22.3% │ |
|
|
| │ Precio promedio/m2 │ $35,400 │ |
|
|
| │ vs. promedio ciudad │ +18% │ |
|
|
| │ Tendencia │ Acelerando │ |
|
|
| │ Inventario activo │ 45 props │ |
|
|
| │ Dias en mercado │ 38 dias │ |
|
|
| └─────────────────────────────────────┘ |
|
|
| |
|
|
| TENDENCIA DE PRECIOS |
|
|
| $40K │ ╭────── |
|
|
| $35K │ ╭───╯ |
|
|
| $30K │╭───╯ |
|
|
| $25K │ |
|
|
| └──────────────────── |
|
|
| E F M A M J J A S O N D |
|
|
| |
|
|
| DRIVERS DE CRECIMIENTO |
|
|
| - Nuevo desarrollo comercial |
|
|
| - Derrame de zona Andares |
|
|
| - Alta demanda, bajo inventario |
|
|
| |
|
|
| PROPIEDADES EN ZONA |
|
|
| [Ver 45 propiedades activas] |
|
|
| |
|
|
+------------------------------------------+
|
|
```
|
|
|
|
---
|
|
|
|
## Tareas Tecnicas
|
|
|
|
| # | Tarea | Estimacion |
|
|
|---|-------|------------|
|
|
| 1 | Obtener/crear GeoJSON de colonias | 4h |
|
|
| 2 | Implementar mapa con Mapbox/Leaflet | 6h |
|
|
| 3 | Calcular scores por zona (backend) | 4h |
|
|
| 4 | Panel de detalle interactivo | 4h |
|
|
| 5 | Graficas de tendencia por zona | 4h |
|
|
| 6 | Filtros y busqueda | 3h |
|
|
| 7 | Optimizacion de carga | 2h |
|
|
| 8 | Tests | 2h |
|
|
|
|
**Total estimado:** 29h (~3.5 dias)
|
|
|
|
---
|
|
|
|
## Datos por Zona
|
|
|
|
```yaml
|
|
zone_data:
|
|
lafayette:
|
|
polygon: "geojson..."
|
|
municipality: "Zapopan"
|
|
|
|
metrics:
|
|
appreciation_12m: 22.3
|
|
avg_price_m2: 35400
|
|
vs_city_avg: 1.18
|
|
trend: "accelerating"
|
|
inventory: 45
|
|
avg_dom: 38
|
|
|
|
investment_score: 87
|
|
risk_level: "low"
|
|
|
|
drivers:
|
|
- "Nuevo desarrollo comercial cercano"
|
|
- "Derrame de zona Andares"
|
|
- "Alta demanda vs inventario bajo"
|
|
|
|
forecast:
|
|
next_12m: 15.5 # % estimado
|
|
confidence: 0.78
|
|
```
|
|
|
|
---
|
|
|
|
## API Endpoints
|
|
|
|
```yaml
|
|
endpoints:
|
|
GET /api/zones/emerging:
|
|
description: "Lista de zonas emergentes"
|
|
response:
|
|
- zone_id
|
|
- name
|
|
- polygon_geojson
|
|
- score
|
|
- appreciation_12m
|
|
- color_code
|
|
|
|
GET /api/zones/{zone_id}/details:
|
|
description: "Detalle de una zona"
|
|
response:
|
|
- full_metrics
|
|
- price_history_monthly
|
|
- drivers
|
|
- forecast
|
|
- sample_properties
|
|
|
|
GET /api/zones/heatmap:
|
|
description: "Datos para heatmap de precios"
|
|
response:
|
|
- grid_cells_with_values
|
|
```
|
|
|
|
---
|
|
|
|
## Definition of Done
|
|
|
|
- [ ] Mapa renderiza correctamente
|
|
- [ ] Polygonos de zonas cargados
|
|
- [ ] Colores reflejan scoring correcto
|
|
- [ ] Panel de detalle funcional
|
|
- [ ] Performance < 2s carga inicial
|
|
- [ ] Mobile responsive
|
|
|
|
---
|
|
|
|
**Asignado a:** -
|
|
**Sprint:** -
|