🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
261 lines
6.1 KiB
Markdown
261 lines
6.1 KiB
Markdown
---
|
|
id: "RF-ML-003"
|
|
title: "Deteccion de Oportunidades de Inversion"
|
|
type: "Functional Requirement"
|
|
epic: "IAI-008"
|
|
priority: "Alta"
|
|
status: "Draft"
|
|
project: "inmobiliaria-analytics"
|
|
created_date: "2026-01-04"
|
|
updated_date: "2026-01-04"
|
|
---
|
|
|
|
# RF-IA-008-003: Deteccion de Oportunidades de Inversion
|
|
|
|
---
|
|
|
|
## Descripcion
|
|
|
|
El sistema debe identificar automaticamente propiedades subvaluadas, zonas emergentes con potencial de apreciacion, y oportunidades de inversion basandose en analisis de mercado y modelos predictivos.
|
|
|
|
---
|
|
|
|
## Justificacion
|
|
|
|
Los inversores buscan oportunidades que el mercado aun no ha identificado. Un sistema automatizado puede analizar miles de propiedades y detectar anomalias de precio o tendencias emergentes que serian imposibles de identificar manualmente.
|
|
|
|
---
|
|
|
|
## Requisitos Funcionales
|
|
|
|
### RF-003.1: Propiedades Subvaluadas
|
|
|
|
| ID | Requisito | Prioridad |
|
|
|----|-----------|-----------|
|
|
| RF-003.1.1 | El sistema debe comparar precio lista vs valor AVM | Alta |
|
|
| RF-003.1.2 | El sistema debe clasificar nivel de oportunidad | Alta |
|
|
| RF-003.1.3 | El sistema debe filtrar falsos positivos (distressed, defectos) | Alta |
|
|
| RF-003.1.4 | El sistema debe validar con comparables recientes | Alta |
|
|
|
|
### RF-003.2: Zonas Emergentes
|
|
|
|
| ID | Requisito | Prioridad |
|
|
|----|-----------|-----------|
|
|
| RF-003.2.1 | El sistema debe detectar zonas con incremento de demanda | Alta |
|
|
| RF-003.2.2 | El sistema debe identificar senales de desarrollo | Alta |
|
|
| RF-003.2.3 | El sistema debe proyectar apreciacion potencial | Media |
|
|
| RF-003.2.4 | El sistema debe clasificar etapa de emergencia | Media |
|
|
|
|
### RF-003.3: Alertas
|
|
|
|
| ID | Requisito | Prioridad |
|
|
|----|-----------|-----------|
|
|
| RF-003.3.1 | El sistema debe notificar nuevas oportunidades | Alta |
|
|
| RF-003.3.2 | El sistema debe permitir configurar criterios de alerta | Alta |
|
|
| RF-003.3.3 | El sistema debe priorizar oportunidades por score | Media |
|
|
|
|
---
|
|
|
|
## Deteccion de Subvaluadas
|
|
|
|
### Metodologia
|
|
|
|
```yaml
|
|
pasos:
|
|
1_valuacion:
|
|
accion: "Calcular valor mercado con AVM"
|
|
output: valor_mercado, confianza
|
|
|
|
2_comparacion:
|
|
accion: "Calcular descuento = (valor_mercado - precio_lista) / valor_mercado"
|
|
output: descuento_pct
|
|
|
|
3_validacion:
|
|
accion: "Verificar con comparables recientes"
|
|
filtros:
|
|
- confianza_avm > 0.75
|
|
- antiguedad_listing < 30 dias
|
|
- no_es_foreclosure
|
|
- no_tiene_defectos_obvios
|
|
|
|
4_clasificacion:
|
|
umbrales:
|
|
oportunidad_moderada: ">= 10%"
|
|
oportunidad_alta: ">= 15%"
|
|
oportunidad_excepcional: ">= 20%"
|
|
```
|
|
|
|
### Filtros Anti-Falso Positivo
|
|
|
|
```yaml
|
|
filtros:
|
|
excluir:
|
|
- precio_muy_bajo: "< percentil_5 de zona"
|
|
- descripcion_contiene: ["rematar", "urgente", "embargo"]
|
|
- sin_fotos: true
|
|
- antiguedad_extrema: "> 50 anos sin remodelacion"
|
|
|
|
flags_revisar:
|
|
- precio_baja_reciente: "> 20% en 30 dias"
|
|
- tiempo_en_mercado_largo: "> 180 dias"
|
|
```
|
|
|
|
---
|
|
|
|
## Deteccion de Zonas Emergentes
|
|
|
|
### Senales
|
|
|
|
```yaml
|
|
senales:
|
|
infraestructura:
|
|
peso: 0.25
|
|
indicadores:
|
|
- nuevas_lineas_transporte
|
|
- nuevos_centros_comerciales
|
|
- mejoras_viales
|
|
fuente: "noticias, permisos municipales"
|
|
|
|
desarrollo:
|
|
peso: 0.20
|
|
indicadores:
|
|
- permisos_construccion_nuevos
|
|
- proyectos_anunciados
|
|
- inversion_inmobiliaria
|
|
fuente: "registros publicos, noticias"
|
|
|
|
demanda:
|
|
peso: 0.30
|
|
indicadores:
|
|
- incremento_busquedas_yoy: "> 20%"
|
|
- reduccion_dias_mercado_yoy: "> 15%"
|
|
- incremento_precio_m2_yoy: "> 10%"
|
|
fuente: "datos propios"
|
|
|
|
demograficos:
|
|
peso: 0.15
|
|
indicadores:
|
|
- crecimiento_poblacional
|
|
- mejora_nivel_socioeconomico
|
|
- reduccion_criminalidad
|
|
fuente: "INEGI, estadisticas publicas"
|
|
|
|
sociales:
|
|
peso: 0.10
|
|
indicadores:
|
|
- nuevos_restaurantes_cafes
|
|
- apertura_coworkings
|
|
- eventos_culturales
|
|
fuente: "Google Places, Yelp"
|
|
```
|
|
|
|
### Clasificacion
|
|
|
|
```yaml
|
|
clasificacion:
|
|
early_stage:
|
|
score: "60-70"
|
|
caracteristicas: "Senales iniciales, pocos inversionistas"
|
|
riesgo: "Alto"
|
|
potencial: "Muy alto"
|
|
|
|
growing:
|
|
score: "70-80"
|
|
caracteristicas: "Tendencia confirmada, precios subiendo"
|
|
riesgo: "Medio"
|
|
potencial: "Alto"
|
|
|
|
maturing:
|
|
score: "80-90"
|
|
caracteristicas: "Establecida, desacelerando"
|
|
riesgo: "Bajo"
|
|
potencial: "Medio"
|
|
|
|
saturated:
|
|
score: "> 90"
|
|
caracteristicas: "Precios altos, poco upside"
|
|
riesgo: "Bajo"
|
|
potencial: "Bajo"
|
|
```
|
|
|
|
---
|
|
|
|
## API Endpoints
|
|
|
|
```yaml
|
|
GET /api/v1/ml/opportunities/undervalued:
|
|
description: Listar propiedades subvaluadas
|
|
query:
|
|
min_discount: number # default 10
|
|
max_price: number
|
|
property_type: string
|
|
zone_id: string
|
|
limit: integer
|
|
response:
|
|
opportunities:
|
|
- property_id: string
|
|
price: number
|
|
estimated_value: number
|
|
discount_pct: number
|
|
opportunity_level: string
|
|
confidence: number
|
|
comparables: array
|
|
|
|
GET /api/v1/ml/opportunities/emerging-zones:
|
|
description: Listar zonas emergentes
|
|
query:
|
|
min_score: number
|
|
stage: string
|
|
response:
|
|
zones:
|
|
- zone_id: string
|
|
name: string
|
|
score: number
|
|
stage: string
|
|
appreciation_12m: number
|
|
signals: array
|
|
heatmap: geojson
|
|
|
|
POST /api/v1/ml/opportunities/alerts:
|
|
description: Configurar alertas de oportunidad
|
|
request:
|
|
criteria:
|
|
min_discount: number
|
|
property_types: array
|
|
zones: array
|
|
max_price: number
|
|
channels: array # email, push, webhook
|
|
response: 201 Created
|
|
```
|
|
|
|
---
|
|
|
|
## Criterios de Aceptacion
|
|
|
|
- [ ] Propiedades subvaluadas detectadas con precision > 80%
|
|
- [ ] Falsos positivos < 20%
|
|
- [ ] Zonas emergentes correlacionan con apreciacion real
|
|
- [ ] Alertas se envian en < 1 hora de nueva oportunidad
|
|
- [ ] Dashboard muestra mapa de calor de oportunidades
|
|
- [ ] Usuarios pueden configurar criterios de alerta
|
|
|
|
---
|
|
|
|
## Dependencias
|
|
|
|
- IA-008-001 (AVM): Valuacion de propiedades
|
|
- IA-007 (Webscraper): Datos de listings
|
|
- Fuentes externas (INEGI, noticias)
|
|
|
|
---
|
|
|
|
## Historias de Usuario Relacionadas
|
|
|
|
- US-ML-005: Alertas de oportunidades
|
|
- US-ML-008: Zonas emergentes
|
|
|
|
---
|
|
|
|
**Autor:** ML Lead
|
|
**Fecha:** 2026-01-04
|