Como iniciarse en el Big Data y el Análisis de Datos y no morir en el intento: La limpieza de datos

Hace unas semanas comenzamos a hablar, en una primera entrega de este artículo, del poder de los datos en el contexto actual. Comenzamos a explicar cómo los datos se han convertido en el objeto más deseado de las grandes empresas, pero también cómo los pequeños negocios podían aprovechar esta ola para sacar partido.

Como recordarán, el ejemplo que manejamos fue el de “Mi Hotelito”, dentro del sector hotelero. Las variables y explicaciones que se comentaron, podían extrapolarse a otros negocios y sectores y así seguirá siendo en esta segunda entrega. También en la tercera y última, que lanzaremos en las próximas semanas.

Recordando el gráfico en el que nos basamos y seguiremos utilizando, explicamos la recolección de datos y los beneficios de la misma, pero, ¿de qué hablaremos hoy? Como no podía ser de otra manera, seguiremos el flujo y explicaremos la Limpieza de Datos.

Datos y Big Data
El ciclo continuo de los datos

1. Limpieza de Datos

La limpieza de datos es seguramente la parte menos glamourosa del análisis de datos, pero uno de los pasos más críticos y que puede requerir más tiempo. Existe una expresión en inglés que lo resume muy bien: “garbage in, garbage out” (basura entra, basura sale). Desafortunadamente el tener buenos datos no nos garantiza buenos resultados de nuestros análisis, pero unos malos datos sí nos garantizan malos resultados de nuestros análisis.

garbage-in-garbage-out.jpg

No importa el software que usemos, el concepto es el mismo, lo único que cambiarán serán los comandos que usemos. El concepto básico es HOMOGENEIZAR los datos.

En “Mi Hotelito”, lo primero es tener capturados los datos de nuestros clientes en una gran matriz de Microsoft Excel (o cualquier matriz de Python, R, Access, o el programa que usted prefiera).

Tras ello, tenemos que estudiar que dichos datos tienen coherencia. Por ejemplo, si hemos recibido 5254 visitantes a nuestro hotel y filtramos por país, obteniendo 854 países de procedencia de nuestros clientes, sabremos automáticamente que ese dato es erróneo, puesto que solo existen 206 países en el mundo.

¿Por qué puede suceder esto? Esto sucede porque nuestra base de datos no entiende de semántica. Es decir, si un carácter o una palabra son distintos.

Hola no es hola
Con que cambie un carácter, la base de datos entiende que son cosas distintas.

Continuando con el ejemplo, pensemos en España como país. Podemos verlo expresado de múltiples formas: Spanien, Espanya, Espainiako, Espagne, España, Spain, Spagna, Espanha…

Para aumentar un poco la complejidad, debido a que varios de los datos en algún momento se capturan manualmente, existe mucha posibilidad de errores ortográficos, uso de mayúsculas y minúsculas, plurales, espacios, signos de puntuación y abreviaturas.

Existen varias formas de limpiar los datos, pero todas ellas persiguen lo mismo, homogeneizar los datos. Necesitamos que cada vez que los visitantes pongan España como su país, se identifiquen con la misma palabra, para que sea fácil hacer una búsqueda de todos los visitantes españoles.

apple-1850613_1280.jpg

2. ¿Cómo homogeneizar? Las funciones de Excel

Vamos al caso de Excel, al ser cercano a la mayoría de la gente. Al ir acumulando gran cantidad de datos, será imposible homogeneizarlos manualmente. Para ello usaremos las funciones de Excel y, finalmente, acabaremos identificando errores ortográficos.

El primer paso es definir el idioma de trabajo de nuestra base de datos. En nuestro caso, las opciones lógicas serían español o inglés.

Personalmente, me gusta utilizar algunas funciones para que nuestros datos sigan la misma estructura:

MAYÚSCULAS/MINÚSCULAS: iniciar poniendo todas las letras en minúsculas.

BUSCAR/REEMPLAZAR: Muy útil para quitar los espacios al principio y al final de las palabras. También para sustituir las diferentes formas de llamar España por su abreviatura ISO (ES) o por la palabra de nuestra elección, pero todas por la misma palabra.

Tenemos que tener mucho cuidado con el uso de la Ñ, ya que, aunque la mayoría de las bases de datos la pueden usar, todavía existen muchas bases de datos que no la reconocen como un carácter valido, por ejemplo, en los billetes de avión. De igual manera es aconsejable no utilizar los acentos, diéresis o cualquier tipo de carácter menos común.

¿¿¿, y los caracteres no alfabéticos??? ¿Cómo tratarlos? ¿Con que funciones?

Al final tendremos que tratar manualmente los registros restantes.

Una buena recomendación, a nivel de prevención y no de tratamiento, es tratar de disminuir el texto libre en nuestros formularios. Que siempre se seleccionen de una lista cerrada su respuesta, por ejemplo con una lista desplegable.

Aquí podéis obtener algo de ayuda adicional: https://trumpexcel.com/clean-data-in-excel/

El campo Fecha

Mención aparte merece la fecha, ya que es uno de los campos más difíciles de tratar. Cada base de datos usa un formato diferente y cambia con la configuración del idioma que usemos.

las fechas son un problema
La fecha siempre da problemas…

En esta parte, mi recomendación es no usar sólo un campo fecha, sino dividir la fecha en diferentes campos. Es decir, usar un campo para día, mes, año, hora, minuto, segundo…

Así, cuando unamos distintas bases de datos, no tendremos ningún problema.

Vacio / Null /N#A

Aquí la solución que implementemos dependerá de la importancia y criticidad del campo. Antes que nada, si el número de registros faltantes es significante, puede ser que estemos exportando erróneamente los campos. Un error muy común aparece al exportar los datos de ficheros que usan la coma como separador decimal a otros que usan el punto como separador de decimales. Todos los datos que tengan una parte decimal serán tomados como una cadena de caracteres y no como números.

Al revisar los datos incompletos, el primer paso es tratar de completar la información, buscando en Internet, o contactando con los huéspedes para poder completar los registros faltantes.

Solo eliminaremos un registro si más de la mitad de la información está en blanco. De otra manera lo mantendremos, pero adicionando un campo binario que diga que está incompleto, y no será usado para algunos análisis de datos que hagamos.

3. Análisis de datos

Una vez que tenemos nuestra tabla con todos los datos, comenzamos con el análisis de los mismos. Solo falta comenzar a entender lo que nos quieren decir.

Lo mejor es empezar a contar cuántos eventos de cada cosa sucedieron, o a sacar promedios, desviaciones estándares, máximos y mínimos de los datos numéricos. Con todo ello podremos SEGMENTAR a nuestros clientes.

Con la segmentación, conseguiremos saber a qué clientes dirigirnos según la época del año, el tipo de actividad que ofrecemos, el coste de las actividades o las promociones específicas a realizar.

Además de esto, es interesante comparar grupos de clientes, para saber qué promociones son las que mejor funcionan, qué actividades son las más rentables o hacia donde debemos redirigir nuestro negocio.

Análisis temporales

Aquí la variable tiempo es de vital importancia, ya que nuestro principal punto de comparación vamos a ser nosotros mismos. Aquí podemos empezar a graficar los ingresos por cliente de cada bimestre, y comparar los datos de este bimestre con el bimestre del año anterior. De esta manera sabremos si vamos mejorando o empeorando.

También podremos estudiar la estacionalidad de nuestra clientela; es decir, la evolución, en función de los meses o periodos del año. Por ejemplo, si «Mi Hotelito» está en la playa, la demanda crecerá cuando haga calor, mientras que si está cerca de pistas de nieve, crecerá con el frío.

La comparación de un año con otro y ver cómo varían los periodos, nos da la posibilidad de tener en cuenta y medir nuestras acciones de marketing, cambios de precio, o cualquier acción que pueda influir en la demanda. Por ejemplo, se puede evaluar si después de una campaña de mailing hubo un aumento en la demanda en relación al año anterior.

Es imposible saber si nuestras acciones de marketing, mejora de las instalaciones u operaciones tienen un impacto real en nuestros beneficios, si no tenemos datos para comparar. Se puede también agrupar por cliente para saber qué porcentaje de clientes repite con nosotros y con qué frecuencia lo hace, si su consumo se mantiene, aumenta o disminuye.

Cuantos más datos tengamos (limpios), más preguntas podremos hacerles.

En resumen

Una vez que la recolección de datos ha finalizado, tenemos que limpiar los datos, que es básicamente homogenizarlos, para que todos tengan el mismo formato en cada uno de los campos y la misma palabra para referirse al mismo objeto/cosa/evento. Una vez que están limpios, hay que empezar a agrupar, contar, y sacar promedios y desviaciones estándares, pero lo más interesante sucede cuando comparamos contra lo que paso en el pasado, para ver el efecto de determinadas acciones.

En la siguiente y última entrega hablaremos sobre la interpretación de datos, de todas las cosas que podríamos hacer con los datos, y de algunos softwares para iniciarnos. Por ahora, lo mejor es empezar con la limpieza de datos, ya que de una buena base de datos siempre se va a poder ofrecer más y, sobre todo, mejor información. Con malos datos, solo obtendrán malos análisis.

Dilbert y los malos datos
Dilbert nos explica que con malos datos no se puede hacer nada. Fuente http://www.dilbert.com

Raúl Raúl Pulido

articulo_oficial

3 comentarios en “Como iniciarse en el Big Data y el Análisis de Datos y no morir en el intento: La limpieza de datos

Deja un comentario