Practica Data

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 8

PRACTICA: GLOBAL COMPUTING COMPANY

La compaa Global Computing, nacida en 1990, distribuye componentes software y hardware a clientes
en todo el mundo, mediante venta directa, catlogo e internet. Las ventas han sido histricamente
estacionales, siendo el primer trimestre el ms fuerte y el tercero el ms pobre. La compaa ha tenido
un crecimiento saludable a lo largo de los aos.
Problemas de negocio
Sin motivo aparente, la compaa ha tenido un primer trimestre de ventas ms bajo que en otros aos.
Los mrgenes se han reducido, las ventas han empezado a descender y los beneficios han bajado.
Recientemente, la compaa ha empezado a utilizar internet como un nuevo canal de ventas, pero los
beneficios han seguido decreciendo.
GCC quiere analizar las tendencias de ventas recientes, qu componentes de su negocio generan
beneficios y cuales podran generar ms. En cualquier caso, la informacin que ha llegado del director de
departamento dice que los sistemas actuales de reporting no proporciona la informacin necesaria para
comprender que est ocurriendo. Esta carencia de informacin est llevando a tomar decisiones
basadas en la intuicin ms que en los datos actuales.
Recomendaciones del equipo directivo
El equipo directivo de GCC recomienda que el departamento de IT disee y construya un Data
Warehouse, de forma que proporcione respuestas a las cuestiones crticas. La implementacin inicial
debe realizarse en 120 das.
Resultados del anlisis estratgico de GCC
De las entrevistas con los miembros del equipo directivo corporativo se han extrado dos procesos
principales como candidatos para el Data Wareouse: Ventas y Gestin de Inventario.

Ventas: El departamento de ventas y marketing no tiene acceso a informacin en tiempo de qu


se est vendiendo (y que no), quin lo est vendiendo y como se est vendiendo.
Especficamente necesitan saber:
o Que productos se venden por cada canal de venta
o Que productos estn contribuyendo ms a las ventas y los beneficios, y cul es la
tendencia de los dos ltimos aos, incluyendo informacin del margen para comprender
la contribucin econmica para cada familia de productos y cada clase de producto.
o Qu segmentos de cliente producen el mayor volumen de ventas, y los productos que
ms se venden
Gestin de Inventario: El departamento de canal no dispone de importantes detalles sobre
costes de numerosos minoristas de productos. No pueden:
o Comparar acuerdos con diferentes minoristas sobre la misma categora de producto
o Identificar qu minorista son los mejores y peores desde el punto de vista de la
disponibilidad de producto y los tiempos de entrega.
o Analizar los costes de mantenimiento del almacn de inventario por minorista

Toda esta informacin permitir a GCC a reducir costes e incrementar beneficios, negociando mejor los
acuerdos con minoristas.
Objetivos de negocio para el Data Warehouse
El equipo de direccin decide implementar el proceso de negocio de ventas, donde se encuentran tres
objetivos de negocio principales.
GCC quiere incrementar ventas y beneficios:

Identificando y asegurando los canales de venta ms beneficiosos


Identificando las tendencias de venta de productos para una mejor planificacin
Identificar los mayores crecimientos y ms rentables segmentos del mercado de clientes

Requerimientos de informacin del negocio


A travs de entrevistas con el Departamento de Ventas y Marketing se detecta las siguientes carencias
de informacin:

La identificacin de los mejores y peores productos se mide en Euros vendidos, unidades


vendidas, y beneficio (euros de margen y porcentaje de margen).
Los mejores y peores canales de distribucin por familia de producto
Tendencias de venta mensual, trimestral y anual por:
o Canal de distribucin
o Producto, familia de producto y clase de producto
o Segmento de cliente (como manufacturacin, educacin, consulting, etc.)
Informacin de cuenta de cliente por direccin de entrega (un cliente puede tener ms de una
direccin de entrega).
Informe de ventas por una combinacin de atributos especficos de usuario por producto y
cliente, incluyendo: oferta de paquete personalizado, origen del producto (nacional o extranjero),
cuenta de cliente, segmento de mercado del cliente, o tipo de direccin de entrega (oficinas
centrales, almacn, sede, etc.).

El sistema OLTP fuente de datos es el siguiente:

*ID_ELEMENTO
*FECHA_EFECTO
COSTE_ UNITARIO
PRECIO_UNITARIO

*ID_ELEMENTO
FECHA_EFECTO
COSTE_ UNITARIO
PRECIO_UNITARIO

*ID_FAMILIA
DESC_FAMILIA
ID_CLASE

*ID_ELEMENTO
PAQUETE
DESCRIPCIN
FUENTE
ID_FAMILIA
ID_CLASE

*ID_ORDEN
*NUM_LIN_ORDEN
ID_ELEMENTO
UNIDADES
VENTAS
COSTE

*ID_CANAL
DESC_CANAL

*ID_SEGMENTO
DESC_SEGMENTO

*ID_ORDEN
ID_CANAL
ID_ENTREGA
FECHA_ORDEN
ID_COMERCIAL
ID_PAGO
VENTAS_TOTAL
IMPUESTOS

*ID_CUENTA
CU_NOMBRE
CU_DIRECCIN
CU_CIUDAD
CU_PROVINCIA
CU_C_AUTNOMA
CU_COD_POSTAL
CU_TASA_IMPUESTO
ID_SEGMENTO

*ID_COMERCIAL
NOMBRE
ID_JEFE

*ID_PAGO
DESCRIPCION_PAG
*ID_ENTREGA
ID_CUENTA
ID_ALMACEN
DIRECCIN
CIUDAD
PROVINCIA
C_AUTNOMA
COD_POSTAL
TASA_IMPUESTO
DESCRIPCIN
DESC_TIPO_DIR

*ID_CLASE
DESC_CLASE

Se pide realizar el modelado del DWH completando, en los diferentes pasos, las siguientes tablas
y generando una memoria con toda la documentacin relevante del proceso.
El objetivo global que deducimos de la lectura del planteamiento es que la compaa Global Computing
desea aumentar sus ganancias incrementando de las ventas de productos, incrementndose los
beneficios de la compaa.
Para alcanzar el objetivo anterior, el Departamento de Ventas y Marketing debe (Objetivos de negocio):

Analizar las tendencias de la industria y los segmentos especficos del mercado de destino.
Analizar los canales de ventas y la manera de aumentar las ganancias a travs de los mismos.
Identificar las tendencias de producto ofertados por la compaa y crear una estrategia para el
desarrollo de los canales adecuados.

Los Procesos de negocios son:


Ventas
Gestin de inventario
Pero slo se va a implementar el primero: Ventas.
Las cuatro dimensiones que utilizar para organizar los hechos en la base de datos:

Producto muestra cmo los datos varan segn el producto.


Cliente muestra cmo los datos varan por segmento y zona geogrfica.
Canal muestra cmo los datos varan segn cada canal de distribucin.
Tiempo muestra cmo los datos varan con el tiempo.

Identificacin de los hechos de negocio:

Ventas
Unidades
Variacin de las ventas respecto al perodo anterior
Variacin porcentual de las ventas al perodo anterior
Cantidad de ventas del ao anterior
Porcentaje de ventas del ao anterior
Cuota de producto
Canales de ventas
Cuota de mercado
Coste total de cada producto
Margen de beneficio
Unidades vendidas, cambiar de perodo anterior
Unidades vendidas, variacin porcentual del periodo anterior
Unidades vendidas, cambio del ao anterior
Unidades vendidas, variacin porcentual del ao anterior

Del listado anterior, extraigo cuatro hechos (medidas) de la base de datos transaccional:

Euros Vendidos
Unidades Vendidas
Beneficio:
o Euros de Margen
o Porcentaje de margen

P RODUCTO
CANAL

Key_Producto
Coste_Unitario
Key_Familia
Desc_Familia
Key_Clase
Desc_Clase
Paquete
Fuente
Key_Total
Desc_Total
Precio_Unidad

Key_Canal
Desc_Canal
Key_Total
Desc_Total

VENT AS
Key_Canal (FK)
Key_Direccion_Entrega (FK)
Key_Mes (FK)
Key_Producto (FK)
Euros_Margen
Unidades_Vendidas
Euros_Vendidos
Porcentaje_Margen

T IEMPO
Key_Mes
Key_Ao
Desc_Ao
Key_Trimestre
Desc_Trimestre
Desc_Mes
Key_Total
Desc_Total

Medida
Euros Vendidos
Unidades Vendidas
Euros Margen
Porcentaje de Margen

CLIENT E
Key_Direccion_Entrega
Key_Cuenta
Key_Segmento
Desc_Segmento
Desc_Cuenta
Key_C_Autonoma
Desc_C_Autonoma
Key_Provincia
Desc_Provincia
Key_Ciudad
Desc_Ciudad
Cod_Postal
Tasa_Impuesto

Dimensin Negocio

Elemento Dimensin

Producto

Producto
Familia
Clase
Paquete
Fuente
Precio_Unidad
Coste_Unidad
Cuenta
Segmento
C_Autonoma
Provincia
Ciudad
Direccion_Entrega
Tasa_Impuesto
Canal
Ao
Trimestre
Mes

Cliente

Canal
Tiempo

Medida DWH
Euros Vendidos
Unidades Vendidas
Euros de Margen
Porcentaje de Margen

Dimensin
Producto
Cliente

Jerarqua
Producto
Geogrfica

Canal
Tiempo

Canal_Ventas
Temporal

BASE
Si
Si

DERIVADA
Si
Si

Niveles Jeraqua
TOTAL / CLASE / FAMILIA / PRODUCTO
TOTAL / C_AUTONOMA / PROVINCIA / CIUDAD /
DIRECCION_ENTREGA
TOTAL / CANAL
TOTAL / AO / TRIMESTRE / MES

P RODUCT O
Key_Producto
Coste_Unitario
Key_Familia
Desc_Familia
Key_Clase
Desc_Clase
Paquete
Fuente
Key_Total
Desc_T otal
Precio_Unidad
Desc_Producto

CANAL
Key_Canal
Desc_Canal

VENTAS
Key_Canal (FK)
Key_Direccion_Entrega (FK)
Key_Mes (FK)
Key_Producto (FK)
Euros_Margen
Unidades_Vendidas
Euros_Vendidos
Porcentaje_Margen

T IEMPO
Key_Mes
Key_Ao
Desc_Ao
Key_T rimestre
Desc_Trimestre
Desc_Mes
Key_T otal
Desc_Total

CLIENTE
Key_Direccion_Entrega
Key_Cuenta
Key_Segmento
Desc_Segmento
Desc_Cuenta
Key_C_Autonoma
Desc_C_Autonoma
Key_Provincia
Desc_Provincia
Key_Ciudad
Desc_Ciudad
Cod_Postal
Tasa_Impuesto
Desc_Direccion_Entrega

M e jores_Productos
Cl a sificacion_Canales
Key_Canal
Desc_Canal
Key_Producto
Key_Familia
Desc_Familia
Unidades_Vendidas

T e ndencias_Productos_Mensual
Desc_Mes
Key_Mes
Key_Producto
Unidades_Vendidas
Desc_Producto

Key_Producto
Desc_Producto
Euros_Vendidos
Unidades_Vendidas
Porcentaje_Margen
Euros_Margen

SCRIPT
DROP DIMENSION DIM_CLIENTE;
DROP DIMENSION DIM_PRODUCTO;
DROP DIMENSION DIM_CANAL;
DROP DIMENSION DIM_TIEMPO;
DROP TABLE PRODUCTO;
DROP TABLE CLIENTE;
DROP TABLE CANAL;
DROP TABLE TIEMPO;
DROP TABLE VENTAS;
DROP MATERIALIZED VIEW Mejores_Productos;
DROP MATERIALIZED VIEW Clasificacion_Canales;
DROP MATERIALIZED VIEW Tendencias_Productos_Mensual;
CREATE TABLE CANAL
(
Key_Canal
INTEGER NOT NULL ,
Desc_Canal
CHAR(150) NULL
);
CREATE UNIQUE INDEX XPKCANAL ON CANAL (Key_Canal ASC);
ALTER TABLE CANAL ADD CONSTRAINT XPKCANAL PRIMARY KEY (Key_Canal);
CREATE TABLE CLIENTE
(
Key_Direccion_Entrega INTEGER NOT NULL ,
Key_Cuenta
INTEGER NULL ,
Key_Segmento
INTEGER) NULL ,
Desc_Segmento
CHAR(150) NULL ,
Desc_Cuenta
CHAR(150) NULL ,
Key_C_Autonoma
INTEGER NULL ,
Desc_C_Autonoma
CHAR(150) NULL ,
Key_Provincia
INTEGER NULL ,
Desc_Provincia
CHAR(150) NULL ,
Key_Ciudad
INTEGER NULL ,
Desc_Ciudad
CHAR(150) NULL ,
Cod_Postal
CHAR(5) NULL ,
Tasa_Impuesto
CHAR(4) NULL ,
Desc_Direccion_Entrega CHAR(150) NULL
);
CREATE UNIQUE INDEX XPKCLIENTE ON CLIENTE (Key_Direccion_Entrega ASC);
ALTER TABLE CLIENTE ADD CONSTRAINT XPKCLIENTE PRIMARY KEY (Key_Direccion_Entrega);
CREATE TABLE PRODUCTO
(
Key_Producto
INTEGER NOT NULL ,
Coste_Unitario
DECIMAL(4,6) NULL ,
Key_Familia
INTEGER NOT NULL ,
Desc_Familia
CHAR(150) NULL ,
Key_Clase
INTEGER NOT NULL,
Desc_Clase
CHAR(150) NULL ,
Paquete
VARCHAR2(20) NULL ,
Fuente
VARCHAR2(20) NULL ,
Key_Total
INTEGER NOT NULL,
Desc_Total
VARCHAR2(20) NULL ,

Precio_Unidad
Desc_Producto

DECIMAL(4,3) NULL ,
VARCHAR2(120) NULL

);
CREATE UNIQUE INDEX XPKPRODUCTO ON PRODUCTO (Key_Producto ASC);
ALTER TABLE PRODUCTO ADD CONSTRAINT XPKPRODUCTO PRIMARY KEY (Key_Producto);
CREATE TABLE TIEMPO
(
Key_Ao
INTEGER NOT NULL ,
Desc_Ao
DATE NULL ,
Key_Trimestre
INTEGER NOT NULL,
Desc_Trimestre
DATE NULL ,
Desc_Mes
DATE NULL ,
Key_Mes
INTEGER NOT NULL,
Key_Total
INTEGER NOT NULL,
Desc_Total
DATE NULL
);
CREATE UNIQUE INDEX XPKTIEMPO ON TIEMPO (Key_Mes ASC);
ALTER TABLE TIEMPO ADD CONSTRAINT XPKTIEMPO PRIMARY KEY (Key_Mes);
CREATE TABLE VENTAS
(
Euros_Margen
CHAR(18) NULL ,
Unidades_Vendidas INTEGER NULL ,
Euros_Vendidos
DECIMAL(5,3) NULL ,
Porcentaje_Margen CHAR(3) NULL ,
Key_Canal
INTEGER NOT NULL ,
Key_Direccion_Entrega INTEGER NOT NULL,
Key_Mes
INTEGER NOT NULL,
Key_Producto
INTEGER NOT NULL
);
CREATE UNIQUE INDEX XPKVENTAS ON VENTAS (Key_Canal ASC,Key_Direccion_Entrega
ASC,Key_Mes ASC,Key_Producto ASC);
ALTER
TABLE
VENTAS
ADD
CONSTRAINT
(Key_Canal,Key_Direccion_Entrega,Key_Mes,Key_Producto);

XPKVENTAS

PRIMARY

KEY

ALTER TABLE VENTAS ADD (CONSTRAINT R_2 FOREIGN KEY (Key_Canal) REFERENCES CANAL
(Key_Canal));
ALTER TABLE VENTAS ADD (CONSTRAINT R_3 FOREIGN KEY (Key_Direccion_Entrega)
REFERENCES CLIENTE (Key_Direccion_Entrega));
ALTER TABLE VENTAS ADD (CONSTRAINT R_4 FOREIGN KEY (Key_Mes) REFERENCES TIEMPO
(Key_Mes));
ALTER TABLE VENTAS ADD (CONSTRAINT R_1 FOREIGN KEY (Key_Producto) REFERENCES
PRODUCTO (Key_Producto));
CREATE DIMENSION DIM_CLIENTE
level direccion is DIM_CLIENTE.KEY_DIRECCION_ENTREGA
level ciudad is DIM_CLIENTE.KEY_CIUDAD
level provincia is DIM_CLIENTE.KEY_PROVINCIA
level comunidad is DIM_CLIENTE.KEY_C_AUTONOMA
hierarchy CLIENTE (direccion child of ciudad child of provincia child of comunidad)
attribute direccion determines DESC_DIRECCION_ENTREGA
attribute ciudad determines DESC_CIUDAD

attribute provincia determines DESC_PROVINCIA


attribute comunidad determines DESC_COMUNIDAD;
CREATE DIMENSION DIM_PRODUCTO
level producto is DIM_PRODUCTO.KEY_PRODUCTO
level familia is DIM_PRODUCTO.KEY_FAMILIA
level clase is DIM_PRODUCTO.KEY_CLASE
hierarchy producto (elemento child of familia child of clase)
attribute producto determines DESC_ELEMENTO
attribute familia determines DESC_FAMILIA
attribute clase determines DESC_CLASE;
CREATE DIMENSION DIM_TIEMPO
level mes is DIM_TIEMPO.KEY_MES
level trimestre is DIM_TIEMPO.KEY_TRIMESTRE
level ao is DIM_TIEMPO.KEY_AO
hierarchy TIEMPO (mes child of trimestre child of ao)
attribute mes determines DESC_MES
attribute trimestre determines DESC_TRIMESTRE
attribute ao determines DESC_AO;
CREATE DIMENSION DIM_CANAL
level canal is DIM_CANAL.ID_CANAL
attribute canal determines DESC_CANAL;
CREATE MATERIALIZED VIEW Mejores_Productos
AS SELECT PRODUCTO.Key_Producto, PRODUCTO.Desc_Producto,
VENTAS.Euros_Vendidos, VENTAS.Unidades_Vendidas, VENTAS.Porcentaje_Margen,
VENTAS.Euros_Margen
FROM PRODUCTO ,VENTAS
WHERE Producto.Key_Prioducto=Ventas.Key_Producto
GROUP BY Producto.Key_Familia
ORDER BY Ventas.Unidades_Vendidas;
CREATE MATERIALIZED VIEW Clasificacion_Canales
AS SELECT CANAL.Key_Canal, CANAL.Desc_Canal, PRODUCTO.Key_Producto,
PRODUCTO.Key_Familia, PRODUCTO.Desc_Familia, VENTAS.Unidades_Vendidas
FROM CANAL ,VENTAS ,PRODUCTO
WHERE Ventas.Key_Canal=Canal.Key_Canal AND
Producto.Key_Producto=Ventas.Key_Producto
GROUP BY Producto.Key_Familia
ORDER BY Ventas.Unidades_Vendidas;
CREATE MATERIALIZED VIEW Tendencias_Productos_Mensual
AS SELECT ALL TIEMPO.Desc_Mes, TIEMPO.Key_Mes, PRODUCTO.Key_Producto,
VENTAS.Unidades_Vendidas, PRODUCTO.Desc_Producto
FROM PRODUCTO ,TIEMPO ,VENTAS
WHERE Ventas.Key_Mes=Tiempo.Key_Mes AND
Ventas.Key_Producto=Producto.Key_Producto
GROUP BY Producto.Key_Producto AND SUM(Ventas.Unidades_Vendidas)
ORDER BY Tiempo.Key_Mes AND Producto.Key_Producto;
/

También podría gustarte