← Volver al índice de anexos
Macrobloque 2·Datos·Anexo 10 / 40

Anexo 10 · Calidad de datos y semáforo

Etapa: Fases 2.2 y 2.3
DECK PARCIAL ACTIVO PROPIO

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
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.

Versión 1.0 · Última revisión: 2026-05-28 Anexo 10 de 40 · Fases 2.2 y 2.3