[E-Learning] - Limpieza de datos
El Cliente
[LearnData] es una empresa de e-learning dedicada a la venta de cursos online de análisis de datos. Su principal objetivo es:
- Comenzar a construir una infraestructura tecnológica para analizar sus datos.
- Limpiar los datos para que los puedan consumir las áreas de negocio.
El Problema
[LearnData] quiere comenzar a analizar sus principales métricas financieras, pero no tiene ningun sistema creado para poder capturar, analizar y tomar mejores decisiones.
La Base de Datos
Análisis Previo
- ¿Que fuentes de datos tiene la empresa?
- La empresa utiliza wordpress con un plugin de wocommerce como plataforma de venta de sus cursos online y luego cuenta con stripe como pasarela de pagos a de más de los pagos de tarjeta de crédito.
- ¿En que formato se descargan los datos?
- Los datos crudos los tendremos en csv directamente descargados de las fuentes.
- ¿Que datos tenemos?
- Tenemos datos de los productos osea cursos que se venden, los clientes, de los pedidos y de los pagos recibidos por stripe.
- Modelo de datos
- Tenemos la tabla de pedidos que se relaciona con la de clientes y productos mediante SKU_producto e id_cliente y por otro lado tenemos la tabla la de pagos de stripe que la relacionaremos con la de pedidos por el numero de pedido.
- Análisis exploratorio de las tablas.
Ejecución
- Crear una nueva base de datos en MYSQL llamada “learndata” + tablas:
- dim_clientes; dim_producto;fac_pedidos; fac_pagos_stripe
- Crear la tabla de productos a partir de los datos en crudo.
- Chequear como vienen los datos
- Cambiar los nombres de los campos
- Insertar los campos a la nueva tabla
- Crear la tabla de clientes a partir de los datos en crudo
- Chequear como vienen los datos
- Cambiar los nombres de los campos
- Convertir el campo date_created que viene como timestamp a solo fecha
- Extraer del campo billing, todos los descriptivos del cliente que necesitamos aprendiendo a parsear un JSON.
- Insertar los campos a la nueva tabla
- Crear la tabla de pedidos a partir de los datos en crudo
- Chequear como vienen los datos
- Cambiar los nombres de los campos
- Sustituir el nombre del producto por el id.
- Normalizar la columna método de pago.
- Convertir a date la columna fecha_pedido
- Redondear decimales de la columna coste_articulo a enteros
- Insertamos los pedidos a la tabla
- Crear la tabla de cobros de stripe a partir de los datos en crudo
- Chequear como vienen los datos
- Cambiar los nombres de los campos
- Obtener el número de pedido. Quitar el numero de pedido de la descripción que es lo que nos va a permitir unir esta tabla con otras
- Pasar a timestamp el campo “created”
- Reemplazar las commas por puntos
- Convertir el número a decimal con dos lugares despues de la comma.
- Insertar tabla en nueva