domingo, 1 de junio de 2008

Federación de datos


La federación de datos es la técnica de integración de datos que permite acceder a diferentes entornos de origen de datos con una visión común, como si en la práctica fuese una sola base de datos.
Un elemento clave por tanto es el catálogo de datos común, que se mantiene para poder localizar los datos entre las diferentes fuentes.

La mayor ventaja de la federación de datos es que el acceso es sobre datos reales, eliminando la necesidad de tener recursos para mantener copias de datos. Otra ventaja es la solución en si, poder acceder a múltiples fuentes de datos como si fueran una sola.
La desventaja principal es que no es óptima cuando hablamos de grandes volúmenes de datos o donde el rendimiento sea crítico.

La federación de datos es muy usada como solución a corto plazo, para remediar las necesidades de información en casos de compra o unión de nuevas empresas.

Enterprise Information Integration


La EII es una tecnología de Integración de datos que proporciona una visión común y consistente de un conjunto de datos no homogéneos. El objetivo de esta tecnología es permitir a las aplicaciones el acceso a datos dispersos como si estuviesen todos residiendo en una base de datos común.

Cuándo interactuamos con los productos EII realizando consultas como cualquier BD, estos recogen los resultados individuales de cada uno de los subcomponentes de las consultas, los combinan adeucuadamente y devuelven el resultado a la aplicación que lanzó la consulta. Es por eso que el punto fuerte que puede diferenciar un producto comercial de otro es la optimización de consultas distribuidas. Varia mucho si en nuestros entornos queremos hacer lecturas o lecturas y escrituras. Para estas últimas es fundamental el soporte a la transaccionalidad y por su complejidad no todos los productos EII soportn acceso completo en escritura.

Las características más importantes de los productos que implementan tecnologias EII son:
  • Transparencia en el acceso a datos.
  • Integración de datos de diferentes fuentes.
  • Posibilidad de federar cualquier fuente de datos.
  • Acceso en lectura y escritura a las diferentes fuentes de datos.
  • Rendimiento
En una arquitectura EII podemos destacar los siguientes elementos:
  • Catálogo de metadatos.
  • Wrappers (librerias de acceso a fuentes de datos particulares).
  • Motor de federación.

sábado, 31 de mayo de 2008

Integración de datos


Pufffffffff.... dos meses sin escribir, no hay quien lo aguante. Bueno, he necesitado este parón para poder tirar adelante el proyecto que tenia entre manos, que por suerte ha acabado bien.
Eso si, el máster sigue, impepinable cada semana, sin descanso.
El módulo en el que estoy ahora y que es el que mayor interés tenía a priori, es el de Integración de datos.
El temario comprende los siguientes temas:
  1. Introducción a la integración de datos
  2. Calidad de datos
  3. Técnicas de integración de datos
  4. Las principales tecnologías de integración de datos: sus características y escenarios de uso.
  5. Desarrollo de la estrategia de integración de datos en la empresa.

Intentaré ser más constante. Saludos ;-)

jueves, 27 de marzo de 2008

Datawarehouse para dummies


Sin ánimo de ofender... pero hoy me encontrado en la aventura de explicar que era un DWH.. en una conversación informal, con gente técnica, pero profana en la materia.
No me han venido a la cabeza grandes explicaciones sobre el data warehouse, la verdad.

"Pues... como te diría yo... un data warehouse es una BD orientada al análisis.. lo normal seria orientar la BD de manera operacional, con un diseño de tablas que refleja una realidad concreta y mantenible, optimizado para su acceso y modificación. Un DWH se estructura en hechos de estudio, y a su alrededor encontramos todo lo necesario para poderlo analizar el hecho en profundidad. Los datos se cargan con una periodicidad concreta de las BD operacionales... pero se estructuran por hechos. También los datos se encuentran en el formato más adecuado para las consultas. Por ejemplo, en un BD operacional tendrías un campo "Fecha de nacimiento"... en un DWH podrías tener un campo edad."

Bueno... pues así queda una definición de data warehouse para dummies.

miércoles, 26 de marzo de 2008

Nuevo módulo: Modelado de datos


Iniciamos un nuevo módulo del máster. Os presento aquí el temario:
  1. Datos, conocimiento e información
  2. Bases de datos
  3. Diseño lógico de bases de datos
  4. La implementación del diseño lógico: El diseño físico
  5. Introducción a los sistemas de inteligencia de negocio (Business Intelligence)

miércoles, 12 de marzo de 2008

Carrefour responde


Seguimos con nuestro experimento de supermercados y la atención al cliente.
Carrefour nos ha enviado una respuesta a mis "plegarias":

Estimado Sr:
Gracias por hacernos llegar sus comentarios a través de www.cuentaseloacarrefour.com
Le agradecemos que se haya tomado la molestia de poner en nuestro conocimiento su sugerencia . En Carrefour estamos siempre encantados de escuchar las propuestas de nuestros clientes para ir implantando nuevos servicios que se adecúen a sus necesidades.
Lamentablemente no es posible en todas las ocasiones satisfacer a todos nuestros clientes al mismo tiempo. Tendremos en cuenta todos sus comentarios a la hora de introducir mejoras en el hipermercado en el futuro.

Atentamente, Centro de Atención al Cliente Centros Comerciales Carrefour
www.cuentaseloacarrefour.com



Y a lo que tuve que contestar alguna cosa, claro:

Estimado Sr. Cuentaselo a Carrefour,
No acabo de entender que me quieren decir con su correo electrónico. Parece ser que mi propuesta no ha llegado a nadie, ya que si hubiese sugerido poner mandarinas en la pescadería podrían haberme contestado lo mismo.
Me gustaría saber si han tenido en cuenta mi email, quien ha leído mi propuesta y si ha llegado a una persona que puede valorar si es una buena idea o no.
Es una pena que publiciten tanto que quieren acercarse a los clientes y no sean capaces de valorar las propuestas de los mismos.

Atentamente,


Y de nuevo la respuesta de Carrefour:

Estimado Sr:
Gracias por contactar con nosotros a través de www.cuentaseloacarrefour.com.
En relación a su consulta le informamos de que lamentamos en esta ocasión no poder hacernos cargo de su petición, esperamos seguir contando con su confianza para que nos brinde la oportunidad de satisfacerle en ulteriores oportunidades.

Así mismo, le recordamos que hasta el día 23 de Abril puede participar en la promoción " Una madre brillante " a través del siguiente enlace:
http://www.elclubcarrefour.carrefour.es/clubcarrefour/anillo/
Esperando haber sido de ayuda, aprovechamos la ocasión para saludarle,

Atentamente,

Centro de Atención al Cliente
Centros Comerciales Carrefour
www.cuentaseloacarrefour.com

¿Creéis que me han tomado el pelo? Realmente hay alguien al otro lado? Me parece que no toman ninguna nota de nada, y eso que se han molestado en comprar un dominio (cuentaseloacarrefour.com) y todo para simular que te escuchan... eso si, te cuelan la promoción "una madre brillante" rápidamente.

¿Vale la pena seguir insistiendo? No tengo muchas esperanzas!

jueves, 6 de marzo de 2008

in-database-data mining


Entendemos por in-database-data mining a los servicios ligados al gestor de base de datos. Es el propio motor relacional el encargado de implementar los servicios de modelización, validación y aplicación.
Tiene por tanto una mayor escalabilidad y rendimiento. La arquitectura de estas aplicaciones suele tener dos niveles: servidor de datos y entorno de usuario.

Ventajas:
  • Alto rendimiento y escalabilidad. Los gestores de base de datos hoy en día son verdaderos súper servidores y con gran futuro. Tienen compañías muy fuertes y consolidadas detrás.
  • Gestión de los modelos en la propia BD. Tiene solo una importancia relativa. Comodidad.
  • Fácil integración con los procesos. Depende el modelo de fuentes de datos seguido por la empresa puede ser un punto fuerte. Ayuda al camino para el éxito pero no es determinante.
  • Interfaz basado en estándares. Buena ventaja. Siempre los estándares aportan fiabilidad y robustez. Creo que a largo plazo es lo que puede dar más confianza.
  • Permite separar mejor los entornos de modelización y aplicación. La separación por niveles es positiva siempre, aunque frente a los entornos integrados es peor ya que estos incorporan tres niveles.
Inconvenientes:
  • Puede aumentar la carga. Seria un problema muy serio que provocaría la ralentización de todos los entornos operaciones. Se podría superar montado una BD exclusiva.
  • Más orientados al desarrollador de BD que al analista. Es un error común en todos los gestores de BD, que piensan que los proyectos empiezan por ellos y todo el mundo gira en torno a la BD. El analista tiene un punto de vista mucho más equidistante que el desarrollador y puede aportar mayor independencia.
  • La información debe cargarse en la BD. Un paso más que como siempre puede traer complicaciones y problemas. No creo que tenga mucha importancia.
  • Enfoque reciente. El mercado a los inicios de una herramienta, da muchos tumbos… y es un peligro. Lo que hoy parece asentado, mañana es superado por otro. Siempre es más recomendable esperar.
  • Detección compleja de problemas. Al estar integrado con la BD, siempre hay “puntos negros”, que no permiten tener todo el control de los procesos y puede llegar a desesperar.

Entre los principales fabricantes destacan IBM DB2 Data Warehouse edition, Oracle Data Mining, Microsoft SQL Server Analysis Services y Teradata TeraMiner.

domingo, 2 de marzo de 2008

Atención al cliente en los supermercados


He pensado en hacer unas pruebas de como está la atención al cliente en el sector online de los supermercados. Si yo quiero hacer una sugerencia... ¿Tengo los medios? ¿Me hacen caso? ¿Transmiten mi sugerencia más allá de la primera persona que lee el email?
Pues todo eso lo vamos a poner en práctica y al final veremos que pasa.

He recopilado los más importantes supermercados españoles, a mi parecer claro:
  • Caprabo
  • Hipercor
  • Alcampo
  • Eroski
  • Carrefour
  • Dia
  • Mercadona
A todos y siempre ha través de medios electrónicos (email o formulario web) he realizado la siguiente sugerencia:

Hola,
Me gustaría que cuando acudo a mi supermercado XXX, antes de entrar y a través de mi tarjeta Cliente, me imprimiese la lista de la compra basándose en mi historial de compras. Si, seguro que el 85% de las veces compro lo mismo... porque no me lo decís vosotros?

Si queréis hablar mas de la idea, no dudéis en poneros en contacto conmigo. Por favor, hacer llegar este correo electrónico a alguien que pueda estudiar mi propuesta.


Pues esta sugerencia, que tiene tela creo yo, la he enviado a todos esos supermercados... y ya he tenido los primeros problemas. Alcampo y Carrefour fallan sus formularios web... así que estoy reintentándolo. De Hipercor, Dia y Eroski no tengo respuesta... pero todavía es pronto.

De Caprabo, me han pedido mi número de tarjeta cliente que he facilitado, y me han contestado muy amablemente:
" Con relación a su e-mail, le informamos que hemos procedido a transmitir su sugerencia al departamento de Marketing para que pueda estudiar la viabilidad de la misma. Una vez más queremos agradecerle la confianza que ha depositado en Caprabo."

De Mercadona, también he tenido respuesta. De entrada un email automático dando las gracias por el contacto (que ya es de agradecer) y al poco rato (muy poco, como para sospechar) un email con el siguiente contenido:

"Para poder concretar su sugerencia, puede ponerse en contacto con el Servicio de Atención al Cliente de MERCADONA a través del teléfono gratuito 900.500.103., activo de 8'00 a 22'00 de lunes a sábado."

A lo que he contestado, que de ningún modo, que yo quería hacer mi sugerencia de manera online. Y sigo a la espera.

No se como se resolverá todo esto... pero parece interesante, verdad? Seguiré explicando!!

martes, 19 de febrero de 2008

Data Mining en tiempo real


Realmente creo, que una de las mayores aplicaciones de la minería de datos en tiempo real es el mundo online. Hay que ofrecer al cliente, en décimas de segundo, un anuncio, una promoción, etc.. en base a lo que esta consultando o comprando. Dos ejemplos muy famosos:

  • La publicidad contextual de Google. En una página que quieres que tenga este tipo de publicidad, solamente tienes que insertar una llamada a un código de google, pasando muy pocos parámetros, entre ellos tu ID de usuario del servicio.... y en cuestión de 1 o 2 segundos realiza consultas que incluyen:
    • Análisis del idioma de la página, para realizar la publicidad en el mismo idioma.
    • Recorre el texto de toda la página en busca de palabras clave, que son las que los anunciantes han comprado para salir. Aquí hace análisis de cuantas veces ha salido el anunciante, si para la próxima vez saldrá otro, si ha llegado al cupo etc...
    • Diferentes parámetros que el cliente de la página ha indicado, como por ejemplo, que los anuncios nunca pueden ser de este anunciante o de este otro, o que la temática no puede ser una determinada.
  • Las ventas cruzadas de Amazon. Amazon siempre ha sido un referente en Internet a la hora de vender productos. Desde hace mucho tiempo, contextualiza la experiencia del usuario con diferentes técnicas:
    • Venta cruzada. Siempre cuando estas viendo la ficha de un libro te recomienda otro haciendo un pack de precio, con el histórico de libros que otros usuarios se han llevado juntos en el pasado.
    • Oferta personalizada. Si tu has estado viendo un libro de una determinada temática o en el pasado has adquirido un tipo de libro, todos los anuncios que te ofrece la página están personalizados para tus gustos, siendo así inmensamente más efectivos.

En el mundo off-line, ahora mismo recuerdo por ejemplo, los vales descuento o promociones de los supermercados Caprabo. Cuando realizas una compra, pasas tu tarjeta cliente (hace muchos años que la tienen), y en ese mismo momento, una pequeña impresora que tienen, imprime los descuentos y promociones basándose en tu historial de compras y en la propia compra realizada en ese momento.

Analizando un poco lo dicho, veamos que implica todo ello:

  • Implicaciones tecnológicas. A la vista está, que hace falta mayor logística para dar cabida al DM en tiempo real. Si el Caprabo ya no podía imprimir con anterioridad los cupones, si no que tuvo que poner impresoras en todas las cajas de cada supermercado. De igual forma tanto google como Amazon, tienen unas súper-máquinas, que indexan contenido en cuestión de décimas de segundo. Está claro que este sistema requiere una estructura mucho más compleja y cara.
  • Rendimiento: Inmediatez para todo. Necesitamos que el sistema analice lo que pasa en ese momento (página web, compra) y nos diga que es lo que más interesa promocionar a la empresa.
  • Impacto con otras aplicaciones: El hecho de realizar DM en tiempo real, hace que posteriormente haya que realizar un análisis de la efectividad del mismo, para poder ir ajustando algunos parámetros, por tanto todas estas aplicaciones requieren un buen trabajo de análisis posterior para que tengan efectividad y se puede hacer un análisis del retorno de la inversión.
  • Requerimientos: De entrada necesitamos un historial de clientes y transacciones con unos identificadores (usuarios web, tarjetas cliente). A partir de ahí realizar un primer análisis de minería de datos y ver que variables nos interesan para estos casos. Quizás tengamos que variar nuestros sistemas para recoger nuevas variables o hacerlo de diferente manera. Es evidente que todo esto requiere el apoyo de una gran BD rapidísima, con acceso directo desde todos los puntos de cliente. Como hemos visto, el sistema también requiere dinamizar la salida de la información. Si antes podíamos dar vales y promociones “estáticas”, ahora hemos de buscar alternativas, como el hecho de poner impresoras o paginas que se construyen en ese mismo instante.

sábado, 16 de febrero de 2008

Conectar Weka con MySQL



A mi me costo un poco.. y conectando los puntos hacia atrás, como diría Steve Jobs, me parece fácil... pero por si alguien le interesa, no esta de más explicarlo.
De entrada necesitamos tener instalado Weka y MySQL. Si no tenéis la base de datos, os recomiendo un software gratuito que te instala PHP, Apache y MySQL funcionando perfectamente en windows, se llama WAMP.
Ahora vamos a la página de MySQL y bajamos el driver jdbc connector. Nos viene un zip con un archivo jar dentro que es el que ponemos en el mismo directorio que el programa Weka. Allí encontraremos un fichero que se llama Runweka.ini que habrá que editar. Se encuentra en ese fichero una linea (para el final) haciendo referencia al classpath (ruta con las clases necesarias de un programa java) y allí copiamos el nombre de nuestro jar como sigue:

cp=%CLASSPATH%;mysql-connector-java-5.1.5-bin.jar


Después ya podemos arrancar Weka y seleccionar "Open DB...". Tenemos varios parámetros aquí. La URL de Base de Datos hemos de poner la dirección de acceso a nuestro MySQL. También nos pide usuario y password y que consulta queremos hacer. La consulta es un SELECT cualquiera. Adjunto imagen de como me quedo a mi, teniendo en MySQL una base de datos llamada banco, con un usuario banco y dentro de esa DB una tabla que se llamaba "clientes".



A partir de ahí, el único problema que tuve fue con los tipos de datos. No utilicéis tipo INT para los numéricos, sino DECIMAL. Por lo demás, como una seda.

lunes, 11 de febrero de 2008

Herramienta de Data Mining: WEKA


He realizado la actividad final del módulo en base a una herramienta open source de la suite de Business Intelligence de Pentaho, Weka.

Al principio parece una herramienta "simplona"... una foto de un dulce pajarillo y cuatro botones, parece que no pueden dar mucho de si... pero nada más lejos de la realidad.

Weka se denomina a si mismo un conjunto de librerías para tareas de minería de datos. Las librerías pueden ser llamadas desde la interficie de weka o desde tus propias clases Java. Weka contiene herramientas para diferentes tareas básicas:
  • Preprocess: Multitud de herramientas para el preprocesamiento de los datos (como por ejemplo discretización de variables).
  • Classify: Algoritmos de clasificación, distribuidos por paquetes, como por ejemplo ID3 o C4.5
  • Cluster: Diferentes algoritmos de segmentación como el simple k-means.
  • Associate: Algoritmos para encontrar relaciones de asociación entre variables (Apriori entre otros).
  • Select atributtes: Aquí, una vez cargados los datos, Weka es capaz de buscar por nosotros las mejores variables del modelo.
  • Visualize: Herramienta de visualización de datos en los ejes cartesianos, con muchas posibilidades.
Al principio tuve varios problemas de conexión con la Base de datos... después de utilización... pero poco a poco he podido comprender parte de su potencial y me ha parecido una herramienta magnífica. Iré explicando!!

jueves, 7 de febrero de 2008

Actividad final del módulo


Estamos al final del módulo de Data mining y se nos ha planteado una actividad final que me está pareciendo muy interesante... y a la vez me esta dando mucho trabajo!!

Os dejo el enunciado... y dentro de unos días hablaremos de mi solución planteada.

El escenario es, que somos unos analistas CRM de una entidad financiera, donde la tasa de abandono ronda el 18%. El banco quiere abordar el problema desde dos puntos de vista:

  1. Conocer cual es el perfil de los clientes que abandonan la entidad y como ese perfil evoluciona a lo largo del tiempo, desde que entran en la entidad como clientes, hasta que abandonan.
  1. Predecir a corto plazo la propensión de abandono de los clientes, con el fin de poder realizar acciones comerciales y de retención sobre los más propensos.
Tenemos mucho que aprender todavía... no?

domingo, 27 de enero de 2008

Fases de un proyecto de Minería de datos



Dentro de un proyecto de Data Mining podemos diferenciar las siguientes fases:
  1. Identificación y definición del objetivo de negocio a resolver. Muy importante. La minería de datos no es un fin en si mismo, sin objetivos de negocio no hay proyecto.
  2. Identificación de las fuentes de datos para soportar la resolución de los objetivos y análisis preliminar de la calidad de los datos. Si no tenemos unos datos con la calidad requerida y el formato necesario, nuestro proyecto será un fracaso. Creo que muchas veces se subestima este punto...
  3. Preparación y acondicionamiento de los datos. Una fase crucial, que ocupa un tanto por ciento importante del tiempo del proyecto. Con preparación y acondicionamiento estamos hablando de las estructuras que alimentaran la construcción del modelo. Por ejemplo, si queremos hacer una segmentación de clientes, para ello necesito preparar los datos en formato tabla de clientes, donde cada registro es un cliente con los atributos de modelización en columnas.
  4. Modelización de datos. Aplicando las técnicas de minería de datos, obtenemos el mejor modelo predictivo posible para nuestros objetivos.
  5. Análisis de resultados. Una vez obtenido el modelo, se debe proceder a su validación comprobando que las conclusiones que arroja son válidas y suficientemente satisfactorias. En el caso de haber obtenido varios modelos mediante el uso de distintas técnicas, se deben comparar los modelos en busca de aquel que se ajuste mejor al problema. Si ninguno de los modelos alcanza los resultados esperados, debe alterarse alguno de los pasos anteriores para generar nuevos modelos.
  6. Conclusiones. ¿Se han cumplido las expectativas y los objetivos?
  7. Puesta en producción. No nos podemos quedar con unos simples informes de consultoría o una serie de recomendaciones. Si cogemos los modelos generados y los ponemos en producción de forma efectiva estaremos aprovechando el principal beneficio del Data Mining.

domingo, 20 de enero de 2008

Técnicas de Minería de datos


  • Clustering. Consiste en definir grupos lo más parecido posible y a su vez lo más distinto posible a otros grupos (o clusters). Ejemplo: clientes más rentables, clientes menos rentables.

  • Segmentación. Consiste en la división de la totalidad de los datos, segun determinados criterios. Ejemplo: Dividir los clientes en función de su antiguedad.

  • Clasificación. Consiste en definir una serie de clases, donde poder agrupar los diferentes clientes. Ejemplo: definida unas variables de entrada se produce una determinada salida que clasifica al cliente en un grupo o en otro. Por ejemplo, si la edad esta entre 20 y 40, esta casado y tiene cuenta de ahorro, entonces contrata hipoteca en un 78% de posibilidades.

  • Predicción. Consiste en intentar conocer resultados futuros a partir de modelizar los datos actuales. Ejemplo: Creamos un modelo de variables para saber si el cliente compra o no compra. Aplicamos el modelo a un futuro cliente, y ya podemos predecir si comprará o no.

No se trata de escoger una técnica o otra... mi mucho menos. Cada cosa para lo que está concebida. La minería de datos es, prácticamente, el único proceso analítico que genera nueva información en la capa de acceso. Toda esta información debe ser reintroducida en el entorno para su posterior análisis.

jueves, 17 de enero de 2008

Minería de datos


Muy interesante este apartado del temario... que creo dará para unos cuantos posts. De entrada me quedo con una definición:
Se denomina Minería de datos al conjunto de metodologías, técnicas de modelización matemática y mecanismos de visualización, cuyo objetivo es la extracción de tendencias, patrones y comportamientos subyacentes en grandes volúmenes de datos, y no detectables mediante técnicas de consulta convencionales, con el fin de soportar la toma de decisiones de negocio

Me quedaría con la frase de que un gran numero de analistas y responsables de DWH piensan que hacen minería de datos simplemente porque sus sistemas son muy grandes en cuanto a datos y soportan consultas muy pesadas.

lunes, 7 de enero de 2008

Esquema en estrella


El esquema en estrella es la representación más importante del modelo dimensional. En el modelo dimensional encontramos hechos y dimensiones.
Todo objeto de análisis es un hecho. Este hecho se representa en el modelo dimensional en forma de tabla de hechos o fact table. Los hechos son analizados a su vez, a través de las dimensiones o componentes (tantas como dimensiones participen en la descripción del hecho), que se representan en el modelo dimensional a partir de las tablas de dimensiones.

Si realizamos este esquema mental (tabla de hechos en el centro y tablas de dimensiones alrededor), todo parece dibujar una forma de estrella, origen del nombre.

Los hechos tienen columnas de datos denominadas métricas y las dimensiones tienen columnas que representan los niveles de jerarquías.

Un ejemplo: Tenemos un hecho archifamoso: ventas. Y sus dimensiones: Tiempo, localización y producto. Alguna métrica de ventas seria número de unidades vendidas y valor de la venta. En cuanto a los niveles de jerarquía de las dimensiones encontraríamos día, semana y mes (para el tiempo), almacén, población, provincia (para la localización), producto, familia, departamento (para los productos). Creo que así queda más claro:




Para acabar, decir que las métricas son indicadores que nos permiten cuantificar los hechos y siempre hay que intentar buscar estas métricas que sean aditivas. Una métrica es aditiva cuando es sumarizable por todas sus dimensiones. Otro ejemplo: Una fabrica tiene 50 unidades en el almacén en Enero. En Febrero tiene 30 y en Marzo 10. Esta métrica no es sumarizable, ya que 50+30+10 no da el inventario final del trimestre. Esto suele pasar bastante con la dimensión TIEMPO.

miércoles, 19 de diciembre de 2007

Metadatos


Los metadatos de un DWH están formados por aquellas tablas, campos y registros que mantienen información sobre los datos del propio DWH. En las bases de datos operacionales también existen estos tipos de datos, pero están ocultos de cara al usuario, así que la gran diferencia con los DWH esta en que en estos se pueden ver y se puede interaccionar con ellos. Existen herramientas en el mercado que hacen una gestión automática de los mismos a través de los diferentes procesos ejecutas, pero también se puede realizar mantenimientos manuales.

Los metadatos como tal, contienen información como la procedencia de la información, la periodicidad de refresco, su fiabilidad, forma de cálculo, etc. y una cosa importante, si los datos cambian, los metadatos tienen que cambiar con ellos.

Además los sistemas BI almacenan en ellos información vital como las relaciones de negocio que se establecen entre atributos (jerarquías), operaciones de agrupación a realizar con los diferentes indicadores definidos, etc.

Los objetivos que deben cumplir los metadatos, según el colectivo al que va dirigido, serían:

- Soportar al usuario final, ayudándole a acceder al Data Warehouse con su propio lenguaje de negocio, indicando qué información hay y qué significado tiene. Ayudar a construir consultas, informes y análisis, mediante herramientas de navegación.

- Soportar a los responsables técnicos del Data Warehouse en aspectos de auditoria, gestión de la información histórica, administración del Data Warehouse, elaboración de programas de extracción de la información, especificación de las interfaces para la realimentación a los sistemas operacionales de los resultados obtenidos, etc..

martes, 11 de diciembre de 2007

Data Warehouse: ¿Alguien habló de redundancia de datos?


Dicen que hay un mito de que tener y mantener un DWH es mantener repositorio con datos duplicados, ya que estos se extraen de las Bases de datos operacionales.
Evidentemente el origen de estos datos es ciertamente uno que ya poseemos, pero podríamos decir que para nada encontramos una relación directa entre estos datos y los de la BD operacional. Un dato cuando pasa un DWH sufre alteraciones como:
  • Normalización
  • Depuración
  • Creación de metadatos asociado
  • Sello de tiempo
  • Postproceso para integrarlo como dato agregado, resumido o calculado.
Entonces, ¿podemos hablar del mismo dato? Difícilmente vamos a entender que es el mismo.
Además en los DWH no se cargan todos los datos de la BD operacionales, solo aquellos que se consideran necesarios para el proceso de apoyo a la toma de decisiones.

Otro punto importante a tener en cuenta es, que en el espacio histórico (años), las BD operaciones y el DWH solo comparten un tiempo (meses) relativamente pequeño.
Evidentemente se puede asumir que el mantenimiento del DWH tiene un coste y que los datos ya los teníamos en las otras BD…. pero el resultado final, tanto en informes como en análisis deja libre de toda duda de que los datos del DWH no pueden entenderse como una simple réplica.

jueves, 29 de noviembre de 2007

Data Warehouse en profundidad


Empieza el primer tema hablando de los Data Warehouses, los almacenes de datos.
Los sistemas tradicionales empezaron a tener problemas para satisfacer las necesidades de los usuarios y de esta problematica, surgen los Data Warehouse como sistemas de apoyo a la toma de decisiones, en que los datos de una organización se transforman en información estratégica. Ayudan a su vez a disponer de un acceso sencillo e inmediato a determinada información de negocio estructurada y de calidad.

Acceder a los datos directamente en sistemas operacionales (del dia a dia, no DWH) suponía algunos problemas:
  • Conocer lenguajes como SQL
  • Rendimiento
  • Los datos no están preparados para las consultas necesarias.
  • No suelen tener un horizonte histórico como para detectar tendencias o realizar seguimientos.

Data Warehousing versus Data Warehouse
Data Warehousing es el proceso de crear y mantener un almacén central de datos, es decir un Data Warehouse.

Características de un DWH
  • Orientado a temas: en contra de la orientación a procesos de los sistemas operacionales, facilitando su acceso y entendimiento.
  • Integrado: Los datos de un DWH son íntegros en unidades de medida, nombres, codificación, etc...
  • Variante en el tiempo: Se guardan datos históricos (del orden de años) que facilitan la evaluación e identificación de tendencias.
  • No volátil: Los valores permanecen en el DWH sin modificación.

Diferencias entre un DWH y una BD Operacional
La principal diferencia entre un Data Warehouse y una BD operacional es su objetivo, el primero esta orientado a las operaciones del día a día y el segundo al análisis y la toma de decisiones. Por tanto podemos preveer que uno recibe multitud de transacciones repetitivas y conocidas y el DWH consultas masivas, puntuales y no conocidas. También como diferencia encontramos el rendimiento, la volatilidad, los usuarios (más expertos), estructura (relacional versus multidimensional), alcance histórico, detalle de los datos y por último el volumen, mucho mayor en un DWH.

Arquitectura de un DWH

Cuando hablamos de la arquitectura, nos referimos a la manera de representar la estructura global de los datos, los procesos y las interfaces de usuario. Las bases de esta arquitectura son:
  • Mezclar los datos de la BD operacional con otras fuentes de datos, incluidas las externas.
  • Información fácil y transparente
  • Proveer al usuario de un acceso universal a los datos (apoyado en lenguaje SQL)
  • Metadatos: De donde proviene un dato, que formato tenía, significado, como se ha calculado, etc...
  • Construir y mantener el directorio de datos.
  • Gestión de copia y de replicación: todos los procesos necesarios para asegurar la calidad de los datos.

Estructura del DWH
¿Qué nivel de detalle tienen los datos? Normalmente difiere de los sistemas de producción por contener agregaciones y por guardar al detalle los datos de otros años.
Dentro del DWH también encontramos los famosos Metadatos, que los podríamos definir como un directorio para ayudar a ubicar los contenidos, una guía de donde provienen los datos y una descripción de los algoritmos utilizados para calcular las agregaciones pertinentes.

Data Mart
Un Data Mart cumple los mismos principios que un Data Warehouse, pero difiere principalmente en el alcance del mismo, que seria de un departamento o grupo de personas y no de toda la organización. De Data Marts podemos encontrar de dos tipos: dependientes e independientes según si los datos son extraidos del DWH o directamente de los sistemas operacionales (a la larga un desastre).

Explotar un Data Warehouse
El reto es sacar datos y convertirlo en información, que se dice pronto... y encima querer crear una ventaja empresarial. Este reto va des de la edición de informes hasta una minería de datos avanzada, con análisis multidimensional. Por tanto, un DWH es un medio, no un fin en si mismo. Ningún proyecto debería tener como finalidad construir un DWH, sino obtener información... si bien, cabe decir que el construirlo debe suponer una gran meta.
Para la explotación encontramos tres técnicas principalmente: Query and reporting, OLAP (análisis multidimensional) y Minería de datos . La primera consiste en realizar informes y generar consultas flexibles, con una interfaz gráfica, permitiendo también escribir total o parcialmente la consula en SQL (o similar). La segunda (OLAP) consiste en realizar análisis desde un conjunto de perspectivas o dimensiones. Muy adecuada para grandes volúmenes de datos.
La tercera consiste en el descubrimiento de conocimiento no accesible de manera directa... si no que se encuentra oculto, por ejemplo, buscar patrones de información en los datos.

lunes, 19 de noviembre de 2007

El valor del cliente


El Business Intelligence puede ayudarnos en saber que clientes son los más rentables. Una buena política de clientes establecería 4 categorías:
  • Categoría A: Clientes muy rentables.
  • Categoría B. Clientes rentables
  • Categoría C: Clientes poco rentables
  • Categoría D: Clientes con un valor nulo o negativo para la compañía.

En cada grupo se establecen políticas diferentes, siempre teniendo en cuenta un factor: el valor que estos podían tener en el futuro.
Categoría A: Política para mantener la satisfacción del cliente. Tener un contacto con todos ellos: carta, email, teléfono, solo para preguntar si están contentos, si tienen alguna sugerencia para el servicios, etc.. (Aproximadamente un 15% de nuestros clientes)

Categoría B: Política para aumentar la rentabilidad. Los clientes con alto valor futuro en esta categoría hemos de tenerlos entre algodones, ya que son buena parte del futuro de nuestra compañía. Un análisis de los servicios que tienen y por similitud, los que les podrían interesar, es una buena manera de seguir con esta plácida relación. Otra buena política es ampliar la oferta de productos, quizas no son mejores clientes porque no les ofrecemos lo que necesitan. (Aproximadamente un 25% de nuestros clientes)

Categoría C: Tener una política más agresiva de ventas, estos clientes tienen que decantarse por el grupo B o en el D... Los cliente con buenas perspectivas de futuro en esta categoría, podríamos mantenerlos esperando una mejor oportunidad a medio plazo. En este grupo encontraremos un 50% de nuestros clientes, pero que representa solo el 10% de nuestra facturación. No hay que tener miedo.

Categoría D:Suponen un 10% de nuestros clientes. Aquí el desafío es intentar cambiar la situación. mejorando sus productos. Si esto no fuera posible, la mejor opción es no contar con estos clientes. Como siempre, es mejor tener pocos y buenos, que muchos y malos.