ANEXO 10
Calidad de datos
Este anexo corresponde a la Fase 2 — Resguardo, especialmente a las etapas “Validación inicial” y “Semáforo de calidad de datos” de FARO Connect.
1. Objetivo del anexo
El objetivo del Anexo 10 — Calidad de datos es definir cómo FARO Connect evalúa si la información recibida es completa, válida, consistente, actualizada, trazable y confiable antes de usarla para calcular KPIs, alertas, tensiones, recomendaciones, acciones o FARO Score.
La pregunta central es:
¿Este dato sirve para tomar decisiones o todavía necesita revisión?
FARO no puede tratar todos los datos como si fueran igualmente confiables.
No es lo mismo:
Venta cargada desde ERP con cliente, producto, costo, vendedor, descuento y fecha.
que:
Excel manual con producto escrito distinto, sin costo actualizado y sin fecha de cobro.
Ambos son datos. Pero no tienen la misma calidad. Y si FARO no distingue eso, puede tomar una lectura débil como si fuera una verdad absoluta. Peligroso.
2. Tesis del Anexo 10
La tesis es:
La inteligencia de FARO depende de la calidad del dato que recibe.
Un dato de mala calidad puede generar una cadena completa de errores:
Dato incorrecto
→ KPI incorrecto
→ señal incorrecta
→ alerta incorrecta
→ tensión incorrecta
→ recomendación incorrecta
→ acción incorrecta
→ FARO Score incorrecto
En una empresa, eso no es un detalle técnico. Es riesgo de dirección.
Frase directa:
La calidad de datos no es un tema de sistemas. Es un tema de gobierno empresarial.
3. Qué significa calidad de datos para FARO
Para FARO, un dato de calidad debe cumplir con 10 condiciones.
| Dimensión | Qué pregunta responde | Ejemplo |
|---|---|---|
| Completitud | ¿Está todo lo necesario? | Venta con cliente, producto, precio, costo y vendedor. |
| Validez | ¿Tiene formato correcto? | Fecha válida, importe numérico, descuento entre 0% y 100%. |
| Consistencia | ¿Coincide con otras fuentes? | Venta en ERP coincide con factura y cobranza. |
| Unicidad | ¿No está duplicado? | Cliente no cargado tres veces. |
| Actualización | ¿Está al día? | Stock actualizado hoy, no hace 20 días. |
| Trazabilidad | ¿Se sabe de dónde salió? | Archivo, usuario, fecha, lote y fuente. |
| Integridad referencial | ¿Existe en las tablas maestras? | Producto vinculado a maestro de productos. |
| Granularidad | ¿Tiene suficiente detalle? | Venta por producto, no solo total mensual. |
| Clasificación | ¿Está bien asignado? | Gasto de Directorio no cargado como Administración. |
| Coherencia de negocio | ¿Tiene sentido en la realidad? | Descuento de 85% en una venta normal requiere revisión. |
4. Diferencia entre validación y calidad
No son lo mismo.
| Concepto | Qué hace | Ejemplo |
|---|---|---|
| Validación | Revisa si el dato cumple reglas mínimas. | Fecha no nula, importe mayor a cero. |
| Calidad | Evalúa qué tan confiable es el dato para dirigir. | Dato completo, consistente, trazable y actualizado. |
| Confianza | Define si FARO puede usarlo para conclusiones fuertes. | Alta, media, baja o no confiable. |
Ejemplo:
Una venta puede pasar validación básica porque tiene fecha, cliente e importe.
Pero puede tener baja calidad si no tiene costo, canal, descuento o vendedor.
Entonces FARO debería decir:
Dato válido, pero con calidad media.
Puede usarse para ventas, pero no para margen ni comisión.
Eso es mucho más serio.
5. Estados de calidad de datos
FARO debería clasificar cada fuente, módulo o campo con un semáforo.
| Estado | Score | Lectura | Uso permitido |
|---|---|---|---|
| Confiable | 0.85 - 1.00 | Dato completo, consistente y trazable. | KPIs, reglas, tensiones, score y decisiones. |
| Usable con observaciones | 0.70 - 0.84 | Dato útil, pero con algunos riesgos. | KPIs y alertas con advertencia. |
| Débil | 0.50 - 0.69 | Dato incompleto o inconsistente. | Solo diagnóstico preliminar. |
| No confiable | 0.00 - 0.49 | Dato riesgoso. | No usar para decisiones críticas. |
Ejemplo:
Ventas: 0.91 → Confiable.
Stock: 0.64 → Débil.
RRHH: 0.76 → Usable con observaciones.
Comisiones: 0.48 → No confiable.
6. Calidad por nivel
FARO debe medir calidad en varios niveles.
| Nivel | Qué evalúa | Ejemplo |
|---|---|---|
| Campo | Calidad de una columna específica. | costo_unitario completo en 72% de registros. |
| Registro | Calidad de una fila o evento. | venta con datos completos o incompletos. |
| Fuente | Calidad de un sistema o archivo. | ERP ventas confiable, Excel comisiones débil. |
| Módulo | Calidad del conjunto de datos de un área. | Comercial listo, Stock riesgoso. |
| Empresa | Calidad general para implementar FARO. | Empresa apta para Pro, no todavía para Neural. |
Esto es clave porque puede pasar algo muy común:
Ventas tiene buena calidad.
Stock tiene calidad media.
RRHH tiene baja calidad.
Entonces FARO no debería frenar todo. Debe avanzar por módulos, con criterio.
7. Reglas FARO de calidad de datos
La biblioteca inicial puede tener 50 a 120 reglas base.
Escalable a:
300+ reglas de calidad por industria, fuente, módulo y tipo de dato.
Ejemplos de reglas base
| Código | Regla | Área |
|---|---|---|
| DQ-001 | Fecha obligatoria. | Todas |
| DQ-002 | Importe debe ser numérico y mayor a cero. | Comercial / Finanzas |
| DQ-003 | Producto debe existir en maestro. | Comercial / Stock / Compras |
| DQ-004 | Cliente debe existir en maestro. | Comercial / Finanzas |
| DQ-005 | Costo unitario requerido para calcular margen. | Comercial / Finanzas |
| DQ-006 | Stock actual no puede ser negativo sin ajuste aprobado. | Stock |
| DQ-007 | Descuento no puede superar umbral sin autorización. | Comercial |
| DQ-008 | Empleado debe existir en maestro RRHH. | RRHH |
| DQ-009 | Acción debe tener responsable y vencimiento. | Workflow |
| DQ-010 | Gasto debe tener área o centro de costo. | Finanzas |
| DQ-011 | Cobranza debe vincularse a cliente o comprobante. | Finanzas |
| DQ-012 | Proveedor debe estar identificado. | Compras |
| DQ-013 | Documento debe tener origen y fecha. | Administración |
| DQ-014 | Registro duplicado debe ser observado. | Todas |
| DQ-015 | Campo crítico faltante bloquea cálculo avanzado. | Todas |
8. Validaciones mínimas por módulo
8.1 Comercial
| Campo | Validación | Riesgo si falla |
|---|---|---|
| Fecha | Obligatoria y válida. | No se puede analizar evolución. |
| Cliente | Obligatorio y normalizado. | No se mide rentabilidad ni mora. |
| Producto | Obligatorio y normalizado. | No se calcula margen ni stock. |
| Vendedor | Obligatorio. | No se mide desempeño ni comisión. |
| Precio | Numérico y mayor a cero. | Venta inválida. |
| Descuento | Entre 0 y máximo permitido. | Margen distorsionado. |
| Costo | Mayor a cero. | No se calcula margen. |
| Sucursal | Obligatoria si hay múltiples unidades. | No se compara desempeño. |
8.2 Finanzas
| Campo | Validación | Riesgo si falla |
|---|---|---|
| Fecha de cobro | Válida. | No se calcula días de cobranza. |
| Monto | Numérico. | Caja incorrecta. |
| Cliente | Vinculado. | Cobranza no atribuible. |
| Vencimiento | Válido. | Mora incorrecta. |
| Cuenta | Identificada. | Conciliación débil. |
| Centro de costo | Obligatorio para gastos. | Gasto mal asignado. |
| Proveedor | Obligatorio para pagos. | No se analiza dependencia. |
8.3 Stock
| Campo | Validación | Riesgo si falla |
|---|---|---|
| Producto | Debe existir en maestro. | Inventario desordenado. |
| Stock actual | Numérico. | Stock incorrecto. |
| Stock mínimo | Numérico. | No se detecta stock crítico. |
| Ubicación | Depósito / sucursal. | No se sabe dónde está el producto. |
| Último movimiento | Fecha válida. | No se detecta inmovilizado. |
| Costo unitario | Mayor a cero. | Stock valorizado mal. |
| Proveedor | Vinculado. | Reposición débil. |
8.4 RRHH
| Campo | Validación | Riesgo si falla |
|---|---|---|
| Empleado | Debe existir en maestro. | Costo laboral desordenado. |
| Área | Obligatoria. | No se mide productividad por área. |
| Rol | Obligatorio. | RACI débil. |
| Sueldo | Numérico. | Costo laboral incorrecto. |
| Comisión | Numérica si aplica. | Incentivo no medible. |
| Ausentismo | Fecha y horas válidas. | Productividad incompleta. |
| Superior | Necesario para escalamiento. | Workflow incompleto. |
8.5 Workflow / Dirección
| Campo | Validación | Riesgo si falla |
|---|---|---|
| Acción | Obligatoria. | No hay ejecución. |
| Responsable | Obligatorio. | Tarea huérfana. |
| Vencimiento | Obligatorio. | No hay presión de cierre. |
| Estado | Obligatorio. | No se mide avance. |
| KPI relacionado | Recomendado. | No se mide impacto. |
| Tensión relacionada | Recomendado. | No se entiende causa. |
| Fecha de cierre | Obligatoria al cerrar. | No se mide velocidad. |
9. Fórmulas de calidad de datos
9.1 Completitud
Completitud = campos completos / campos requeridos
def completitud(campos_completos, campos_requeridos):
if campos_requeridos == 0:
return 0
return campos_completos / campos_requeridos
9.2 Validez
Validez = registros válidos / registros totales
def validez(registros_validos, registros_totales):
if registros_totales == 0:
return 0
return registros_validos / registros_totales
9.3 Consistencia
Consistencia = coincidencias entre fuentes / comparaciones realizadas
Ejemplo:
def consistencia(coincidencias, comparaciones):
if comparaciones == 0:
return 0
return coincidencias / comparaciones
9.4 Unicidad
Unicidad = 1 - (duplicados / registros totales)
def unicidad(duplicados, registros_totales):
if registros_totales == 0:
return 1
return 1 - (duplicados / registros_totales)
9.5 Actualización
Actualización = registros actualizados / registros evaluados
O también puede medirse por antigüedad del dato:
from datetime import datetime
def score_actualizacion(fecha_ultima_actualizacion, dias_maximos):
hoy = datetime.now()
dias = (hoy - fecha_ultima_actualizacion).days
if dias <= dias_maximos:
return 1
score = max(0, 1 - ((dias - dias_maximos) / dias_maximos))
return round(score, 2)
9.6 Trazabilidad
Trazabilidad = registros con origen completo / registros totales
def trazabilidad(registros_con_origen, registros_totales):
if registros_totales == 0:
return 0
return registros_con_origen / registros_totales
10. Score de calidad FARO
10.1 Fórmula general
Score Calidad FARO =
Completitud × 25%
+ Validez × 20%
+ Consistencia × 20%
+ Trazabilidad × 15%
+ Actualización × 10%
+ Unicidad × 10%
10.2 Código ejemplo
def score_calidad_faro(
completitud,
validez,
consistencia,
trazabilidad,
actualizacion,
unicidad
):
score = (
completitud * 0.25 +
validez * 0.20 +
consistencia * 0.20 +
trazabilidad * 0.15 +
actualizacion * 0.10 +
unicidad * 0.10
)
return round(score, 2)
11. Score de calidad por registro
A veces FARO necesita calificar una fila específica.
Ejemplo de venta:
def score_registro_venta(venta):
campos_obligatorios = [
"fecha",
"cliente",
"producto",
"cantidad",
"precio",
"vendedor",
"sucursal"
]
campos_recomendados = [
"costo_unitario",
"descuento",
"condicion_pago",
"canal"
]
obligatorios_ok = sum(1 for c in campos_obligatorios if venta.get(c))
recomendados_ok = sum(1 for c in campos_recomendados if venta.get(c))
score_obligatorios = obligatorios_ok / len(campos_obligatorios)
score_recomendados = recomendados_ok / len(campos_recomendados)
score = score_obligatorios * 0.75 + score_recomendados * 0.25
return round(score, 2)
Lectura:
Si score < 0.70:
la venta puede entrar, pero no debería activar decisiones críticas.
12. Validación inicial automática
Ejemplo de validación de venta:
def validar_venta(venta):
errores = []
observaciones = []
if not venta.get("fecha"):
errores.append("fecha_faltante")
if not venta.get("cliente"):
errores.append("cliente_faltante")
if not venta.get("producto"):
errores.append("producto_faltante")
if venta.get("cantidad", 0) <= 0:
errores.append("cantidad_invalida")
if venta.get("precio", 0) <= 0:
errores.append("precio_invalido")
if venta.get("costo_unitario") is None:
observaciones.append("costo_faltante_no_calcula_margen")
if venta.get("descuento", 0) > 0.30:
observaciones.append("descuento_fuera_de_rango_revisar")
return {
"errores": errores,
"observaciones": observaciones,
"estado": "rechazado" if errores else "observado" if observaciones else "aceptado"
}
13. Clasificación de errores
No todos los errores son iguales.
| Tipo | Qué significa | Acción |
|---|---|---|
| Crítico | Impide procesar el dato. | Rechazar o pedir corrección. |
| Alto | Permite procesar parcialmente, pero bloquea KPIs importantes. | Observar y limitar uso. |
| Medio | Afecta lectura secundaria. | Procesar con advertencia. |
| Bajo | No afecta análisis principal. | Procesar y registrar. |
Ejemplos:
| Error | Severidad | Motivo |
|---|---|---|
| Venta sin fecha | Crítico | No se puede ubicar en el tiempo. |
| Venta sin producto | Crítico | No se puede vincular a stock ni margen. |
| Venta sin costo | Alto | No se calcula margen. |
| Cliente no normalizado | Alto | No se mide rentabilidad ni mora. |
| Canal faltante | Medio | Se pierde análisis comercial por canal. |
| Observación textual vacía | Bajo | No afecta cálculo principal. |
14. Estados de validación
| Estado | Significado |
|---|---|
| Aceptado | Puede pasar al flujo completo. |
| Observado | Puede procesarse parcialmente con advertencias. |
| Rechazado | No puede usarse hasta corregirse. |
| Pendiente de validación humana | Requiere revisión de un usuario. |
| Corregido | Fue ajustado y puede reprocesarse. |
| Reprocesado | Volvió a entrar al pipeline. |
15. Uso de datos según calidad
| Calidad | Puede alimentar KPIs | Puede activar alertas | Puede activar tensiones | Puede afectar FARO Score | Puede recomendar acciones |
|---|---|---|---|---|---|
| Confiable | Sí | Sí | Sí | Sí | Sí |
| Usable con observaciones | Sí, con advertencia | Sí, si no es crítico | Sí, con confianza media | Parcial | Sí, con revisión |
| Débil | Solo preliminar | No críticas | Solo hipótesis | No o parcial | No automática |
| No confiable | No | No | No | No | No |
Esta tabla es fundamental. Evita que FARO se pase de vivo.
16. Calidad y confianza del diagnóstico
La calidad de datos debe influir en la confianza de cualquier diagnóstico.
Ejemplo:
Tensión detectada:
Crecimiento no rentable.
Calidad de ventas: 0.90
Calidad de costos: 0.65
Calidad de cobranza: 0.70
Confianza del diagnóstico: media.
Fórmula:
Confianza diagnóstico =
Calidad ventas × 30%
+ Calidad costos × 30%
+ Calidad cobranza × 20%
+ Consistencia histórica × 20%
Código:
def confianza_crecimiento_no_rentable(calidad_ventas, calidad_costos, calidad_cobranza, consistencia):
return round(
calidad_ventas * 0.30 +
calidad_costos * 0.30 +
calidad_cobranza * 0.20 +
consistencia * 0.20,
2
)
17. Calidad mínima por etapa FARO
| Etapa FARO | Calidad mínima recomendada |
|---|---|
| Ingesta / RAW | 0.50 |
| Staging | 0.60 |
| KPIs básicos | 0.70 |
| Alertas simples | 0.75 |
| Tensiones ejecutivas | 0.80 |
| Recomendaciones automáticas | 0.85 |
| FARO Score avanzado | 0.85 |
| Simulación / Neural | 0.90 |
Regla conservadora:
Mientras más inteligente sea la salida, más alta debe ser la calidad mínima del dato.
18. Ejemplo: calidad comercial
Datos encontrados
Ventas completas: 95%
Clientes normalizados: 88%
Productos normalizados: 92%
Costos actualizados: 65%
Descuentos completos: 90%
Vendedores identificados: 96%
Lectura FARO
Ventas y descuentos son confiables.
Margen tiene confianza media porque costos están incompletos.
Comisiones pueden analizarse parcialmente.
Tensión crecimiento no rentable puede detectarse con advertencia.
Acción recomendada
Completar costo unitario actualizado.
Normalizar productos restantes.
Vincular ventas con cobranza.
19. Ejemplo: calidad de stock
Datos encontrados
Stock actual disponible: 90%
Stock mínimo disponible: 55%
Último movimiento: 60%
Proveedor vinculado: 50%
Diferencia físico-sistema: no disponible
Lectura FARO
Se puede ver stock actual.
No se puede anticipar stock crítico con alta confianza.
Stock inmovilizado tiene confianza media/baja.
Proveedor crítico no es confiable todavía.
Acción recomendada
Completar stock mínimo.
Registrar último movimiento.
Vincular proveedor habitual.
Hacer control físico por muestra.
20. Ejemplo: calidad de workflow
Datos encontrados
Acciones registradas: sí.
Responsables: 70%.
Vencimientos: 40%.
Estados: 60%.
Fecha de cierre: 30%.
KPI relacionado: 15%.
Lectura FARO
El workflow existe, pero no permite medir ejecución con seriedad.
No puede alimentar FARO Score avanzado.
La tensión Dirección sin ejecución es probable, pero requiere mejorar trazabilidad.
Acción recomendada
Hacer obligatorio responsable, vencimiento, estado y fecha de cierre.
Vincular cada acción a KPI o tensión cuando corresponda.
21. Reporte de calidad de datos
FARO debería generar un reporte de calidad por fuente y módulo.
Ejemplo
| Módulo | Score calidad | Estado | Problema principal | Acción recomendada |
|---|---|---|---|---|
| Comercial | 0.86 | Confiable | Costos incompletos. | Integrar costos. |
| Finanzas | 0.81 | Usable | Cobranzas sin cliente en algunos movimientos. | Conciliar bancos. |
| Stock | 0.62 | Débil | Faltan mínimos y último movimiento. | Completar maestro. |
| RRHH | 0.74 | Usable | Comisiones fuera de sistema. | Normalizar variables. |
| Workflow | 0.52 | Débil | Faltan vencimientos y cierres. | Hacer campos obligatorios. |
22. Acciones de mejora de calidad
| Problema | Acción correctiva |
|---|---|
| Campos obligatorios vacíos | Bloquear carga o pedir corrección. |
| Productos duplicados | Normalizar contra maestro. |
| Clientes repetidos | Unificar cliente y alias. |
| Costos faltantes | Integrar compras / ERP. |
| Stock mínimo vacío | Definir política por producto. |
| Vencimientos faltantes | Hacer campo obligatorio en workflow. |
| Gastos sin área | Aplicar clasificación contable/gerencial. |
| Bancos sin conciliación | Cruzar con ERP y clientes. |
| Excel con estructura variable | Usar plantilla bloqueada. |
| Datos cargados tarde | Definir frecuencia y responsable. |
23. Calidad y roles responsables
La calidad de datos tiene dueños. No puede quedar como responsabilidad difusa de “Sistemas”.
| Tipo de dato | Dueño de negocio | Dueño técnico |
|---|---|---|
| Ventas | Comercial | Sistemas / Data owner |
| Costos | Compras / Finanzas | Sistemas |
| Cobranza | Finanzas | Sistemas |
| Stock | Stock / Operaciones | Sistemas |
| Proveedores | Compras | Sistemas |
| Empleados | RRHH | Sistemas |
| Acciones | Dirección / responsables | FARO admin |
| Gastos | Finanzas / Administración | Sistemas |
Regla:
Sistemas puede cuidar la tubería, pero el dueño del dato debe ser el área que lo usa para gestionar.
24. Calidad de datos y FARO Score
La calidad del dato debe afectar el FARO Score o, como mínimo, su nivel de confianza.
Ejemplo:
FARO Score: 74
Confianza del score: media
Motivo: datos de stock y workflow incompletos.
Otra opción:
FARO Score operativo: 74
Penalización por baja calidad de datos: -4 puntos
Score ajustado: 70
Ejemplo:
def ajustar_score_por_calidad(faro_score, calidad_datos):
if calidad_datos >= 0.85:
penalizacion = 0
elif calidad_datos >= 0.70:
penalizacion = 2
elif calidad_datos >= 0.50:
penalizacion = 5
else:
penalizacion = 10
return max(0, faro_score - penalizacion)
25. Gobernanza de calidad de datos
FARO debería establecer una rutina de control.
| Frecuencia | Control |
|---|---|
| Diario | Validar ingestas críticas: ventas, bancos, stock. |
| Semanal | Revisar errores, duplicados y campos faltantes. |
| Mensual | Auditar calidad por módulo y fuente. |
| Trimestral | Ajustar reglas, umbrales y responsables. |
| Anual | Revisar diccionario de datos y maestros. |
26. Output final del Anexo 10
Al finalizar este anexo, FARO debe tener definido:
1. Dimensiones de calidad de datos.
2. Reglas de validación por módulo.
3. Estados de calidad.
4. Fórmulas de score de calidad.
5. Score de calidad por campo, registro, fuente y módulo.
6. Semáforo de calidad.
7. Reglas de uso según calidad.
8. Calidad mínima por etapa FARO.
9. Reporte de calidad por fuente.
10. Matriz de errores y severidad.
11. Acciones correctivas.
12. Dueños de datos por área.
13. Rutina de gobernanza.
14. Relación entre calidad y confianza del diagnóstico.
15. Relación entre calidad y FARO Score.
27. Conexión con otros anexos
| Próximo anexo | Qué recibe desde Anexo 10 |
|---|---|
| Anexo 6 — Auditoría de datos | Brecha inicial y campos disponibles. |
| Anexo 8 — Fuentes e ingesta | Datos recibidos y metadata. |
| Anexo 9 — RAW y trazabilidad | Dato original auditable. |
| Anexo 11 — Staging y normalización | Datos a limpiar, corregir y estandarizar. |
| Anexo 13 — Tablas maestras | Entidades que deben unificarse. |
| Anexo 17 — Biblioteca de KPIs | KPIs habilitados por calidad mínima. |
| Anexo 20 — Reglas de negocio | Reglas que pueden activarse según confiabilidad. |
| Anexo 21 — Alertas FARO | Alertas permitidas según calidad. |
| Anexo 22 — Biblioteca de tensiones | Tensiones detectables con confianza suficiente. |
| Anexo 24 — Confianza del diagnóstico | Score de confianza del diagnóstico. |
| Anexo 35 — FARO Score | Penalización o confianza del score según calidad. |
El Anexo 10 define cómo FARO Connect mide la calidad de los datos antes de usarlos para dirigir. Evalúa completitud, validez, consistencia, trazabilidad, actualización y unicidad. Con eso determina si un dato puede alimentar KPIs, alertas, tensiones, recomendaciones y FARO Score.