--- 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:** -