Unidad 1
Tipología y fuentes de datos
ESCUELA DE NEGOCIOS
Directora: Lorena Patricia Baus
ELABORACIÓN
Experto disciplinar: Tomás Von Bischoffshausen
Diseñadora instruccional: Antonia Gómez Quiroz
Editora instruccional: Trinidad Marshall
VALIDACIÓN
Experto disciplinar: Andrés Montecinos
Jefa de Diseño Instruccional: Alejandra San Juan Reyes
EQUIPO DE DESARROLLO
Welearn
AÑO
2023
Tabla de contenidos
Aprendizaje esperado .............................................................................................................................. 4
Introducción ................................................................................................................................................ 5
1. El ciclo de vida de los datos ............................................................................................................... 6
2. Etapas en el ciclo de vida de los datos........................................................................................... 7
2.1 Análisis de negocios ....................................................................................................................... 7
2.1.1. Matriz Canvas como marco para comprender de negocio de la empresa .......... 7
2.1.2. Planificación estratégica en base a la matriz de marco lógico................................. 9
2.1.3. Del entendimiento de negocio a las preguntas de negocio ....................................10
2.2 Recolección de datos ................................................................................................................... 11
2.3 Limpieza de datos .........................................................................................................................13
2.4 Análisis exploratorio de datos ...................................................................................................16
2.5 Modelado de datos.......................................................................................................................19
2.7 Retroalimentación permanente ............................................................................................... 22
Cierre ........................................................................................................................................................... 23
Aprendizaje esperado
Caracterizan el ciclo de vida de los datos de acuerdo con las etapas que lo componen y
sus relaciones, en el marco de la inteligencia de negocios.
Fuente: Freepik. (s.f)
Introducción
• ¿Cómo podemos identificar qué datos nos son útiles o no?
• ¿Cuál es la mejor forma de analizar una base de datos?
Ahora bien, generar estos análisis sin considerar una metodología de trabajo no te
convertirá en un analista o científico de datos. Necesitas tener un marco de acciones que
implementarás en cualquier proyecto de datos, para cualquier sector, industria o cliente.
Este marco es el llamado ciclo de vida de los datos, y te permitirá abordar cada proyecto
de manera ordenada y efectiva con la finalidad de lograr transformar datos en
información.
5
1. El ciclo de vida de los datos
Por ciclo de vida de los datos entendemos las etapas y los procesos necesarios para
transformar datos brutos en información. Piénsalo así: los datos son como el cobre, para
que sean útiles, tienes que extraerlos, limpiarlos y trabajarlos. Y tú eres como un minero,
pero un minero de datos; debes saber qué datos necesitas para responder tus preguntas
de negocio, ir a buscarlos a distintas fuentes con distintos tipos de datos, limpiarlos,
explorarlos y modelarlos para que se transformen en información valiosa.
Figura 1: Ciclo de vida de los datos
Fuente: Elaboración propia
6
2. Etapas en el ciclo de vida de los datos
2.1 Análisis de negocios
Todo análisis de datos debe tener valor de negocio, ya sea para aumentar los ingresos o
para disminuir los costos de una empresa, pues no tiene sentido invertir los recursos de
la organización en un análisis que no tendrá valor real de negocio. Es por esto que antes
de comenzar cualquier tipo de análisis, debes entender claramente de qué se trata el
negocio del cliente. De esta forma, podrás hacerte una idea del tipo de información que
podrías generar para optimizar el negocio en términos comerciales, operativos o
financieros.
A continuación, te presentamos dos herramientas conceptuales que te pueden ayudar a
entender qué tipo de información podría ser relevante para tu cliente.
2.1.1. Matriz Canvas como marco para comprender de negocio de la
empresa
Una muy buena manera de comprender rápidamente el modelo de negocio del cliente
(por ende, la información que le puede ser útil), es realizar un análisis Canvas.
Esta herramienta nos permite conocer rápidamente los siguientes elementos del modelo
de negocio del cliente:
• Cuál es su oferta de valor.
• Cuáles son sus canales de venta.
• Cuáles son sus canales de distribución.
7
• Cuál es su público objetivo (mercado).
• Cuáles son las actividades clave para el negocio.
• Cuál es su estructura de costos.
• Cuál es su estructura de ingresos.
Figura 2: Matriz canvas
Fuente: Elaboración propia
8
De esta forma, podremos generar análisis de datos para, en base a evidencia empírica:
• Ajustar la oferta de valor.
• Aumentar las ventas, optimizando los distintos canales de venta.
• Mejorar la satisfacción del cliente o generar más ventas, optimizando los canales
de distribución.
• Crear productos y dirigir campañas de marketing en función del público objetivo.
• Optimizar procesos asociados a las actividades claves para el negocio.
• Optimizar la estructura de costos.
• Optimizar la estructura de ingresos.
2.1.2. Planificación estratégica en base a la matriz de marco lógico
Otro enfoque para crear preguntas de negocio que responderemos mediante el análisis
de datos es la planificación estratégica del cliente .
Cuando una empresa tiene una planificación estratégica para alcanzar lo que se propone,
esta necesita tener:
• Un objetivo general.
• Varios objetivos específicos que contribuyan al objetivo general.
• Una o más actividades para lograr cada objetivo específico.
9
• Un indicador de logro para cada actividad que indique el grado de avance del
objetivo específico.
En la medida en que sabemos cuáles son los objetivos específicos y las actividades que
se usarán para lograr el objetivo general, sabemos dónde están las prioridades
estratégicas de la empresa, y por tanto, qué análisis de datos le aportan.
Figura 3: Marco lógico de la planificación estratégica
Fuente: Elaboración propia.
2.1.3. Del entendimiento de negocio a las preguntas de negocio
Una vez que hayamos comprendido el negocio de nuestro cliente y sus objetivos
estratégicos, lo que naturalmente haremos será generar las preguntas de negocio. Por
ejemplo, imaginemos que conversamos con un nuevo cliente y en base al análisis de su
proceso de negocio y de su planificación estratégica hemos entendido que nuestro cliente
se dedica a la venta de productos saludables, con dos grandes verticales de negocio:
productos veganos y productos no veganos.
10
Su público objetivo es, en su mayoría, personas jóvenes con un modo de vida consciente.
Vende por tres canales de venta (página web, tienda física, retail), y este año tiene por
objetivo general aumentar la cantidad de consumidores de sus productos actuales,
implementando un plan de marketing efectivo y guiado por los objetivos específicos:
• Identificar distintos grupos de clientes con preferencias de productos particulares,
para enfocar la publicidad de estos productos a dichos clientes.
• Identificar la efectividad de los distintos canales de venta para vender diferentes
productos (o, escrito en forma de pregunta, "¿cuál es la cantidad vendida de cada
producto, en cada mes, por cada canal de venta?").
2.2 Recolección de datos
Una vez que tenemos las preguntas de negocio, podemos reconocer los datos que
necesitamos para responder cada pregunta. Por ejemplo, para encontrar la siguiente
información mediante un análisis de datos: "¿cuál es la cantidad vendida de cada
producto, en cada mes, por cada canal de venta?", necesitaremos datos relativos a:
• Producto vendido.
• Canal de venta.
• Mes.
Ahora sí, habiendo identificado los datos necesarios, tendremos que buscar los datos en
distintas fuentes de datos, por ejemplo, un ERP, un CRM, bases de datos, la web, archivos
xlsx, json, etcétera (veremos estos tipos de fuentes y archivos en mayor detalle más
adelante).
11
En este caso, supondremos que hemos obtenido la siguiente tabla conectándonos a una
base de datos proveniente de un ERP con la facturación de la empresa:
import pandas as pd
df = pd.DataFrame({
"id_venta":["4356X","1654F", "2343D", "2345", "65343D", "1
244R", "5435A","2346R","9765C"],
"mes":[1,2,3,2,2,3,3,4,3],
"productos":["leche Vegana","chocolate vegano","leche vega
na",
"chocolate vegano","chocolate vegano","leche
vegana",
"leche vegana", "carne de soya","carne de so
ya"],
"cantidad vendida":[10,150,20,20,20,0,250,320,20],
"precio": [2000, 1500, 2000, 1500, 1500, 2000, 2000, 5000,
5000],
"canal de venta":["retail","página web", "tienda física","t
ienda física",
"retail","página web","página web","retail","tienda fí
sica"]})
df
Figura 4: Tabla extraída desde la base de datos de un ERP
Fuente: Elaboración propia
12
En este caso, hemos logrado traer las variables que requerimos para nuestro análisis, e
incluso algunas más que podrían servirnos más adelante.
2.3 Limpieza de datos
Rara vez los datos recolectados estarán listos para ser modelados como en el ejemplo
anterior. La mayoría de las veces nuestros datos necesitarán de una limpieza respecto de
problemas comunes como:
• Incoherencia de los datos (por ejemplo: una persona que aparece con edad
negativa).
• Datos duplicados (pueden afectar el cálculo de nuestros estadísticos).
• Datos nulos (pueden afectar un modelo de machine learning).
• Valores Strings, que representan lo mismo pero escrito de distinta forma (pueden
afectar el cálculo de nuestras estadísticas).
Estos problemas pueden deberse a errores de digitación, fusiones de sets de datos u
otros.
A continuación, supondremos que, dada la misma pregunta de negocio "¿cuál es la
cantidad vendida de cada producto, en cada mes, por canal de venta?", hemos
recolectado los datos desde distintas fuentes, teniendo como resultado la siguiente tabla:
13
import pandas as pd
df = pd.DataFrame({"id venta":["4356X","1654F", "2343D",
"2236E","2345A", "65343D",
"1244R", "5435A","2346R",
"9765C","9765C"],
"mes":[1,2,3,
1, 2,2,
3,3,4,
3,3],
"productos":["leche Vegana","chocolate vegano","leche vega
na",
" ","chocolate vegano","Chocolate vegano",
"leche vegana","leche vegana", "carne de soya
",
"carne de soya", "carne de soya"],
"cantidad vendida":[10,150,20,20,20,0,250,320,20,40,40],
"precio": [2000, 1500, 2000,
None, 1500, 1500,
2000, 20000, 5000,
5000,5000],
"canal de venta":["retail","página web", "tienda física",
"tienda física","tienda física","retail",
"página web","página web","retail",
"tienda física","tienda física"]})
df
Figura 5: Tabla previa a la limpieza de datos
14
Figura 5: Tabla previa a la limpieza de datos
Fuente: Elaboración propia
Como puedes ver:
• Las últimas dos filas de la tabla están duplicadas.
• La fila 3 contiene valores nulos.
• El string "chocolate vegano" está escrito con y sin mayúscula.
Si procedemos sin limpiar estos datos, nuestro análisis será inconsistente y no agregará
valor de negocio.
15
Veamos algunas técnicas de limpieza que aplican a los problemas de esta tabla:
df = df.replace("Chocolate vegano","chocolate vegano") # reemplazamos po
r una sola forma esta cadena de texto
df = df.drop_duplicates() # eliminamos los duplicados
df = df.dropna() # como el valor de la cantidad del valor nulo es muy pe
queño, elimino la fila cuyo Canal de ventas es nulo
df
Figura 6: Tabla posterior a la limpieza de datos.
Fuente: Elaboración propia.
Ahora sí podemos trabajar sobre esta tabla.
2.4 Análisis exploratorio de datos
En esta etapa generamos una exploración inicial del dataframe limpiado, para esto
calcularemos estadísticos de tendencia central y de dispersión (media, mediana, rango,
rango intercuartil y desviación estándar); y crearemos gráficos que nos permitan visualizar
rápidamente patrones en los datos de manera de evaluar la consistencia de la limpieza
16
realizada (en la medida en que aparezcan estadísticos razonables, sabremos que la
limpieza ha estado bien hecha).
Así podremos encontrar nuestros primeros insights de negocio (por ejemplo: podríamos
revisar el precio promedio de los productos vendidos, el mínimo, el máximo, si es que
algún precio se escapa de la norma a ver si podría haber un error en los datos, etc.).
El primer análisis que podemos hacer es buscar una medida de tendencia central, como
el promedio, a ver si nos hace sentido.
df["precio"].mean()
4500.0
Como nuestro cliente nos señaló que los precios de los productos van entre 1.500 y 5.000
pesos, nos parece que podría haber datos extremos distorsionando el promedio del
precio hacia arriba, ya que la media es igual al precio máximo declarado por el cliente.
Para corroborar esto, implementaremos un gráfico de barras y bigotes, que nos indica la
distribución de los datos y si existen valores extremos (outliers).
df["precio"].plot(kind="box")
<matplotlib.axes._subplots.AxesSubplot at 0x7fcd0de41130>
17
Figura 7: Gráfico análisis exploratorio de datos
Fuente: Elaboración propia
Y efectivamente, en este caso, el boxplot nos está mostrando que el 50% de los datos es
igual o menor a 2000 pesos (mediana: la raya verde), que el 50% de los datos está entre
los 1500 y los 5000 pesos (Q1 y Q3), y que tenemos un dato outlier con un precio de 20000
(lo que es extraño, y podría deberse a un error de digitación). Podemos corroborar la
información del gráfico con el método describe() sobre la columna de interés.
df["precio"].describe()
count 9.000000
mean 4500.000000
std 5984.354602
min 1500.000000
25% 1500.000000
50% 2000.000000
75% 5000.000000
max 20000.000000
Name: precio, dtype: float64
18
Por último, habiendo identificado este valor atípico (outlier), lo removemos de nuestra
tabla (dataframe) para que no distorsione nuestros futuros análisis.
condición = df[df['precio'] == 20000].index
df.drop(condición , inplace=True)
df
Figura 8: Tabla luego de haber removido el outlier
Fuente: Elaboración propia
2.5 Modelado de datos
En esta etapa, manipulamos los datos para responder nuestras preguntas de negocio. En
este caso, si recuerdas, nuestra pregunta de negocio era "¿cuál es la cantidad vendida de
cada producto, en cada mes, por cada canal de venta?"
pd.pivot_table(df,
index=["mes","productos"],
columns='canal de venta',
values='cantidad vendida',
aggfunc="sum"
)
19
Figura 9: Tabla de datos
Fuente: Elaboración propia
Ya tenemos la respuesta a la pregunta de negocio relevante para nuestro cliente, pero
esta información presentada de esta forma no es tan fácil de digerir.
Una mejor forma de presentar esta información será generando un gráfico.
import matplotlib.pyplot as plt
%matplotlib inline
pd.pivot_table(df,
index=["mes","productos"],
columns='canal de venta',
values='cantidad vendida',
aggfunc="sum"
).plot(kind="barh",figsize=(8,8))
<matplotlib.axes._subplots.AxesSubplot at 0x7fcd0deb1e80>
20
Figura 10: Gráfico modelado de datos
Fuente: Elaboración propia
De este gráfico podemos desprender que, en los primeros cuatro meses, el grueso de las
ventas lo han aportado los productos chocolate vegano y leche vegana. Asimismo, al
parecer, el canal de venta más efectivo está siendo la página web.
21
2.7 Retroalimentación permanente
Cabe señalar que, como su nombre lo indica, las etapas del ciclo de datos conforman un
ciclo continuo. Es decir, una vez que se ha publicado el modelo, es posible volver a
comenzar el ciclo desde la primera etapa (análisis de negocio) para mejorar la calidad de
los modelos de manera incremental una y otra vez.
22
Cierre
Por medio del siguiente organizador gráfico, se destacan las ideas clave de esta semana:
Esta semana conociste los principales conceptos teóricos relacionados con el ciclo de vida
de los datos. Así comprendiste que los datos se encuentran en estado bruto y que, para
convertirlos en información, se precisa realizar un ciclo de procesos que contempla
entender el negocio del cliente, recolectar los datos, limpiarlos, explorarlos, modelarlos y
finalmente publicarlos. Este será el marco que guiará este curso, en donde veremos en
detalle qué acciones forman parte de cada etapa, por qué son relevantes, cómo aplicarlas
mediante código, y más conocimientos complementarios relacionados con este ciclo de
vida. La idea es que al finalizar este curso no solo domines los conocimientos teóricos y
que tengas un esquema claro para afrontar un proyecto de análisis de datos, sino también
que caracterices el código necesario para llevar este proceso a cabo.
23