Data Mining

DATAMINING Helí Campos R [email protected] helicr.com AGENDA. Diseño de modelos de datos para Data Mining 1. Introd

Views 492 Downloads 2 File size 898KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

DATAMINING

Helí Campos R [email protected]

helicr.com

AGENDA. Diseño de modelos de datos para Data Mining

1.

Introducción: ¿Qué es Data Mining?

2.

Bases de datos relacionales vs. DWH y Data Marts.

3.

Data Warehousing

4.

Modelo de datos para Marketing Intelligence

5.

Ejercicio práctico

helicr.com

-1-

AGENDA. Diseño de modelos de datos para Data Mining

1.

Introducción: ¿Qué es Data Mining?

2.

Bases de datos relacionales vs. DWH y Data Marts.

3.

Data Warehousing

4.

Modelo de datos para Marketing Intelligence

5.

Ejercicio práctico

helicr.com

-2-

1. Introducción: ¿Qué es Data Mining? 1.1 Data Mining El aumento en el poder de procesamiento de las máquinas y la alta reducción del coste de almacenamiento, ha permitido en los últimos años un gran crecimiento las capacidades de las empresas de generar y recolectar datos sobre sus clientes. Sin embargo, dentro de esos datos existe una gran cantidad de información oculta, de gran importancia estratégica, a la que no se puede acceder por las técnicas convencionales de recuperación de información. El Data Mining o “minería de datos” permite el descubrimiento de esta información oculta encontrando patrones y relaciones dentro de los datos, los cuales permiten la creación de representaciones abstractas de la realidad para hallar el conocimiento oculto en dichos datos. Para ello se sirve, entre otras, de las siguientes técnicas:

 Herramientas analíticas y estadísticas.

 Herramientas de inteligencia artificial.  Reconocimiento de patrones.

Esta presentación se encarga de definir los distintos modelos de datos que es necesario mantener por debajo de todos estos análisis, así como las técnicas necesarias para crearlos. helicr.com

-3-

1. Introducción: ¿Qué es Data Mining? 1.2 Soporte de Datos Para definir un modelo de datos que permita realizar todos estos análisis es necesario tener en cuenta las siguientes cuestiones:  La información a recopilar puede provenir de distintos orígenes de datos, no necesariamente heterogéneos. Es necesario automatizar procesos de extracción, transformación y carga (ETL) de los datos.  El alto volumen de información no debe impedir un tiempo de respuesta aceptable al consultar datos. El rendimiento debe ser alto para consultas masivas de datos, para lo que es necesario mantener información agregada.  Debe facilitar la explotación de los datos por medio de herramientas de reporting o de consulta analítica en línea (OLAP).

 Debe mantener una visión única del cliente, y almacenar una serie de indicadores y dimensiones de negocio que ayuden a la toma de decisiones.  Es necesario que aporte información histórica de los clientes, con el objetivo de realizar análisis del comportamiento de éstos en el tiempo. Como vemos, para satisfacer la mayor parte de estas necesidades no es suficiente con un modelo de base de datos relacional, sino que necesitamos algo más. En las siguientes secciones hablaremos de los conceptos de Data Warehouse, Data Mart y finalmente definiremos el concepto de Modelo de datos para Marketing Intelligence, con el que trabajamos normalmente en CognoData. helicr.com

-4-

AGENDA. Diseño de modelos de datos para Data Mining

1.

Introducción: ¿Qué es Data Mining?

2.

Bases de datos relacionales vs. DWH y Data Marts.

3.

Data Warehousing

4.

Modelo de datos para Marketing Intelligence

5.

Ejercicio práctico

helicr.com

-5-

2.- Bases de datos relacionales vs. DWH y Data Marts 2.1 Definiciones

Data Warehouse

• •

Un Data Warehouse es una colección de datos, orientados a áreas funcionales de la empresa, integrados, variables en el tiempo, no volátiles, que soporta el proceso de toma de decisiones. Un Data Warehouse es un modelo que toma información de múltiples sistemas y bases de datos y la almacena de una manera que está diseñada para dar a los usuarios acceso más rápido, más fácil y más flexible a los aspectos claves.

Data Mart

• •

Un Data Mart es la implementación de un Data Warehouse con un ámbito de datos y funciones más pequeño y restringido, que sirve a un departamento único o a una parte de la organización, pero sin diferencias técnicas esenciales entre ellos. Un Data Mart es una vista lógica de una partición de los datos de un Data Warehouse, con la adición de nuevas dimensiones o información calculada. Representan un conjunto de datos relacionados con un tema en particular como Ventas, Operaciones, Recursos Humanos, etc, y están a disposición de los usuarios finales a quienes les puede interesar la misma.

Base de datos de Marketing Intelligence



En el contexto de trabajo de CognoData, vamos usar normalmente bases de datos orientadas al marketing intelligence. Se trata de Data Marts específicos de cada proyecto en los que se definen una serie de indicadores y dimensiones de negocio asociadas generalmente al cliente, y que posteriormente a su construcción servirán para aplicar las técnicas de Data Mining necesarias. helicr.com

-6-

2.- Bases de datos relacionales vs. DWH y Data Marts 2.2 Diferencias entre BBDD Relacionales y Almacenes de datos BBDD Relacionales y Operacionales

Almacenes de Datos (DWH – DM)

Volumen de información

Mínimo por operación

Muy grande por operación

Operaciones

Altas, bajas y modificaciones

Consultas y agregaciones de datos

Propósito

Operaciones de consulta diarias

Recuperación de información mediante informes , análisis y minería de datos

Tipo de datos

Datos del funcionamiento de la organización

Datos útiles para el análisis y el reporting, y orientados a la toma de decisiones

Características de los datos

Datos de funcionamiento, internos, incompletos

Datos internos y externos, integrados, no volátiles, históricos, descriptivos

Estructura

Diagrama entidad – relación, OLTP (OnLine Transaction Processing)

Datos en estrella, multidimensionales, OLAP (OnLine Analytical Processing)

Redundancia

No se permite

Redundancia controlada (agregaciones)

Acceso

Lectura y escritura SQL

SQL y herramientas propias. Sólo lectura

Análisis de calidad

No lo permite

Permite realizar análisis de la calidad de la información

Facilidad de uso

Usuario técnico

Usuario técnico y usuario de negocio mediante herramientes propias

Orientación

Orientado a la aplicación

Orientado al sujeto

helicr.com

-7-

AGENDA. Diseño de modelos de datos para Data Mining

1.

Introducción: ¿Qué es Data Mining?

2.

Bases de datos relacionales vs. DWH y Data Marts.

3.

Data Warehousing

4.

Modelo de datos para Marketing Intelligence

5.

Ejercicio práctico

helicr.com

-8-

3.- Data Warehousing 3.1 Arquitectura Data Warehouse Extracción Transformación Carga Reporting

Data Mining

WWW

DataWarehouse Almacén de datos

DataMarts BBDD Multidimensionales

OLAP

Explotación Orígenes de datos BBDD Externas

Administración

helicr.com

-9-

3.- Data Warehousing 3.2 Extracción, Transformación y Carga (1/2)

Extracción



Conexión con BBDD operacionales en distintos formatos y localizaciones, que hacen de fuentes de datos para el DW.

Transformación



Adecuación de la información, proveniente de distintos orígenes y en distintos formatos, a la estructura del DW.  Homogeneización de formatos.  Series temporales  Tratamiento de missing values (valores nulos)  Tratamiento de outlayers (valores fuera de rango)  Construcción de indicadores derivados.

Carga

• •

Introducción de los datos en tablas propias de la estructura del DW Agregación de los datos.

En las presentaciones de formación nº 4 y nº 5 se explica con mayor detalle cómo realizamos, en la mayoría de los casos, los procesos de ETL en CognoData. Se describe la funcionalidad de SQL Server para crear paquetes DTS y su integración con el lenguaje Visual Basic Script. Con ambas funcionalidades se consigue un entorno para realizar tareas de ETL bastante potente. helicr.com

- 10 -

3.- Data Warehousing 3.2 Extracción, Transformación y Carga (2/2)

Ejemplo de proceso ETL BBDD A Genero = { m , f } DATA WAREHOUSE

BBDD B Genero = { 0 , 1 }

BBDD C Genero = { masculino , femenino }

Genero = { m , f }

En este ejemplo podemos ver como en las bases de datos de origen tenemos la misma variable codificada de 3 maneras distintas. Es necesario unificar la codificación antes de realizar la carga de los datos. helicr.com

- 11 -

3.- Data Warehousing 3.3 Estructura del Data Warehouse Altamente resumido

Almacena información agregada proveniente de un nivel inferior en el que los datos están descritos con mayor detalle.

Ligeramente resumido

Estas particiones se construyen teniendo en cuenta unas funcionalidades concretas, agrupando lo datos en base a unos campos y unidades de tiempo determinadas. P.E. Ventas semanales por producto o por provincia

Refleja la „fotografía‟ más reciente de los datos, por lo que es la información a la que se accede con mayor frecuencia.

Detalle de los datos actuales

Es la parte más voluminosa del DW, ya que se almacena al más bajo nivel de granularidad. Casi siempre se almacena en disco, el cual es de fácil acceso, aunque su administración sea más costosa. Contiene el detalle de todos los clientes. P.E. Detalle de las ventas de la empresa en el año 2006

Almacena información antigua a un nivel de detalle consistente con los datos actuales. Se suele almacenar en dispositivos externos, ya que se accede a ella con menos frecuencia. Detalle de los datos históricos

P.E. Detalle de las ventas desde el 2001 al 2005

helicr.com

- 12 -

3.- Data Warehousing 3.4 Modelo de datos (1/3) Una de las principales diferencias entre las bases de datos relacionales y el Data Warehouse es que se sustentan en modelos de datos distintos. Mientras que las primeras usan el modelo entidad – relación, los DW se valen del modelo multidimensional (también llamado en estrella o copo de nieve). TABLA DE HECHOS TABLA DE BUSQUEDA

TABLA DE BUSQUEDA

Es la tabla central en un esquema dimensional. Se detalla a nivel de la unidad básica (como por ejemplo el cliente) y es en ella donde se almacenan los indicadores de negocio. Suelen tener 2 tipos de columnas: - Columnas de tipo clave: referencian valores en cada una de las tablas de dimensiones (atributos) - Columnas de tipo hecho: medidas o indicadores de negocio.

TABLA DE HECHOS

JERARQUÍA

TABLA DE BUSQUEDA

TABLA DE BUSQUEDA

TABLA AGREGADA DE BUSQUEDA

TABLAS DE BÚSQUEDA También llamadas tablas de dimensiones o de lookup. Almacenan un conjunto de valores asociados a una propiedad o dimensión particular contenida en la tabla de hechos. En otras palabras, sirven para decodificar los valores de las columnas tipo clave de la tabla de hechos. Adicionalmente puede haber también tablas agregadas de búsqueda, en las que se agrupan los valores de una determinada dimensión en un nivel superior. De esta manera se crean las jerarquías.

helicr.com

- 13 -

3.- Data Warehousing 3.4 Modelo de datos (2/3)

Ejemplo de modelo multidimensional HECHOS INDICADORES

DIMENSIONES ATRIBUTOS

CLAVE

ID_CLIENTE

ID_PROVINCIA

ID_USO

F_CONSUMO

F_MARGEN

F_VALOR

0000001

13

1

12,04

6,53

34,22

0000002

41

1

15,06

2,11

11,91

0000003

17

2

9,66

7,65

21,93 B_CLIENTES

ID_PROVINCIA

ID_CCAA

DES_PROVINCIA

ID_USO

DES_USO

...

...

...

0

Sin uso

41

1

Sevilla

1

Doméstico

...

...

...

2

Comercial

LKP_PROVINCIA

ID_CCAA

DES_CCAA

1

Andalucía

...

...

En la tabla de hecho se almacenan los indicadores asociados a cada cliente, y una serie de atributos codificados. Para hallar el valor o descripción de dichos atributos sólo es necesario acceder a la tabla de búsqueda correspondiente.

LKP_USO

Tip 1: Nomenclatura Cuando el volumen de datos empieza a ser muy alto, comienza a crecer el número de objetos en el DW. Por eso es importante mantener una nomenclatura fija que identifique que tipo de campo o tabla es cada uno de ellos simplemente con ver su nombre. En este ejemplo hemos usado los prefijos ID_ (atributos), DES_ (descripciones), F_ (hechos), B_ (tablas base o tablas de hechos) y LKP_ (tablas de búsqueda)

helicr.com

- 14 -

3.- Data Warehousing 3.4 Modelo de datos (3/3) Si consideramos cada una de las dimensiones como un eje en un espacio de coordenadas, cada una de los registros (clientes) quedará fijado en un punto en dicho espacio. La dimensionalidad de éste espacio estará dada por el número de ejes o dimensiones que le asociemos.

PROVINCIA

Cada casilla del cubo (en este caso tenemos 3 dimensiones), en la que podemos encontrar una serie de indicadores o medidas, viene dada por una intersección entre coordenadas definidas por los valores de cada dimensión. De esta manera se plantea un nuevo tipo de análisis de los datos que se basa en ir cortando o „rebanando‟ el cubo a través de cada una de las dimensiones para hallar la información deseada. Este tipo de análisis se llama OLAP (Online Analytical Processing), y lo veremos con mas detalle en la presentación de formación nº 6, en la que se explica el funcionamiento de la herramienta Analysis Services de Microsoft para realizar este tipo de análisis.

TIEMPO

+

+

Por ejemplo:

AÑO < 2005

PROVINCIA = 17

=

USO < 2

helicr.com

AÑO < 2005 AND PROVINCIA = 17 AND USO < 2

- 15 -

3.- Data Warehousing 3.5 Explotación de los datos (1/2)

Reporting

Aplicaciones que permiten definir, administrar y distribuir los distintos formatos de informes dentro de una organización con un alto grado de automatización. Contienen funcionalidades como la entrega planificada de informes por correo electrónico o la programación de informes de alerta que se generan automáticamente en situaciones excepcionales. Ejemplos usados en CognoData: Microsoft Reporting Services, SPSS OLAP Hub

Aplicaciones que integran modelos estadísticos y matemáticos para realizar estudios y predicciones sobre los datos para obtener el conocimiento oculto en ellos. Implementan redes neuronales, clusterings, árboles de decisión, regresiones, etc. Data Mining

WWW

Ejemplos usados en CognoData: SAS, SPSS, Clementine y la PMI de CodnoData (Plataforma de Marketing intelligence)

Aplicaciones que presentan los resultados requeridos de forma gráfica e intuitiva en formato de páginas Web. Permiten montar plataformas de informes con una navegación integrada, establecimiento de permisos de acceso a los informes según los perfiles dentro de la empresa, seguimiento de objetivos, etc. Ejemplos usados en CognoData: Aplicaciones propias desarrolladas en lenguajes Web como JavaScript o VB Script, integradas con las herramientas de reporting.

Herramientas que automatizan el análisis OLAP y permiten la generación de cubos (agregaciones de datos) de manera intuitiva. OLAP

Ejemplos usados en CognoData: Microsoft Analysis Services helicr.com

- 16 -

3.- Data Warehousing 3.5 Explotación de los datos (2/2) Normalmente las aplicaciones que explotan la información del DW se centran en pequeñas particiones de datos. Las consultas sobre el sistema entero tendrían un rendimiento muy lento debido al gran volumen de datos y es por eso que se suele mantener información redundante en tablas agregadas que sirven a propósitos determinados normalmente por los usuarios de negocio.

Por ejemplo, nos podrían interesar sacar todos los meses un informe del valor medio de la cartera de clientes en cada una de las comunidades autónomas. Para ello, lo lógico podría ser mantener una tabla agregada con dicha información, que se actualizase cada mes. De esta manera no se consulta el DW y el rendimiento de la consulta es mucho mayor. ID_MES

ID_CCAA

F_VALOR

200601

01

36,45

200601

02

12,99

...

...

...

200602

01

6,88

...

...

...

El informe se surte de la tabla agregada correspondiente y no del DM.

helicr.com

- 17 -

AGENDA. Diseño de modelos de datos para Data Mining

1.

Introducción: ¿Qué es Data Mining?

2.

Bases de datos relacionales vs. DWH y Data Marts.

3.

Data Warehousing

4.

Modelo de datos para Marketing Intelligence

5.

Ejercicio práctico

helicr.com

- 18 -

4.- Modelo de datos para Marketing Intelligence 4.1 Introducción Vistas las generalidades de los DW, en las siguientes transparencias vamos a comentar cómo realizamos los desarrollos de la mayoría de los proyectos dentro de CognoData, aplicando algunas de las características de dichos sistemas, pero con un alto grado de especialización. Normalmente es necesario desarrollar Data Marts que contengan los indicadores y dimensiones definidos en la fase de análisis del proyecto. Posteriormente se alimentan los modelos predictivos y las plataformas de presentación de informes con esos datos, según corresponda.

Podemos dividir el desarrollo de los proyectos en varias fases, aunque a veces no se cumplen todas ellas:  Fase de análisis Normalmente se realiza conjuntamente con el cliente, identificando el problema que se desea resolver, la información de que se dispone, qué indicadores relevantes se pueden obtener, etc.

 Extracción de datos Extracción de los datos necesarios para construir los indicadores y dimensiones necesarios para el DM. Auditoria de dichos datos.

 Diseño y construcción del DataMart Elaboración del DM con los datos obtenidos del cliente. Unificación de formatos, selección de los indicadores importantes y construcción de indicadores derivados que resulten de interés.

 Pruebas Verificación de los procesos ETL desarrollados y de la validez de los indicadores.

 Modelo predictivos Creación de las tablas y ficheros de entrada para los modelos predictivos. Obtención de nuevos indicadores mediante los modelos

 Presentación de resultados Presentación final de los resultados del proyecto. Documentación y plataformas de informes vía WWW. Si es necesario, implantación de la plataforma en el cliente y formación a usuarios.

helicr.com

- 19 -

4.- Modelo de datos para Marketing Intelligence 4.2 Objetivos Los objetivos principales que se persiguen con el modelo de datos para Marketing Intelligence con el que trabajamos en CognoData son los siguientes: 1.

Debe servir para cualquier tipo de proyecto, independientemente del tipo de cliente.  Proyectos de Banca  Proyectos de Seguros  Proyectos de Telecomunicaciones  ...

2.

3.

Debe poder almacenar las distintas cargas de datos que se producen durante el desarrollo del proyecto.  Carga inicial

Primera carga que se realiza en el proyecto, con la foto de toda la base de datos del cliente en un momento de tiempo determinado, además del histórico de que disponga el cliente.

 Cargas incrementales

Modificaciones o incrementos que ha sufrido la BBDD del cliente desde el momento de la carga inicial hasta el momento actual (nuevos clientes, nuevos datos de facturación, etc).

 Cargas parciales

Por determinadas circunstancias o problemas, el cliente sólo entrega una determinada partición de sus clientes

Debe organizar la información para poder realizar 2 tipos de análisis de los datos.  Análisis Descriptivos  Análisis Predictivos

helicr.com

- 20 -

4.- Modelo de datos para Marketing Intelligence 4.3 Proceso de un proyecto de Marketing Intelligence

BBDD MARKETING INTELLIGENCE

ANÁLISIS DESCRIPTIVO INFORMES  Descripciones gráficas  Estadística de los datos

Análisis

 Histogramas

ETL NORMALIZACIÓN

 Gráficos de burbujas  OLAP

ETL

ETL Tablas extraídas del cliente

ANÁLISIS PREDICTIVO

DESNORMALIZACIÓN

 Series temporales  Construcción del target o función objetivo

 Creación de ficheros de entrada para los modelos

helicr.com

Exportación PMI (PLATAFORMA DE MARKETING INTELLIGENCE)

- 21 -

4.- Modelo de datos para Marketing Intelligence 4.4 Distintos tipos de análisis En la transparencia anterior hemos visto que una vez desarrollado el DM de origen con la información extraída del cliente, se pueden realizar dos tipos de análisis. El análisis a realizar depende de la pregunta que se quiera contestar: Análisis Descriptivo

Análisis Predictivo

Intenta contestar a preguntas como por ejemplo:

¿En que mes del año se producen más bajas de clientes?

¿Que clientes van a comprar un determinado producto en los próximos 2 meses?

ES NECESARIO NORMALIZAR

ES NECESARIO DESNORMALIZAR

Para aplicar este tipo de análisis necesitamos que la información de entrada esté dividida y organizada según dependencias funcionales, por lo tanto cada campo de la BBDD debe almacenar un concepto distinto:

Para aplicar este tipo de análisis se necesita que la información se estructure en un mismo nivel, es decir, toda la información de entrada asociada a un cliente debe estar en un mismo registro:

Ejemplo: clientes de baja con sus fechas de baja.

Ejemplo: serie temporal de altas de productos. CLIENTE

F_BAJA

132003

25/11/2005

132007

25/06/2005

CLIENTE

F_ALTA_PROD_1

F_ALTA_PROD_2

F_ALTA_PROD_3

155219

30/02/2005

132003

25/11/2005

14/02/2006

17/03/2006

helicr.com

- 22 -

4.- Modelo de datos para Marketing Intelligence 4.5 Entidades (1/3) En principio, cada problema a resolver en un cliente es distinto, pero se pretende generar una “plantilla” de modelo que valga para cualquier proyecto y cliente, de manera que sólo haya que realizar una serie de modificaciones mínimas para adaptarlo en cada caso. Normalmente nos encontraremos siempre con las mismas entidades en todos los clientes (aunque pueden adoptar nombre distintos): CLIENTE

Cada uno de los sujetos a los cuales la empresa u organización suministra servicios. Normalmente es la unidad mínima sobre la que se suelen centrar los análisis.

CONTRATO

Es la entidad que representa el uso de un producto o servicio que la empresa u organización suministra al cliente.

PRODUCTO

Es el objeto del contrato. Un bien suministrado por la empresa al cliente. Nos lo podremos encontrar como una entidad independiente o bien como un atributo del contrato.

CONSUMO

Coste asociado al uso de un producto o servicio por parte del cliente en una determinada unidad de tiempo.

FACTURA

Indica el importe detallado, normalmente mensual, que el cliente abona a la empresa por el uso de sus servicios o productos.

CONTACTO

Se refiere a comunicaciones que el cliente hace con la empresa u organización. Normalmente pueden ser reclamaciones, incidencias, solicitudes de baja o solicitudes de información.

PROSPECT

Clientes potenciales de la empresa, es decir, aquellos sujetos de los que se tienen datos pero que, o bien no tienen contratos de los servicios suministrados por la empresa, o bien los tienen con alguna empresa de la competencia.

CAMPAÑA

Conjunto de acciones que se realizan contra un grupo de clientes en un periodo de tiempo determinado con el fin de obtener un beneficio para la empresa (fidelización, prevención de fugas, venta cruzada)

ACCIÓN DE MARKETING

Cada una de las distintas operaciones que componen una campaña.

helicr.com

- 23 -

4.- Modelo de datos para Marketing Intelligence 4.5 Entidades (2/3)

Ejemplo de diseño de BBDD para Marketing Intelligence Tabla de hechos

PROSPECT

Tabla de búsqueda AÑO

CONTACTO

ACCION MKT

CLIENTE

CCAA

MES

PROVINCIA

SEMANA

FACTURA

PRODUCTO SEGMENTO

CAMPAÑA

CONTRATO

CLIENTES

CONSUMO

MERCADO

Cada una de estas entidades representarán tablas de hechos en el modelo de datos. ANTIGUEDAD

MOSAIC

A la derecha se muestra un posible esquema de estrella simplificado que se podría obtener de la entidad cliente.

...

helicr.com

- 24 -

4.- Modelo de datos para Marketing Intelligence 4.5 Entidades (3/3)

Ejemplo de diseño de BBDD para Marketing Intelligence Tabla de hechos

PROSPECT

AÑO

Tabla de búsqueda MES

CONTACTO

CLIENTE

ACCION MKT

PRODUCTO

CAMPAÑA

CONTRATO

OFICINA

SEMANA

CANAL VENTA

FECHA ALTA

FACTURA

CONTRATOS

CONSUMO

TIPO

ESTADO

Otro ejemplo de lo que podría ser el esquema de la entidad contrato.

TARIFA

...

helicr.com

- 25 -

4.- Modelo de datos para Marketing Intelligence 4.6 Análisis Descriptivo Una vez construido el DataMart de origen, parte de los trabajos se enfocan en realizar un análisis descriptivo de los datos. Dicho análisis nos permitirá conocer la forma o distribución de las variables, así como detectar posibles errores, por ejemplo la presencia de valores fuera de rango y valores nulos. Para esto, lo normal es desarrollar una serie de tablas agregadas o auxiliares que nos faciliten dicho análisis. Descripciones gráficas de los datos:

135.000 € 120.000 € 105.000 € 90.000 €

- Gráficos de barras

75.000 € 60.000 € 45.000 €

- Gráficos de sectores

30.000 € 15.000 € 0€

- Histogramas

Segment 1 Segment 2 Segment 3 Segment 4 Segment 6 Segment 7

- Gráficos de burbujas

Estadística de los datos: - Medidas de posición (media, moda, mediana, percentiles) - Medidas de dispersión (varianza, desviación típica)

- Relación entre variables (Diagramas de dispersión y de correlación)

Análisis OLAP: - Generación de cubos para la simplificación de consultas y agregaciones (*) Puedes ver un pequeño resumen de técnicas para estos análisis aquí helicr.com

- 26 -

4.- Modelo de datos para Marketing Intelligence 4.7 Análisis Predictivo La otra visión del análisis se centra en la preparación de ficheros de entrada a los distintos modelos predictivos que se vayan a aplicar. Estos modelos se encuentran integrados en CognoData en lo que llamamos PMI (Plataforma de Marketing Intelligence), una serie de aplicaciones desarrolladas en varias plataformas y lenguajes que implementan árboles de decisión, redes neuronales, modelos de clustering, etc. Como input, estas aplicaciones reciben un fichero de datos con un formato determinado. Para preparar cada modelo a aplicar se siguen los siguientes pasos:  Se crea una tabla auxiliar con los indicadores de entrada al modelo. Dicha tabla debe tener en cada registro la información asociada al objeto del análisis (normalmente el cliente), es decir, la clave primaria y todos los indicadores de entrada asociados. En este punto puede ser necesario realizar alguna transformación para pasar de filas a columnas (series temporales).  En función del modelo que se vaya a ejecutar puede ser necesario calcular un indicador de target o función objetivo y añadirlo a la tabla como una columna más.  Se exporta el fichero a texto.

 Se le añade la cabecera PMI (hay varios procedimientos desarrollados que automatizan esta tarea).  Se pasa el fichero a un consultor de modelos para que lo ejecute.

ETL

EXPORTACIÓN

DESNORMALIZACIÓN TABLA DE INDICADORES

FICHERO PMI

helicr.com

- 27 -

4.- Modelo de datos para Marketing Intelligence 4.8 Cuestiones técnicas (1/2) a) Tratamiento de valores nulos (missing values) Cuando en los datos de entrada a los análisis tengamos valores nulos en alguno de los campos, es recomendable sustituirlos por un carácter especial (por ejemplo, „**‟, „99999‟, „NaN‟), ya que las aplicaciones OLAP y los modelos predictivos no suelen reconocerlos y normalmente los omiten o producen resultados incorrectos. Hay ocasiones en las que incluso es necesario distinguir entre distintos tipos de valores nulos. Por ejemplo puede que interese diferenciar el caso en el que no se dispone del dato del caso en el que no aplica la variable.

b) Tratamiento de valores fuera de rango (outlayers) Puede ocurrir también que en determinadas variables aparezcan valores extremos, también llamados outlayers. Para determinados procesos es necesario tratar estos valores, ya que desvirtúan las estadísticas de la variable, como puedes ver en el siguiente ejemplo ID_CLIENTE 020303 123002 448522 114932 923881

NUM_PRODUCTOS 5 7 800 9 4

El valor 800 en el indicador del número de productos es un outlayer, ya que no es un valor lógico para esa variable sino un error de los datos. Es necesario tratarlo de algún modo ya que invalida la media de la distribución (que en este caso es 165, mientras que la mediana es 7).

Una ver identificados los valores extremos, tenemos varias opciones, aunque las más comunes son:  Sustitución por la media  Sustitución por la mediana  Borrado de los registros afectados

helicr.com

- 28 -

4.- Modelo de datos para Marketing Intelligence 4.8 Cuestiones técnicas (2/2) c) Tabla de tiempo Por regla general, siempre se hace necesaria la definición de una tabla calendario en el DM. Esta tabla contendrá toda la información de fechas (años, meses, semanas, etc) y estará relacionada con cualquier campo de tipo fecha, evitando de tal manera el uso de funciones de fecha, que suelen dar bastantes problemas.

d) Volumetría También es recomendable, una vez se ha acabado el diseño del DM, realizar un estudio de volumetría, para prever el espacio de almacenamiento necesario en los servidores. Un ejemplo sencillo podría ser una tabla como la siguiente: Tabla

Regs. estimados

Bytes por registro

Bytes estimados

% crecimiento esperado

...

...

...

...

...

e) Creación de series temporales Para determinados análisis, como ya hemos visto, es necesario desnormalizar la información y generar series de eventos o series temporales asociadas a un registro. Normalmente esto se hace para ver el comportamiento en el tiempo de determinados eventos como por ejemplo las altas de productos que un cliente realiza o las llamadas que hace al servicio de atención telefónica. Se puede sacar mucha información de la frecuencia y la distribución de estos eventos a lo largo del tiempo. : CLIENTE

F_ALTA_PROD_1

F_ALTA_PROD_2

F_ALTA_PROD_3

132003

25/11/2005

14/02/2006

17/03/2006

Actualmente, ya hay desarrollados procesos en SQL que implementan estas transformaciones. Puedes preguntar a algún consultor de ETL si quieres más información. :

helicr.com

- 29 -

AGENDA. Diseño de modelos de datos para Data Mining

1.

Introducción: ¿Qué es Data Mining?

2.

Bases de datos relacionales vs. DWH y Data Marts.

3.

Data Warehousing

4.

Modelo de datos para Marketing Intelligence

5.

Ejercicio práctico

helicr.com

- 30 -

5.- Ejercicio práctico Puedes practicar las tareas que se han visto en esta presentación con los siguientes ejercicios..

a)

La empresa ALFA, presente en Madrid, Barcelona y Sevilla, necesita realizar un estudio de prevención de fugas, para lo que se va a servir principalmente de la información de las bajas de productos de sus clientes. Actualmente, tiene los datos de sus clientes en varios orígenes en función de la provincia: PROVINCIA

FORMATO

COMENTARIOS

Madrid

Excel

Datos a nivel de producto de los clientes de Madrid

Barcelona

Access

Sevilla

Fichero de texto

d)

Una vez importado el fichero, intenta insertar en la tabla ClientesS1, aquellos clientes de datos.txt que pertenezcan al segmento 1 (puedes usar una consulta del tipo INSERT INTO).

e)

Selecciona el número de clientes por cada segmento en una tabla (SELECT INTO), y exporta dicha tabla a una hoja excel. Abre la hoja de cálculo para ver el resultado.

f)

Borra todas las tablas de la base de datos.

helicr.com

- 31 -

helicr.com

- 32 -

Diseño de modelos de datos para Data Mining

[email protected]

helicr.com

- 33 -