inmobiliaria-analytics/docs/01-fase-alcance-inicial/IAI-007-webscraper/historias-usuario/US-SCR-003.md
rckrdmrd f570727617 feat: Documentation and orchestration updates
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 05:35:40 -06:00

136 lines
2.8 KiB
Markdown

---
id: "US-SCR-003"
title: "Normalizacion de datos de multiples fuentes"
type: "User Story"
epic: "IAI-007"
status: "Draft"
story_points: 8
priority: "Alta"
project: "inmobiliaria-analytics"
created_date: "2026-01-04"
updated_date: "2026-01-04"
---
# US-SCR-003: Normalizacion de datos de multiples fuentes
---
## User Story
**Como** sistema de analytics
**Quiero** que los datos de diferentes portales se normalicen a un schema unificado
**Para** poder realizar analisis consistentes independientemente de la fuente
---
## Descripcion
Implementar el pipeline ETL que transforma datos raw de cada portal al schema normalizado, incluyendo limpieza de datos, geocoding, calculo de metricas derivadas y deteccion de duplicados.
---
## Criterios de Aceptacion
### Funcionales
- [ ] Tipos de propiedad se mapean a enum unificado
- [ ] Precios se convierten a formato numerico estandar
- [ ] Direcciones se geocodifican a lat/lon
- [ ] Duplicados cross-source se detectan y fusionan
- [ ] Precio por m2 se calcula automaticamente
### Calidad de Datos
- [ ] 95%+ de registros tienen geocoding exitoso
- [ ] 0% de precios con formato incorrecto
- [ ] Duplicados detectados con precision > 98%
---
## Transformaciones
```yaml
transformaciones:
precio:
input: "$3,500,000 MXN" | "3.5 millones"
output: 3500000.00
pasos:
- remove_currency_symbols
- expand_abbreviations
- to_decimal
tipo_propiedad:
input: "Casa en Venta" | "Casa" | "Residencia"
output: "house"
pasos:
- lowercase
- normalize_synonyms
- map_to_enum
ubicacion:
input: "Col. Providencia, Guadalajara, Jal."
output:
neighborhood: "Providencia"
city: "Guadalajara"
state: "Jalisco"
pasos:
- parse_address_components
- normalize_state_names
- geocode_to_coordinates
```
---
## Reglas de Deduplicacion
```yaml
deduplicacion:
estrategia_primaria:
match: source_id + source
accion: update
estrategia_fallback:
match:
- address_normalized
- price +/- 5%
- type
- size +/- 10%
accion: merge
merge_policy:
precio: most_recent
descripcion: longest
fotos: union
first_seen: oldest
last_seen: newest
```
---
## Tareas Tecnicas
| # | Tarea | Estimacion |
|---|-------|------------|
| 1 | Parser de precios robusto | 3h |
| 2 | Normalizador de tipos | 2h |
| 3 | Integracion geocoding API | 4h |
| 4 | Algoritmo de deduplicacion | 6h |
| 5 | Calculo de metricas derivadas | 2h |
| 6 | Tests unitarios | 4h |
**Total estimado:** 21h (~3 dias)
---
## Definition of Done
- [ ] Pipeline procesa 1000 propiedades/hora
- [ ] Metricas de calidad cumplen objetivos
- [ ] Tests de transformacion pasan
- [ ] Documentacion de mappings completa
---
**Asignado a:** -
**Sprint:** -