Data Warehouse – Diseño Modelo Dimensional
Tecnologías para Inteligencia de Negocios
Luis Kreither (
[email protected])
Diseño de Modelo Dimensional
Proceso de cuatro pasos:
1. Seleccionar el proceso de negocio a modelar
2. Declarar la granularidad del proceso de negocio
3. Escoger las dimensiones que describen cada fila de la tabla de hechos
4. Identificar los hechos numéricos que poblarán cada fila de la tabla de
hechos
2
1. Seleccionar Proceso de Negocio a modelar
Proceso de Negocio
Un conjunto de actividades lógicamente relacionada que usa los recursos
de la organización para proveer resultados definidos con el fin de
alcanzar los objetivos del negocio.
En las empresas, típicamente está apoyado por un conjunto de
sistemas de información que recolectan datos.
3
No es lo mismo que una función de negocio
Función de Negocio
Es un conjunto de actividades relacionadas de un negocio.
Un área de desarrollo que involucra trabajo de una naturaleza similar,
empleando habilidades y conocimientos particulares.
Ejemplos:
Contabilidad, Marketing, Finanzas, Recursos Humanos
No se debe restringir el DW a una función de negocios.
Posibles problemas:
Duplicar datos con diferentes atributos y terminología
Inconsistencia de datos
Necesidad de múltiples esfuerzos de ETL, almacenamiento, gestión del DW
Queremos publicar la información una sola vez
4
Ejemplos de Procesos de Negocio
Producción
Ensamblar productos, Verificar calidad, Producir listado de materiales
Ventas y Marketing
Identificar clientes, Crear recordación en el cliente, Vender
Contabilidad y Finanzas
Pagar cuentas, Crear reportes financieros, Administrar cuentas
corrientes
Recursos Humanos
Contratar personal, Evaluar desempeño, Afiliar empleados en planes de
beneficios
Multi-funcionales
Completar orden de compra de un cliente
5
2. Declarar la granularidad del proceso de negocio
Especificar exactamente qué representará una fila de la tabla de
hechos
Pregunta a responder:
¿Cómo describir una fila de la tabla de hechos?
Ejemplos:
Una línea (ítem individual) en la boleta que se le entrega al cliente de
una cadena de retail, capturada por el scanner de código de barra.
Una tarjeta de embarque individual que se obtiene para subir a un vuelo
Una foto diaria de los niveles de inventario de cada producto en una
bodega
Una cartola mensual para cada cuenta bancaria
6
3. Escoger dimensiones
Encontrar todas las posibles descripciones para cada fila de la tabla
de hechos.
Pregunta a responder:
¿Cómo describen los usuarios de negocio los datos que resultan del
proceso de negocio?
Además, se debe listar todos los atributos tipo texto y discretos que
completan cada tabla dimensional.
Ejemplos:
Fecha
Producto
Cliente
Tipo de transacción
7
4. Identificar hechos numéricos
Pregunta a responder:
¿Qué estamos midiendo?
Los usuarios de negocios manifiestan su interés en medir ciertas
métricas de rendimiento del negocio.
Deben ser consistentes con la granularidad definida.
Ejemplos:
Cantidad pedida
Costo en una cierta unidad monetaria
8
Claves para el proceso de diseño
Requerimientos de Negocio
Modelo Dimensional
1. Proceso de Negocio
2. Granularidad
3. Dimensiones
4. Hechos
Datos Disponibles
9
Análisis caso – Supermercados Cencolíder
Paso 1. Seleccionar el Proceso de Negocio
La gerencia desea entender mejor el comportamiento de compra de los
clientes, de acuerdo a la información capturada en el sistema POS.
Qué productos se están vendiendo en qué tiendas, en qué días, y bajo
qué promociones.
Proceso de Negocio
Venta a través de sistema POS
Escoger aquel modelo que tenga mayor impacto: atacar las
preguntas de negocios más contingente y con datos más
fáciles de extraer.
10
Análisis caso – Supermercados Cencolíder
Paso 2. Declarar Granularidad
Ventajas de los datos atómicos
Altamente dimensional (podemos saber más cosas sobre cada hecho
particular)
Mayor flexibilidad analítica: permite dar acceso al usuario de negocios al
nivel de detalle que desee
Desventaja: rendimiento
Granularidad:
Una línea (ítem individual) en una transacción del POS.
Ventas diarias por producto y promoción en una tienda en un día
Alternativa menos detallada
Preferiblemente, considerar la información más atómica
(detallada y no divisible) capturada por el proceso de
negocio.
11
Análisis caso – Supermercados Cencolíder
Paso 2. Declarar Granularidad
¿Qué se puede hacer?
Comparar ventas día Lunes versus día Domingo
Entender si tienen sentido manejar una gran variedad de paquetes diferentes
para una marca de cereal
Impacto de una promoción en las ventas del producto correspondiente
Impacto de una promoción en las ventas de productos alternativos
12
Análisis caso – Supermercados Cencolíder
Paso 3. Escoger dimensiones
Dimensiones
Producto
Fecha
Local
Promoción
Número Transacción POS
13
Esquema de ventas de retail – preliminar
Hecho - Transacción Venta POS
Dimensión - Fecha Dimensión - Producto
PK Clave Fecha PK Clave Producto
FK1 Clave Local
FK2 Clave Fecha
Atributos Fecha ASD Atributos Producto ASD
FK3 Clave Producto
FK4 Clave Promoción
Número Transacción POS
Hechos ASD
Dimensión - Local Dimensión - Promoción
PK Clave Local PK Clave Promoción
Atributos Local ASD Atributos Promoción ASD
14
Análisis caso – Supermercados Cencolíder
Paso 4. Identificar hechos numéricos
Hechos aditivos
Cantidad Vendida
Monto Venta
Costo Venta
Utilidad Venta (Monto Venta – Costo Venta)
Hechos no aditivos
Margen Venta (Utilidad Venta / Monto Venta)
Precio Unitario
Porcentajes y tasas (relaciones) no son aditivas. El
numerador y el denominador deben almacenarse en la tabla
de hechos.
Calcular la tasa de las sumas y no la suma de las tasas.
15
Esquema de ventas de retail – con hechos numéricos
16
Dimensionar requerimientos de almacenamiento
Tabla de hechos
Número de líneas en una transacción del POS que se generan en un
cierto período de tiempo.
¿Cómo?
Guru de negocio
Estimación gruesa
Ventas anuales $ 1.000.000.000.000
Precio promedio por línea en una transacción $1.000
Número de líneas anuales: 1.000.000.000
17