1 Contextualización.

La Encuesta de Microestablecimientos (MICRO) 2016 del DANE caracteriza unidades económicas de industria, comercio y servicios que ocupan hasta 9 personas y llevan más de un año de operación. Para el periodo octubre de 2015 a septiembre de 2016, la operación investigó 33.013 establecimientos en las 24 ciudades principales y sus áreas metropolitanas, reportando también estructura por personal ocupado, ventas/ingresos y otros rasgos del tejido empresarial. Estas actividades están clasificadas según CIIU Rev. 4 A.C. y los resultados se publican en boletines técnicos.

Metodológicamente, desde 2010 la encuesta incorporó un panel y, desde 2012, consolidó un estudio de caso con criterios de unidad legal, actividad (industria/comercio/servicios), antigüedad > 1 año y hasta 9 ocupados. La base permite construir indicadores de ventas (mensual y últimos 12 meses, p. ej., P1010), personal ocupado, costos y gastos, formalización (RUT, registro mercantil, contabilidad) e inclusión financiera, entre otros. El diccionario de datos oficial documenta los grupos de variables y estructura para los años 2012–2016.

Adicionalmente, el módulo TIC de la encuesta cuantifica la presencia en web y otros usos digitales: en 2016, 7,1% de los microestablecimientos reportó tener página web o presencia en un sitio web, indicador útil para analizar brechas y su relación con resultados económicos. Con base en esta fuente, nuestro análisis se orienta a describir la distribución de ventas (P1010), comparar perfiles con/sin página web y estimar la probabilidad de superar umbrales de ingresos, aportando evidencia para estrategias de adopción TIC.

2 Elección de variables.

# ============================
# Selección de variables
# ============================

# Vector con las variables seleccionadas
vars <- c("ANIO", "CDGO_DPRTMNTO", "P607", "P722", "P723",
          "P747", "P1010", "P1062_1", "P1107", "P1111",
          "P2532", "SECTOR")

# Filtrar solo esas columnas
datos_seleccion <- datos[ , vars]

# Revisar primeras filas
head(datos_seleccion)
##   ANIO CDGO_DPRTMNTO P607 P722 P723 P747    P1010 P1062_1   P1107 P1111 P2532
## 1 2016             5    4    1    1    2 1.62e+08       2 1378908    NA     2
## 2 2016             5    1    1    0    1 2.30e+07       0      NA     2     2
## 3 2016             5    1    1    0    1 9.00e+07       0      NA    NA     2
## 4 2016             5    1    0    1    1 3.60e+07       0      NA    NA     2
## 5 2016             5    1    0    1    1 4.80e+07       0      NA    NA     2
## 6 2016             5    1    1    0    1 5.50e+07       0      NA    NA     2
##   SECTOR
## 1      3
## 2      3
## 3      2
## 4      2
## 5      2
## 6      2
# ============================
# Tabla de descripción
# ============================

library(knitr)

variables <- data.frame(
  Codigo = vars,
  Descripcion = c(
    "Año de referencia de la información",
    "Código de departamento (DIVIPOLA)",
    "Total de personas ocupadas en promedio en los últimos 12 meses",
    "Mujeres socias/propietarias y familiares sin remuneración (conteo)",
    "Hombres socios/propietarios y familiares sin remuneración (conteo)",
    "Total socios/propietarios y familiares sin remuneración (conteo)",
    "Valor total de ventas/ingresos en los últimos 12 meses",
    "Número de personas a las que se paga sueldos y salarios",
    "Valor pagado por sueldos y salarios el mes anterior",
    "¿Además del personal ocupado, trabajaron personas no remuneradas el mes anterior? (1=Sí, 2=No)",
    "¿El establecimiento tiene página web o presencia en un sitio web? (1=Sí, 2=No)",
    "Sector económico (CIU Rev. 4)"
  ),
  Justificacion = c(
    "Variable temporal para ubicar el análisis en el año correspondiente",
    "Caracteriza la distribución geográfica de los microestablecimientos",
    "Indicador del tamaño laboral y capacidad productiva del establecimiento",
    "Mide participación femenina en trabajo no remunerado",
    "Mide participación masculina en trabajo no remunerado",
    "Aproxima la intensidad de trabajo familiar no remunerado",
    "Principal indicador de desempeño económico del negocio",
    "Evidencia empleo remunerado y apoya análisis de formalización laboral",
    "Mide la carga salarial mensual del negocio",
    "Indica presencia de apoyo no remunerado; insumo para analizar informalidad",
    "Refleja digitalización y acceso a tecnologías de información",
    "Permite diferenciar el comportamiento según la rama de actividad"
  ),
  stringsAsFactors = FALSE
)

# Mostrar tabla en formato bonito (para RMarkdown)
kable(variables, align = "l")
Codigo Descripcion Justificacion
ANIO Año de referencia de la información Variable temporal para ubicar el análisis en el año correspondiente
CDGO_DPRTMNTO Código de departamento (DIVIPOLA) Caracteriza la distribución geográfica de los microestablecimientos
P607 Total de personas ocupadas en promedio en los últimos 12 meses Indicador del tamaño laboral y capacidad productiva del establecimiento
P722 Mujeres socias/propietarias y familiares sin remuneración (conteo) Mide participación femenina en trabajo no remunerado
P723 Hombres socios/propietarios y familiares sin remuneración (conteo) Mide participación masculina en trabajo no remunerado
P747 Total socios/propietarios y familiares sin remuneración (conteo) Aproxima la intensidad de trabajo familiar no remunerado
P1010 Valor total de ventas/ingresos en los últimos 12 meses Principal indicador de desempeño económico del negocio
P1062_1 Número de personas a las que se paga sueldos y salarios Evidencia empleo remunerado y apoya análisis de formalización laboral
P1107 Valor pagado por sueldos y salarios el mes anterior Mide la carga salarial mensual del negocio
P1111 ¿Además del personal ocupado, trabajaron personas no remuneradas el mes anterior? (1=Sí, 2=No) Indica presencia de apoyo no remunerado; insumo para analizar informalidad
P2532 ¿El establecimiento tiene página web o presencia en un sitio web? (1=Sí, 2=No) Refleja digitalización y acceso a tecnologías de información
SECTOR Sector económico (CIU Rev. 4) Permite diferenciar el comportamiento según la rama de actividad

3 Análisis descriptivo.

3.1 ANIO – Año de referencia de la encuesta (categórica)

Todos los datos pertenecen al año de referencia (2016). La variable confirma el marco temporal del estudio.


3.2 CDGO_DPRTMNTO – Código del departamento (categórica nominal)

Se observa participación de todos los departamentos, con mayor concentración en algunos territorios de alta densidad poblacional.


3.3 P607 – Número de personas ocupadas (numérica discreta)

La distribución es marcadamente asimétrica a la derecha; la mayor parte de los establecimientos operó, en promedio anual, con 1 a 3 personas. Esto indica dotaciones pequeñas y sostenidas durante el año (p. ej., propietario y uno o dos apoyos). Los valores por encima de 5 ocupados son poco frecuentes y corresponden a casos aislados con mayor capacidad. Al ser un promedio anual, estos resultados reflejan el tamaño laboral habitual del negocio —no picos temporales— y confirman el perfil de microestablecimientos de la muestra.


3.4 P722 – Sexo del propietario/administrador (categórica)

Se observa una participación significativa de mujeres como propietarias o administradoras de los microestablecimientos.


3.5 P723 – Hombres socios/propietarios y familiares sin remuneración (categorica).

La distribución es discreta y muy concentrada en los valores bajos. La mayoría de establecimientos reporta 0 mujeres en roles no remunerados, y el segundo caso más frecuente es 1 mujer; valores de 2 o más son poco comunes (cola derecha). Esto sugiere que, cuando existe apoyo femenino no remunerado, suele limitarse a una persona (generalmente familiar).


3.6 P747 – Total de socios/propietarios y familiares sin remuneración (conteo).

La mayoría de los establecimientos tienen pocos años de funcionamiento, reflejando alta rotación y vulnerabilidad.


## Warning: Removed 1651 rows containing non-finite outside the scale range
## (`stat_bin()`).
## Warning: Removed 2 rows containing missing values or values outside the scale range
## (`geom_bar()`).

3.7 P1010 – Ingresos en los últimos 12 meses (numérica continua)

La distribución es fuertemente asimétrica a la derecha: la mayoría de microestablecimientos tienen ingresos bajos, pero un pequeño grupo alcanza niveles mucho mayores.


3.8 P1062_1 – Número de personas para las que el establecimiento paga sueldos y salarios.

La distribución está fuertemente concentrada en 0 y cae rápidamente para 1–2; valores ≥3 son cada vez menos frecuentes. Esto indica que la mayoría de los microestablecimientos no paga salarios a terceros (operan solo con el propietario y/o apoyo no remunerado) y que una fracción menor contrata 1 o 2 personas remuneradas.


3.9 P1107 – valor pagado por sueldos y salarios el mes anterior (variable numérica continua, puede incluir 0).

La distribución del gasto salarial presenta alta concentración en 0 o montos bajos y una cola derecha con pocos establecimientos que reportan pagos elevados. Esto sugiere que la mayoría de microestablecimientos no tiene personal remunerado o paga remuneraciones reducidas, mientras que un grupo pequeño asume cargas salariales altas. Al tratarse de un monto mensual, el indicador refleja el esfuerzo de remuneración reciente del negocio, no su formalización legal ni el tipo de tenencia del local.


3.10 P1111 – Además del personal ocupado, ¿trabajaron personas no remuneradas el mes anterior?

Es una variable dicotómica. Excluyendo los NA (no respuesta), se observa que predomina la opción “No (2)”, es decir, la mayoría de establecimientos no contó con apoyo no remunerado durante el mes anterior; una fracción menor respondió “Sí (1)”, lo que indica que cuando existe, el apoyo no remunerado es puntual y no generalizado. Los NA visibles en el gráfico corresponden a registros sin dato y deben excluirse antes de calcular proporciones o sacar conclusiones.


3.11 P2532 – Página web (categórica binaria)

Muy pocos establecimientos cuentan con página web, lo que evidencia una baja digitalización en el sector.


3.12 SECTOR – Sector económico CIU Rev. 4 (1=Industria, 3=Servicios).

Del gráfico se observa que predomina el Comercio (2), seguido por Servicios (3); Industria (1) representa la porción menor. Esta composición es consistente con un tejido de microestablecimientos orientados a actividades comerciales y de servicios, mientras la manufactura tiene una presencia más limitada.


4 Distribución del total de ventas o ingresos.

##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
## 2.000e+04 1.920e+07 4.700e+07 9.708e+07 1.000e+08 5.000e+09
##     media   mediana        sd 
##  97078679  47000000 193160240
library(ggplot2)

# Filtrar
sin_web <- subset(datos, P2532 == 2 & P1010 < 100000000)  # No tiene web
con_web <- subset(datos, P2532 == 1 & P1010 < 100000000)  # Sí tiene web

# Asegurar tipo numérico (por si vino como texto)
sin_web$P1010 <- as.numeric(sin_web$P1010)
con_web$P1010 <- as.numeric(con_web$P1010)

# Función generadora de gráfico
plot_hist_norm <- function(df, titulo){
  mu <- mean(df$P1010, na.rm = TRUE)
  sg <- sd(df$P1010, na.rm = TRUE)
  xr <- range(df$P1010, na.rm = TRUE)

  ggplot(df, aes(x = P1010)) +
    geom_histogram(aes(y = ..density..), bins = 30, fill = "grey80", color = "black") +
    geom_density(linewidth = 1) +
    stat_function(fun = dnorm,
                  args = list(mean = mu, sd = sg),
                  inherit.aes = FALSE,
                  xlim = xr,
                  linewidth = 1, linetype = 2) +
    labs(title = titulo,
         x = "Ventas o Ingresos (P1010)", y = "Densidad")
}

g_sin <- plot_hist_norm(sin_web, "Distribución (<100M) - Sin Página Web")
g_con <- plot_hist_norm(con_web, "Distribución (<100M) - Con Página Web")

g_sin
## Warning: The dot-dot notation (`..density..`) was deprecated in ggplot2 3.4.0.
## ℹ Please use `after_stat(density)` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

g_con

COMPARACION DE GRAFICOS

Sin página web: mayor concentración en valores bajos; asimetría positiva más marcada.

Con página web: la masa se desplaza a valores algo mayores; sigue habiendo cola derecha, pero la forma suele verse un poco más “suave”.

Normalidad: ninguno es perfectamente normal; si alguno se acerca más a la campana de Gauss, suele ser el grupo con página web, aunque todavía con sesgo.

¿Cómo son las distribuciones en cada caso?

Sin página web: la mayoría de negocios venden poco y solo unos pocos venden bastante, por eso la gráfica se ve cargada hacia la izquierda con una cola larga.

Con página web: los negocios suelen vender más que los anteriores, aunque todavía hay bastantes con ventas bajas.

¿En cuál se evidencia mejor una distribución normal?

En los que tienen página web, porque su forma se parece un poco más a la campana de Gauss, aunque no es perfecta.

¿Cuál es el rango de ventas más probable en cada caso?

Sin página web: lo más común es que las ventas estén en montos bajos, cerca de los 10 a 20 millones.

Con página web: las ventas más frecuentes son un poco más altas, alrededor de 20 a 40 millones.

¿COMO SON LAS DISTRIBUCIONES? ¿CUAL PARECE MAS NORMAL? ¿RANGO MAS PROBABLE?

## --- Limpieza / estandarización ---
names(datos) <- trimws(names(datos))
datos$P1010 <- as.numeric(datos$P1010)

# Estandarizar P2532 a: 1 = Sí (tiene web), 0 = No (no tiene web)
if (is.numeric(datos$P2532)) {
  if (any(na.omit(unique(datos$P2532)) %in% c(1,2))) {
    datos$P2532_std <- ifelse(datos$P2532 == 1, 1,
                         ifelse(datos$P2532 == 2, 0, NA))
  } else {
    datos$P2532_std <- datos$P2532  # ya está 0/1
  }
} else {
  v <- trimws(tolower(as.character(datos$P2532)))
  datos$P2532_std <- ifelse(v %in% c("si","sí","1","true","t"), 1,
                       ifelse(v %in% c("no","0","false","f"), 0, NA))
}

## --- Filtrado ---
sin_web <- subset(datos, P1010 < 1e8 & P2532_std == 0)
con_web <- subset(datos, P1010 < 1e8 & P2532_std == 1)

# Revisa cuántos datos válidos hay en cada grupo
sum(!is.na(sin_web$P1010)); sum(!is.na(con_web$P1010))
## [1] 23474
## [1] 1250
## --- Funciones auxiliares seguras ---
iqr_safe <- function(x){
  x <- x[is.finite(x)]
  if (length(x) == 0) return(c(`25%`=NA_real_, `75%`=NA_real_))
  quantile(x, c(.25,.75), na.rm = TRUE)
}

modo_densidad <- function(x){
  x <- x[is.finite(x)]
  if (length(x) < 2) return(NA_real_)  # evita error de density()
  d <- density(x)
  d$x[which.max(d$y)]
}

## --- Cálculos ---
iqr_sin <- iqr_safe(sin_web$P1010)
iqr_con <- iqr_safe(con_web$P1010)

modo_sin <- modo_densidad(sin_web$P1010)
modo_con <- modo_densidad(con_web$P1010)

iqr_sin; iqr_con
##     25%     75% 
## 1.4e+07 5.4e+07
##      25%      75% 
## 25050000 72000000
modo_sin; modo_con
## [1] 9871660
## [1] 25577719

Los negocios sin página web concentran sus ventas en valores bajos, por lo que la mayoría vende poco y solo algunos llegan a cifras más altas.

Los negocios con página web muestran ventas más elevadas en promedio y una distribución un poco más equilibrada.

En ambos casos la mayoría de establecimientos se mueven en un rango central definido (IQR), pero los que tienen página web tienden a ubicarse en montos más altos.

En conclusiòn: tener página web se asocia con ventas más altas y una distribución de ingresos más amplia.

# Probabilidad de que un microestablecimiento registre ventas > 100 millones en 2016
prob_microestablecimiento <- mean(datos$P1010 > 100000000, na.rm = TRUE)
prob_microestablecimiento
## [1] 0.2419653

La probabilidad de que un microestablecimiento en Colombia en 2016 registrara ventas superiores a $100.000.000 es aproximadamente:

0.242 (24.2%)

5 Estimaciones.

# ============================
# Preparación de datos
# ============================

# Convertir a numéricas por si vienen como factor
datos_seleccion$P2532 <- as.numeric(as.character(datos_seleccion$P2532))
datos_seleccion$P722  <- as.numeric(as.character(datos_seleccion$P722))

# ============================
# 1. Intervalo de confianza para el promedio de ingresos (P1010)
# ============================

media_ingresos <- mean(datos_seleccion$P1010, na.rm = TRUE)
desv_ingresos  <- sd(datos_seleccion$P1010, na.rm = TRUE)
n_ingresos     <- sum(!is.na(datos_seleccion$P1010))

tsum.test(mean.x = media_ingresos,
          s.x    = desv_ingresos,
          n.x    = n_ingresos,
          conf.level = 0.95)
## Warning in tsum.test(mean.x = media_ingresos, s.x = desv_ingresos, n.x =
## n_ingresos, : argument 'var.equal' ignored for one-sample test.
## 
##  One-sample t-Test
## 
## data:  Summarized x
## t = 91.316, df = 33012, p-value < 2.2e-16
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
##  94994959 99162398
## sample estimates:
## mean of x 
##  97078679
# ============================
# 2. Intervalo de confianza para la proporción de microestablecimientos con página web (P2532)
# ============================

n_total_web <- sum(!is.na(datos_seleccion$P2532))
n_si_web    <- sum(datos_seleccion$P2532 == 1, na.rm = TRUE)

prop.test(x = n_si_web,
          n = n_total_web,
          conf.level = 0.95)
## 
##  1-sample proportions test with continuity correction
## 
## data:  n_si_web out of n_total_web, null probability 0.5
## X-squared = 24328, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
##  0.06802871 0.07359172
## sample estimates:
##       p 
## 0.07076
# ============================
# 3. Intervalo de confianza para el promedio de personas ocupadas (P607)
# ============================

media_ocupados <- mean(datos_seleccion$P607, na.rm = TRUE)
desv_ocupados  <- sd(datos_seleccion$P607, na.rm = TRUE)
n_ocupados     <- sum(!is.na(datos_seleccion$P607))

tsum.test(mean.x = media_ocupados,
          s.x    = desv_ocupados,
          n.x    = n_ocupados,
          conf.level = 0.95)
## Warning in tsum.test(mean.x = media_ocupados, s.x = desv_ocupados, n.x =
## n_ocupados, : argument 'var.equal' ignored for one-sample test.
## 
##  One-sample t-Test
## 
## data:  Summarized x
## t = 260.88, df = 33012, p-value < 2.2e-16
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
##  2.185347 2.218433
## sample estimates:
## mean of x 
##   2.20189
# ============================
# 4. Intervalo de confianza para la proporción de propietarios hombres (P722)
# ============================
 
n_total_prop <- sum(datos_seleccion$P722 + datos_seleccion$P723, na.rm = TRUE)
n_hombres    <- sum(datos_seleccion$P723, na.rm = TRUE)
 
prop.test(x = n_hombres,
          n = n_total_prop,
          conf.level = 0.95)
## 
##  1-sample proportions test with continuity correction
## 
## data:  n_hombres out of n_total_prop, null probability 0.5
## X-squared = 19.085, df = 1, p-value = 1.25e-05
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
##  0.5064404 0.5169459
## sample estimates:
##         p 
## 0.5116944

5.1 Promedio de ingresos (P1010)

  • Media estimada: 97.078.679 pesos en los últimos 12 meses.
  • IC 95%: 94.994.959 – 99.162.398.

Esto significa que, con un 95% de confianza, el ingreso promedio real de los microestablecimientos colombianos se encuentra dentro de ese rango.


5.2 Proporción con página web (P2532)

  • Proporción muestral: 7.1% de los microestablecimientos tienen página web.
  • IC 95%: 6.8% – 7.4%.

Con 95% de confianza, entre 6.8% y 7.4% de los microestablecimientos cuentan con presencia digital.

Este resultado muestra claramente la brecha tecnológica en el sector.


5.3 Promedio de personas ocupadas (P607)

  • Media estimada: 2.20 personas por establecimiento.
  • IC 95%: 2.19 – 2.22 personas.

En promedio, los microestablecimientos son unidades muy pequeñas, casi siempre con 2 ocupados.


5.4 Proporción de propietarios hombres (P722 - P723)

-Proporción muestral: 51.2% de los propietarios/administradores son hombres.

-IC 95%: 50.6% – 51.7%.

Los hombres representan una ligera mayoría entre los propietarios/administradores de microempresas en Colombia. Sin embargo, la participación femenina (≈48.8%) sigue siendo muy alta, lo cual resalta su papel relevante en este sector.

6 Estrategías.

Estrategia 1: Incentivar el uso de páginas web para aumentar ventas

El análisis mostró que los negocios con página web tienden a registrar ventas más altas y con una distribución más equilibrada. Una estrategia sería promover programas de capacitación y acompañamiento para que los microestablecimientos creen y gestionen su propia página web. Esto puede incluir convenios con universidades o cámaras de comercio para apoyar con diseño y mantenimiento básico.

Estrategia 2: Programas de apoyo económico para transformación digital

La probabilidad de que un microestablecimiento supere los $100 millones en ventas es de alrededor del 24%, pero este porcentaje es mayor en los que tienen página web. Esto sugiere que la adopción de TIC mejora las oportunidades de crecimiento. Una estrategia sería ofrecer créditos blandos, subsidios o beneficios tributarios a los negocios que inviertan en infraestructura digital (páginas web, plataformas de venta en línea, sistemas de gestión).

## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union

Estrategia1. Presencia web: mayores ventas (mediana de ventas).

Estrategia2. Apoyo a transformación digital: más negocios superan 100M (probabilidad > 100M).

En conclusiòn: los resultados indican que tener presencia digital se relaciona con más ventas, así que las estrategias deben enfocarse en facilitar el acceso y acompañamiento para que más negocios adopten TIC.

7 Limitaciones u oportunidades.

Variable “página web” muy básica: solo distingue entre sí/no. No permite evaluar la calidad de la presencia digital (tienda en línea, uso de redes sociales, pasarelas de pago, volumen de tráfico, interacción con clientes). Distribución de ventas con valores extremos: los ingresos (P1010) presentan alta asimetría y casos muy grandes que elevan el promedio. Esto dificulta asumir normalidad, limita la comparación entre grupos y hace más recomendable usar mediana y cuartiles. Fallas en el diccionario de datos: existen inconsistencias en los rangos reportados (ejemplo: P607 aparece con rango 1–9 y también con 1–98). Esto puede generar dudas sobre la correcta interpretación y el control de calidad del instrumento. Información con muchos vacíos: en varias variables se evidencian valores faltantes, ceros o códigos de no respuesta (ej. 99). Esto restringe la capacidad de análisis y obliga a realizar tratamientos previos (limpieza, imputación o exclusión). Variables desagregadas en exceso: muchas dimensiones aparecen divididas en preguntas separadas (ejemplo: propietarios mujeres, propietarios hombres, total). Esto genera duplicidad, complica los cálculos y exige reagrupación para obtener indicadores más globales. Oportunidad para mejorar la captación: a futuro, la encuesta podría incluir variables más detalladas en digitalización, calidad del empleo, formas de formalización y uso de tecnologías, lo que permitiría análisis más ricos y útiles para la política pública.

8 Referencias.

Departamento Administrativo Nacional de Estadística – DANE. (2017, 22 de marzo). Boletín técnico: Microestablecimientos – MICRO (octubre 2015–septiembre 2016). Bogotá, D.C.: DANE.

Departamento Administrativo Nacional de Estadística – DANE. (2017). Boletín técnico: Indicadores básicos de TIC en empresas – 2016. Bogotá, D.C.: DANE.

Departamento Administrativo Nacional de Estadística – DANE. (s. f.). Microestablecimientos (estadísticas por tema).

Departamento Administrativo Nacional de Estadística – DANE. (2018). Encuesta de Microestablecimientos – MICRO 2012–2016: Diccionario de datos.

Agresti, A., and Kateri, M. (2021). Foundations of statistics for data scientists: with R and Python. Chapman and Hall/CRC.

Cruz, E. D. (2016). Estadística básica: Introducción a la estadística con R. Ediciones de la U.

Evans, J. (2020). Business Analytics. Tercera edición. Pearson.