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.
# ============================
# 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 |
Todos los datos pertenecen al año de referencia (2016). La variable confirma el marco temporal del estudio.
Se observa participación de todos los departamentos, con mayor concentración en algunos territorios de alta densidad poblacional.
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.
Se observa una participación significativa de mujeres como propietarias o administradoras de los microestablecimientos.
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).
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()`).
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.
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.
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.
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.
Muy pocos establecimientos cuentan con página web, lo que evidencia una baja digitalización en el sector.
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.
## 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.
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
## [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%)
# ============================
# 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
Esto significa que, con un 95% de confianza, el ingreso promedio real de los microestablecimientos colombianos se encuentra dentro de ese rango.
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.
En promedio, los microestablecimientos son unidades muy pequeñas, casi siempre con 2 ocupados.
-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.
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.
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.
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.