El Rincon del BI

Descubriendo el Business Intelligence…

15.1. Definición de Objetivos. Análisis de Requerimientos.

Posted by Roberto Espinosa en 17 abril 2010


La Empresa

La compañia Bodegas Vinicolas SA (BVSA) nacio en la denominación de origen Rioja en 1970 y en la actualidad, tras varios procesos de compra y ampliación de instalaciones, dispone de bodegas en Ribera del Duero, Rueda, Toro, Somontano, Priorat, Yecla, La Mancha y Alicante. En su portfolio de productos hay graneles, vinos jovenes, crianzas, reservas y gran reserva, de diferentes variedades, con o sin denominación de origen  y con diferentes formatos de envasado ( garrafas, tetra brik, granel, botellas de diferentes tamaños, etc ). Cada bodega tiene su propio almacén desde el que se sirve la mercancia, aunque las ventas estan centralizadas en la Bodega de La Rioja, donde hay un Call Center que recoge todos los pedidos nacionales e internacionales, y desde el que se atiende a los clientes del Club de Vinos. Cada bodega puede tener sus propias referencias así como referencias producidas en las otras bodegas, para venta en la tiendas propias o para distribución.

La compañia trabaja con clientes de todos los tipos, desde tiendas Gourmets o especializadas en vinos, Restaurantes y Hoteles, Mayoristas, Grandes cadenas de Distribución e Hipermercados. En el caso de grandes clientes, se sirve directamente a los centros desde cada bodega, aunque hay un estudio para construir un centro logístico que recoga la producción de todas las bodegas y realize la distribución, bien directamente a los clientes o a los centros logísticos propios de cada uno de ellos. Igualmente, se venden vinos a traves de internet y venta por correo en un Club de Vinos que se ha montado con el soporte de un portal Web donde se pueden comprar las referencias, se hacen selecciones mensuales y se ofrece gran cantidad de información referente al mundo del vino a los clientes que forman parte de este club.

El Club de Vinos se quiere fomentar como un canal de venta directa por su gran potencial de crecimiento, y a partir del cual también realizar estudios especificos de mercado y lanzamiento de nuevos productos, asi como programas de fidelización.

La empresa es una empresa joven y apuesta por la tecnologia en todos los ambitos de actuación, desde el propiamente relacionado con su sector (maquinaria, recolección automatica, instalaciones modernas en las bodegas), como a nivel de sistemas de información, donde trabajan con el ERP de Sap.

Objetivos

La empresa  pretende desarrollar un proyecto de BI para sacar el mayor partido posible  a la información de ventas de la que dispone. El director comercial actua como sponsor de este proyecto, que ademas es un proyecto piloto dentro de la compañia y que se ampliara a otros departamentos en el caso de obtener de él el exito esperado.

La construcción del DW y el uso posterior de herramientas de BI se va a centrar en los procesos de negocio de ventas. Se pretende construir un Datamart departamental para ventas y marketing que será alimentado con la información proveniente de su sistema operacional.

El objetivo es disponer de toda la información referente a ventas, productos, clientes, logistica, promociones en un unico almacén de datos a partir del cual poder extraer información de las siguiente manera:

1) A nivel de reporting y consultas ad-hoc: se montara un sistema de informes para dar soporte a todas las necesidades de información que se cubren en la actualidad con el sistema información de ventas en Sap y con desarrollos personalizados en Abap.

2) Navegación dimensional por los datos utilizando herramientas OLAP, con el objetivo de descubrir tendencias, desviaciones, descubrir oportunidades, realizar seguimiento de previsiones y establecer un sistema de alertas e indicadores de control.

3) Preparacion de cuadros de mando para los diferentes niveles de actuación: bodegas, representantes de ventas, servicios centrales, dirección, etc. Por tanto, se construiran cuadros de mando integral, cuadros de mando operativos y tableros de control.

4) Establecer las bases para estudio de promociones,  analisis y datamining en los clientes del Club de Vinos: se piensa que el canal Internet es algo de gran futuro y se quieren sentar las bases para su explotación actual y futura.

Analisis de requerimientos

Siguiendo el método de Diseño Dimensional en 4 Estapas (The Datawarehouse Toolkit: The Complete Guide to Dimensional Modelling.2ed. Ralph Kimball y Margie Ross, pag.30)

Modelado Dimensional 4 Etapas - Kimball

Despues de varias reuniones con el responsable comercial, los responsables comerciales de cada bodega/delegación y el departamento de sistemas, y a partir de los requerimientos de información, se decide:

a) El ambito del proyecto será, como hemos indicado, los procesos de negocio relacionados con ventas. El objetivo es tener un mejor conocimiento de la casuistica de ventas, incluyendo las promociones, para poder analizar la información desde todas las perspectivas posibles de interes para el negocio. Se pretende realizar igualmente un seguimiento de las previsiones de venta, comparando la evolución con lo planificado para poder establecer las posibles medidas correctoras (via promociones, descuentos, etc). Para ello, también incluiremos la información de presupuestos.

b) Granularidad de la información: en un principio se piensa, a partir de los requerimientos de información, quedarnos en el detalle acumulado de ventas por dia, producto, cliente. Pero durante la revisión de requerimientos se amplia el ambito del proyecto con los estudios referentes al Club de Vinos y se decide incluir también en el DW la información referente a promociones, para poder explotarla posteriormente. Por eso se decide que el nivel de granularidad sea cada uno de  los pedidos de ventas, para poder reflejar en el las promociones y permitir luego estudios mas profundos a nivel de data mining. Obviando la sumarización, permitimos mas funcionalidades en el futuro. Como incoveniente, el numero de registros será mucho mayor, pero no es significativo en este proyecto, pues se trabaja con unos 2000 clientes, unas 500 referencias y no mas de 100 mil pedidos anuales.

Por otro lado, se va a incluir información de previsión de ventas, cuya granuralidad actual es a nivel de presupuesto mensual. En la compañia, se realiza a principio del ejercicio una estimación de ventas para todo el año, detallandose la información a nivel mensual. Ademas, esta estimación se realiza a nivel de canal de venta y por tipo de cliente. Se planifica el importe de ventas asi como el margen de rentabilidad objetivo (a conseguir).

c) Dimensiones: Para el proceso de negocio de ventas, las perspectivas por las que se quiere analizar la informacion en la empresa BVSA son las siguientes:

  • Dimensión Tiempo: incluira los atributos dia, mes, año, semana, trimestre, semestre, dia semana, indicador de festivo e indicador de fin de semana.
  • Dimensión Producto: incluira los atributos material, familia, denominacion origen, varietal, formato venta, unidad medida, litros por envase, linea de producto, target (segmento mercado destino). Las dimensiones familia y linea de producto son dos clasificaciones diferentes de los materiales.
  • Dimensión Cliente: incluira todos los atributos relacionados con el cliente, como código cliente, agrupador (codigo que agrupa a varios clientes, para el caso de empresas asociadas o cadenas), responsable comercial, canal de venta, tipo de cliente, pais, region, provincia, cod. postal y población. Aquí incluiremos toda la información sociodemográfica de los clientes que nos permitirán posteriormente los estudios del Club de Vinos.
  • Dimensión Logística: incluira los atributos relacionados con la distribucion. Los atributos serán centro y sus propiedades (numero almacenes, capacidad, etc).
  • Dimensión Promociones: incluira el tipo de promoción, fechas de la promoción, dto. aplicado y toda la información de interes relacionada con la promoción (publicidad, cupones, carteleria, ubicacion, etc).

Para los presupuestos, las perspectivas se reducen, pues la granularidad de la información es diferente. Serán las siguientes:

  • Dimensión Tiempo: mes, año, trimestre, semestre (determinado por el hecho que los presupuestos se realizan a nivel de mes).
  • Dimensión Cliente: canal de venta y tipo de cliente.

Por tanto, cuando estemos realizando análisis de ventas que incluyan la información de presupuestos, las dimensiones y atributos por las que podremos analizar la información se verán reducidas a estas.

d) Hechos: los valores de negocio que vamos a querer analizar serán los siguientes:

  • Indicadores principales: unidades vendidas, litros vendidos, precio bruto unitario (sin descuentos), coste unitario, importe descuentos comerciales e importe descuentos promociones. Para los presupuestos, se incluyen los siguientes indicadores:  importe venta presupuestado y margen de beneficio presupuestado.
  • Indicadores derivados: serán todos los indicadores que vamos a poder derivar de los indicadores principales. Algunos de los indicadores serán:
    • Importes: importe bruto venta (unidades vendidas x precio bruto unitario), importe total descuentos (importe descuentos comerciales + importe descuentos promociones), importe neto venta (importe bruto venta – importe total descuentos), coste total (unidades vendidas x coste bruto unitario), margen bruto total (importe bruto venta – coste total), margen bruto unitario (margen bruto total / unidades vendidas), margen neto total (importe neto venta – coste total), margen neto unitario (margen neto total / unidades vendidas),descuento comercial unitario (importe descuentos comerciales / unidades vendidas), descuento promocion unitario (importe descuentos promociones / unidades vendidas), descuento total unitario ( importe total descuentos / unidades vendidas), precio neto (importe neto venta / unidades).  A nivel de presupuestos, los indicadores calculados serán los siguientes: importe desviacion ventas sobre presupuesto (importe neto venta – importe venta presupuestado), desviación margen sobre presupuesto ( margen neto total – margen beneficio presupuestado).
    • Porcentajes: Porcentaje Margen Bruto, Porcentaje Margen Neto, Porcentaje Coste s/Bruto, Porcentaje Coste s/Neto, Porcentaje Dto Comercial, Porcentaje Dto Promociones, Porcentaje Dto Tota. A nivel de presupuestos, los indicadores serán Porcentaje Desviacion Ventas sobre Presupuesto y Porcentaje Desviación Margen sobre Presupuesto.

De este analisis podemos ya construir el modelo conceptual preeliminar del DW de la empresa, que podría ser algo asi:

Modelo Conceptual

Con las dimensiones y hechos definidos, podriamos elaborar un modelo lógico inicial que tendría el siguiente aspecto:

Modelo Logico Inicial

En el momento de realizar una pausa y de realizar unas cuantas consideraciones sobre el modelado dimensional. Cuando empezamos a estudiar sobre la materia, encontramos tanto en los libros de referencia, páginas web/blogs o en los propios productos software, ejemplos sencillos del esquema de estrella (casí siempre en el ambito de las ventas). Este ejemplo básico, con una única tabla de hechos y diferentes dimensiones a su alrededor (dimensión cliente, dimensión producto, dimensión tiempo, etc), es un buen punto de partida para iniciarse en materia, pero la realidad de los procesos de negocio no se puede representar con un esquema tan sencillo. En nuestro ejemplo, por el solo hecho de añadir información de presupuestos, ya vemos que tenemos varias tablas de hechos. Ademas, el nivel de granularidad de las tablas es diferente, pues no tenemos la información al mismo nivel de detalle (entender que es imposible y ademas no aportaria nada, realizar un presupuesto de ventas a nivel de cada pedido realizado, para cada material, cliente). Es más lógico realizarlo solo por algunos aspectos importantes, que querremos analizar y para el que querremos verificar un cumplimiento de objetivos (como serán las ventas por canal, por tipo de cliente o como podia haber sido las ventas por familia de producto o por linea de product0).

Además, si fuesemos añadiendo mas funcionalidades a nuestro modelo, seguramente aun lo complicariamos mas y aparecerían mas tablas de hechos para representar otros aspectos. Puede igualmente que quisieramos añadir tablas de hechos agregados para incluir resumenes (por ejemplo a nivel de mes, o a nivel de familia de producto), para optimizar la ejecución de determinados análisis o simplemente para consolidar información histórica o mejorar el rendimiento. Estas nuevos hechos estarian igualmente en otro nivel de granuralidad, que no coincidiría con el nivel básico descrito o no incluiria todas las dimensiones o todos los atributos de estas.

En las recomendaciones que nos da Kimball para el diseño de un DW, se habla de que hemos de intentar llevar todos los hechos al máximo nivel de granuralidad. El tipico ejemplo de las cabeceras y lineas de un pedido de venta. Si hay un dato que esta en la cabecera del pedido (por ejemplo, un descuento global para el pedido), hemos intentar llevarlo a nivel de cada posición de pedido, y así conseguimos llevar toda la información al máximo nivel de detalle. Puede haber varios trucos para hacer esto (por ejemplo, podriamos haber llevado el presupuesto al máximo nivel de detalle en la dimensión tiempo asignandole la fecha del primer dia del mes y trabajando con esa fecha en la tabla de hechos de presupuestos en lugar de trabajar con el mes), pero eso no nos vale para la dimensión cliente o la del producto (o si lo hacemos no sería algo muy fino a nivel de diseño). En otros casos, es imposible llegar a este nivel de detalle, y no queda mas remedio que construir una nueva tabla de hechos con diferente granuralidad (aunque siempre compartiendo las dimensiones).

Además, en nuestro caso,la estructura de dimensiones definida no nos valdría (pues la clave de nuestra dimensión tiempo es el dia, y no el mes, como en la tabla de hechos de presupuestos). Para solucionar esto, Kimball propone la creación de subsets o subconjuntos de la dimension que llama «Dimension Roll-Up» o Derivada. En la imagen siguiente, podemos ver un ejemplo de creación de una dimensión de este tipo para crear un subconjunto de la dimensión tiempo relacionada con los meses (y con todos los atributos que estan en el nivel jerarquico superior, como pueden ser el trimestre, año, etc).

Dimension Roll-up (conformada)

La nueva dimensión (o subconjunto de la dimensión tiempo) ha de estar conformada. Esto quiere decir que ha de incluir los atributos de su nivel con la misma definición que la dimensión original. Esto nos va a permitir realizar luego análisis por esa dimensión juntando información de diferentes tablas de hechos (en nuestro caso, juntando la información de ventas y de presupuestos). En nuestro DW, en los procesos ETL construiremos una única tabla para la dimensión, y luego crearemos los subconjuntos a partir de esta unica tabla de partida, manteniendo asi la homogeneidad de la información. Puede haber varias formas de construir esta tabla, pero podría ser por ejemplo una nueva tabla o una vista (igual una vista materializada si estuvieramos en Oracle).

Ejemplo de dimensión tiempo en los Analytic Modules de Microstrategy

Otra posible forma de solucionar el problema sería el pasar nuestra esquema de estrella (star) a un esquema de copo de nieve (snowflake). Kimball solo lo recomienda en las llamadas dimensiones Outrigger (que veremos en la próximo entrada del blog). En la imagen, podeis ver una modelo donde se ha sacado de la dimensión producto la categoria. Esto nos permitiria utilizarla en una tabla de hechos con otro nivel de granularidad.

Esquema Diseño Copo de Nieve (Snowflake Schemas)

Esta ampliación del modelo lógico, que llevara a la existencia de multiples tablas de hechos y dimensiones, puede complicar la realización de las consultas. La mayoría de sistemas de Business Intelligence tienen sus analizadores de querys que son capaces de descubrir, según el tipo de consulta que vamos a realizar, las tablas de donde van a obtener la información y las sentencias Sql necesarias para obtener los resultados. Por eso hemos de ser cuidadosos con el diseño y tener en cuenta todas las recomendaciones vistas, pues un mal diseño acabara afectando al rendimiento y a los tiempos de ejecución de las consultas.

Antes de continuar con la ampliación de teoría del modelado dimensional, os recomiendo visualizar la magnifica presentación realiza por Manuel Torres Gil de la Universidad de Almeria, en la que se explica la metodología propuesta por Kimball para la construcción de DW (la que hemos utilizado nosotros). Esta en castellano y ella podeis ver todas las cosas que he tenido en cuenta para el analisis y el diseño de mi modelo.

En la siguiente entrada del Blog veremos las diferencias entre el enfoque Kimball y el del Inmon para la construcción de un Data Warehouse, así como algo de teoria con definiciones sobre los elementos que intervienen en el diseño de un DW, con una pequeña clasificación de los diferentes elementos, para continuar con el modelo lógico completo y la definición del modelo físico del DW.

Y os vuelvo a recomendar, igualmente,  la lectura de la serie de artículos realizada por BI Fácil sobre la construcción de un DW, y las interesantes entradas del blog de Chris Adamson, donde nos habla de las 10 cosas que no aprendiste de un esquema de estrella de ejemplo y las 10 cosas que deberiamos de saber sobre el esquema de estrella.

Una respuesta to “15.1. Definición de Objetivos. Análisis de Requerimientos.”

  1. arlopan said

    Me parece que no es necesario realizar una dimension conformada a partir de la dimensión tiempo ya que si la granularidad es a nivel mes, en la tabla de hechos de presupuestos se toma a month_number de la dimension del tiempo.

Deja un comentario