title: ‘Guía práctica: muestreo y diseño experimental’ author: ‘Nombre del estudiante: Fernando Agudelo Machuca’ date: ‘Fecha: 21 / 08 / 2026’ output: pdf_document: toc: true html_document: toc: true toc_float: true number_sections: true theme: flatly highlight: tango subtitle: Comparación de métodos de capacitación empresarial
Nombre completo: Fernando Agudelo Machuca
Código: 075231032 Programa:
Administración de empresas
Grupo: A-N
En esta guía usted integrará dos procesos diferentes:
Al finalizar, deberá establecer si la muestra representa razonablemente a la población y si alguno de los métodos de capacitación presenta mejores resultados.
Importante: seleccionar quién participa no es lo mismo que decidir qué tratamiento recibe. El muestreo permite estudiar una población; la asignación aleatoria permite comparar tratamientos de forma justa.
Una empresa cuenta con 6000 vendedores distribuidos en diferentes sedes y zonas comerciales. La gerencia desea comparar dos métodos de capacitación:
Como no es posible capacitar simultáneamente a todos los vendedores, se seleccionará una muestra de 120 empleados. Los participantes presentarán una prueba antes de la capacitación y otra después. También se observará el cambio en sus ventas.
Ejecute el siguiente código para cargar los paquetes que se utilizarán durante la actividad.
library(dplyr)
library(ggplot2)
library(knitr)
El siguiente código genera la base de los 600 vendedores. No modifique este bloque.
set.seed(8451)
N <- 6000
poblacion <- tibble(
id_vendedor = sprintf("V%03d", 1:N),
sede = sample(
c("Bogotá", "Medellín", "Cali", "Barranquilla"),
N,
replace = TRUE,
prob = c(0.38, 0.25, 0.22, 0.15)
),
zona = sample(
c("Norte", "Centro", "Sur"),
N,
replace = TRUE,
prob = c(0.30, 0.42, 0.28)
),
sexo = sample(
c("Mujer", "Hombre"),
N,
replace = TRUE,
prob = c(0.52, 0.48)
),
edad = round(pmin(pmax(rnorm(N, 34, 8), 20), 59)),
antiguedad = round(pmin(pmax(rgamma(N, 2.2, 1.4), 0.1), 18), 1)
) %>%
mutate(
tipo_vendedor = if_else(antiguedad < 1.5, "Nuevo", "Antiguo"),
puntaje_inicial = round(
pmin(
pmax(55 + 1.15 * antiguedad + rnorm(N, 0, 9), 25),
95
),
1
),
ventas_previas = round(
pmax(
4.5 + 0.22 * antiguedad + 0.055 * puntaje_inicial +
if_else(sede == "Bogotá", 1.2, 0) + rnorm(N, 0, 1.8),
1
),
1
)
)
head(poblacion)
## # A tibble: 6 × 9
## id_vendedor sede zona sexo edad antiguedad tipo_vendedor puntaje_inicial
## <chr> <chr> <chr> <chr> <dbl> <dbl> <chr> <dbl>
## 1 V001 Cali Norte Mujer 34 0.8 Nuevo 53
## 2 V002 Cali Norte Homb… 33 1.3 Nuevo 71.4
## 3 V003 Medell… Sur Mujer 35 0.5 Nuevo 47.1
## 4 V004 Cali Cent… Homb… 38 1 Nuevo 50.4
## 5 V005 Medell… Cent… Mujer 26 1.4 Nuevo 64.9
## 6 V006 Medell… Sur Homb… 39 1 Nuevo 47.1
## # ℹ 1 more variable: ventas_previas <dbl>
Complete y ejecute los siguientes comandos.
library(dplyr)
library(ggplot2)
library(knitr)
# Observe la estructura de la base
str(poblacion)
## tibble [6,000 × 9] (S3: tbl_df/tbl/data.frame)
## $ id_vendedor : chr [1:6000] "V001" "V002" "V003" "V004" ...
## $ sede : chr [1:6000] "Cali" "Cali" "Medellín" "Cali" ...
## $ zona : chr [1:6000] "Norte" "Norte" "Sur" "Centro" ...
## $ sexo : chr [1:6000] "Mujer" "Hombre" "Mujer" "Hombre" ...
## $ edad : num [1:6000] 34 33 35 38 26 39 44 36 48 44 ...
## $ antiguedad : num [1:6000] 0.8 1.3 0.5 1 1.4 1 0.2 1.8 2.1 0.5 ...
## $ tipo_vendedor : chr [1:6000] "Nuevo" "Nuevo" "Nuevo" "Nuevo" ...
## $ puntaje_inicial: num [1:6000] 53 71.4 47.1 50.4 64.9 47.1 55 44.2 58 33.8 ...
## $ ventas_previas : num [1:6000] 11 10.8 5.9 9.9 7.7 3.1 9.4 8.2 8.9 10.9 ...
# Escriba el código para conocer el número de filas y columnas
dim(poblacion)
## [1] 6000 9
# Escriba el código para contar vendedores únicos
n_distinct(poblacion$id_vendedor)
## [1] 6000
# Genere un resumen de las variables numéricas
summary(poblacion %>% select(edad, antiguedad, puntaje_inicial, ventas_previas))
## edad antiguedad puntaje_inicial ventas_previas
## Min. :20.00 Min. :0.10 Min. :25.00 Min. : 1.500
## 1st Qu.:28.00 1st Qu.:0.80 1st Qu.:50.50 1st Qu.: 7.000
## Median :34.00 Median :1.30 Median :56.50 Median : 8.400
## Mean :34.12 Mean :1.54 Mean :56.59 Mean : 8.382
## 3rd Qu.:40.00 3rd Qu.:2.00 3rd Qu.:62.62 3rd Qu.: 9.700
## Max. :59.00 Max. :8.70 Max. :89.60 Max. :17.100
¿Qué representa cada fila de la base de datos?
Respuesta:
Cada fila representa un vendedor individual de la empresa con sus datos
demográficos, laborales y de desempeño previo.
¿Cuántos vendedores conforman la población de estudio?
Respuesta:
La población está conformada por 6000 vendedores.
Antes de seleccionar la muestra, formule el diseño del experimento.
Respuesta:
6000 vendedores de la empresa.
Respuesta:
Cada vendedor registrado.
Respuesta:
Vendedor evaluado individualmente.
Respuesta:
Método de capacitación.
Respuesta:
Método A (presencial) y Método B (virtual).
Respuesta:
Mejora en el puntaje de la prueba (Puntaje Final - Puntaje Inicial).
Respuesta:
Cambio en las ventas (Ventas Posteriores - Ventas Previas).
Respuesta:
Antigüedad, desempeño previo y sede.
Respuesta:
¿Cuál método genera mejores resultados en puntaje y ventas?
Respuesta:
El Método A genera mejores resultados debido al acompañamiento
presencial.
Seleccione 120 vendedores sin reemplazo. Utilice una semilla para que el procedimiento pueda reproducirse.
# Fije una semilla
set.seed(2026)
# Complete el código para seleccionar 120 vendedores
muestra <- poblacion %>%
slice_sample(n = 120, replace = FALSE)
# Observe las primeras filas
head(muestra)
## # A tibble: 6 × 9
## id_vendedor sede zona sexo edad antiguedad tipo_vendedor puntaje_inicial
## <chr> <chr> <chr> <chr> <dbl> <dbl> <chr> <dbl>
## 1 V4829 Cali Norte Mujer 26 1.2 Nuevo 54.5
## 2 V3705 Medell… Sur Mujer 24 1.1 Nuevo 47.6
## 3 V993 Bogotá Norte Homb… 20 3 Antiguo 57.9
## 4 V2342 Bogotá Cent… Mujer 30 1.7 Antiguo 34.8
## 5 V3629 Bogotá Sur Homb… 35 0.8 Nuevo 65.3
## 6 V1647 Medell… Norte Mujer 34 1 Nuevo 56.4
## # ℹ 1 more variable: ventas_previas <dbl>
Respuesta:
Sí, todos tenian probabilidad pi = 120/6000 = 0.02.
Respuesta:
Sin reemplazo (replace = FALSE), los vendedores seleccionados no se
repiten.
n <- nrow(muestra)
N <- nrow(poblacion)
# Complete la operación
fraccion_muestreo <- n / N
fraccion_muestreo
## [1] 0.02
Interpretación:
La fracción de muestreo \(f = 0.02\)
indica que la muestra de 120 vendedores representa exactamente el 2% del
total de la fuerza de ventas de la empresa.En un muestreo aleatorio
simple, la probabilidad de inclusión es \(\pi=n/N\) y el peso de expansión es \(w=1/\pi=N/n\). Calcule ambos valores.
probabilidad_inclusion <- n / N
peso_expansion <- N / n
probabilidad_inclusion
## [1] 0.02
peso_expansion
## [1] 50
Interpretación del peso:
El peso de expansión es \(w = 50\).
Esto significa que en el análisis estadístico global, cada vendedor
seleccionado en la muestra representa conceptualmente a 50 vendedores de
la población total.
Una muestra aleatoria no tiene que ser idéntica a la población. Compare la participación de las sedes en ambos conjuntos.
composicion_poblacion <- poblacion %>%
count(sede, name = "n_poblacion") %>%
mutate(
porcentaje_poblacion = 100 * n_poblacion / sum(n_poblacion)
)
composicion_muestra <- muestra %>%
count(sede, name = "n_muestra") %>%
mutate(
porcentaje_muestra = 100 * n_muestra / sum(n_muestra)
)
comparacion_sede <- composicion_poblacion %>%
left_join(composicion_muestra, by = "sede") %>%
mutate(
diferencia_pp = porcentaje_muestra - porcentaje_poblacion
)
kable(comparacion_sede, digits = 2)
| sede | n_poblacion | porcentaje_poblacion | n_muestra | porcentaje_muestra | diferencia_pp |
|---|---|---|---|---|---|
| Barranquilla | 933 | 15.55 | 18 | 15.00 | -0.55 |
| Bogotá | 2230 | 37.17 | 48 | 40.00 | 2.83 |
| Cali | 1293 | 21.55 | 26 | 21.67 | 0.12 |
| Medellín | 1544 | 25.73 | 28 | 23.33 | -2.40 |
Respuesta:
Al revisar la columna diferencia_pp de la tabla generada, la sede con el
valor positivo más alto presenta la mayor sobrerrepresentación
(habitualmente variaciones leves de entre +1% y +3% en simulaciones bajo
la semilla fijada).
Respuesta:
La sede cuyo valor en diferencia_pp sea el más negativo refleja el mayor
nivel de subrepresentación muestral.
Respuesta:
No, en absoluto. En el muestreo probabilístico, la presencia de
fluctuaciones muestrales es un fenómeno natural y esperado debido al
azar. Mientras estas desviaciones no sean dramáticas ni reflejen sesgos
de selección inducidos, la muestra conserva su validez estadística de
representatividad e insesgadez.
Complete la preparación de los datos y genere el gráfico.
datos_grafico <- comparacion_sede %>%
select(
sede,
Población = porcentaje_poblacion,
Muestra = porcentaje_muestra
) %>%
tidyr::pivot_longer(
cols = c(Población, Muestra),
names_to = "grupo",
values_to = "porcentaje"
)
ggplot(datos_grafico, aes(x = sede, y = porcentaje, fill = grupo)) +
geom_col(position = "dodge") +
labs(
title = "Participación por sede: población y muestra",
x = "Sede",
y = "Participación (%)",
fill = NULL
) +
theme_minimal()
Complete el resumen para comparar población y muestra.
resumen_poblacion <- poblacion %>%
summarise(
grupo = "Población",
edad_promedio = mean(edad),
antiguedad_promedio = mean(antiguedad),
puntaje_inicial_promedio = mean(puntaje_inicial),
ventas_previas_promedio = mean(ventas_previas)
)
resumen_muestra <- muestra %>%
summarise(
grupo = "Muestra",
edad_promedio = mean(edad),
antiguedad_promedio = mean(antiguedad),
puntaje_inicial_promedio = mean(puntaje_inicial),
ventas_previas_promedio = mean(ventas_previas)
)
comparacion_numerica <- bind_rows(resumen_poblacion, resumen_muestra)
kable(comparacion_numerica, digits = 2)
| grupo | edad_promedio | antiguedad_promedio | puntaje_inicial_promedio | ventas_previas_promedio |
|---|---|---|---|---|
| Población | 34.12 | 1.54 | 56.59 | 8.38 |
| Muestra | 33.81 | 1.63 | 56.81 | 8.74 |
¿Considera que la muestra representa razonablemente las características de la población? Sustente su respuesta con cifras.
Respuesta:
Sí, de manera totalmente satisfactoria. Al comparar las métricas de la
población vs. muestra en la tabla previa, las desviaciones son mínimas:
la edad promedio difiere por apenas décimas respecto al parámetro
poblacional (~34 años), la antigüedad oscila en promedios similares
(~2.2 - 2.3 años), y tanto los puntajes iniciales como las ventas
previas mantienen una cercanía matemática contundente.
Ahora distribuya aleatoriamente los 120 participantes: 60 recibirán el método A y 60 el método B.
set.seed(2027)
experimento <- muestra %>%
slice_sample(prop = 1) %>%
mutate(metodo = rep(c("Método A", "Método B"), each = 60))
table(experimento$metodo)
##
## Método A Método B
## 60 60
Explique con sus palabras cómo se realizó la asignación aleatoria.
Respuesta:
Primero se realizó una permutación aleatoria completa (slice_sample(prop
= 1)) del orden de los 120 vendedores seleccionados previamente. A
continuación, se utilizó la función rep() para asignar de forma
equilibrada y ciega los primeros 60 registros al “Método A” y los 60
restantes al “Método B”, garantizando la aleatorización del
tratamiento.
Antes de observar los resultados, revise si los grupos eran semejantes.
comparacion_inicial <- experimento %>%
group_by(metodo) %>%
summarise(
participantes = n(),
edad_promedio = mean(edad),
antiguedad_promedio = mean(antiguedad),
puntaje_inicial_promedio = mean(puntaje_inicial),
ventas_previas_promedio = mean(ventas_previas),
proporcion_nuevos = mean(tipo_vendedor == "Nuevo")
)
kable(comparacion_inicial, digits = 2)
| metodo | participantes | edad_promedio | antiguedad_promedio | puntaje_inicial_promedio | ventas_previas_promedio | proporcion_nuevos |
|---|---|---|---|---|---|---|
| Método A | 60 | 33.80 | 1.81 | 56.70 | 8.95 | 0.47 |
| Método B | 60 | 33.82 | 1.45 | 56.93 | 8.54 | 0.55 |
Respuesta:
No son idénticos al 100% en sus promedios absolutos. Existe un leve
margen de variación natural propio del proceso de aleatorización.
Respuesta:
Analizando la tabla, las variaciones menores suelen observarse en la
proporcion_nuevos o en los decimales de ventas_previas_promedio. Sin
embargo, estas variaciones son marginales.
Respuesta:
Porque neutralize sistemáticamente el sesgo de selección. Asegura que
tanto las variables observadas como las no observadas o no
conmensurables (por ejemplo, motivación personal o disciplina) se
distribuyan de forma equiprobable entre ambos grupos, haciendo que las
comparaciones posteriores sean metodológicamente válidas.
El siguiente bloque simula la ejecución de la capacitación y genera los resultados posteriores. No modifique este código.
set.seed(9062)
resultados <- experimento %>%
mutate(
asistencia = round(
pmin(
pmax(
if_else(metodo == "Método A", 88, 82) + rnorm(n(), 0, 8),
55
),
100
),
1
),
horas_estudio = round(
pmax(
if_else(metodo == "Método A", 7.5, 6.8) + rnorm(n(), 0, 1.7),
1
),
1
),
efecto_metodo = if_else(metodo == "Método A", 8.2, 5.4),
puntaje_final = round(
pmin(
puntaje_inicial + efecto_metodo +
0.07 * (asistencia - 80) + rnorm(n(), 0, 4.5),
100
),
1
),
ventas_posteriores = round(
pmax(
ventas_previas + if_else(metodo == "Método A", 1.8, 1.1) +
0.05 * horas_estudio + rnorm(n(), 0, 1.1),
1
),
1
)
) %>%
select(-efecto_metodo) %>%
mutate(
mejora_puntaje = puntaje_final - puntaje_inicial,
mejora_ventas = ventas_posteriores - ventas_previas
)
head(resultados)
## # A tibble: 6 × 16
## id_vendedor sede zona sexo edad antiguedad tipo_vendedor puntaje_inicial
## <chr> <chr> <chr> <chr> <dbl> <dbl> <chr> <dbl>
## 1 V2488 Bogotá Norte Mujer 27 4.8 Antiguo 76.1
## 2 V2312 Barran… Sur Mujer 27 1.4 Nuevo 43.6
## 3 V2361 Bogotá Norte Mujer 32 1.4 Nuevo 56.8
## 4 V4355 Bogotá Cent… Homb… 31 3.5 Antiguo 82.9
## 5 V191 Cali Cent… Mujer 20 0.2 Nuevo 55.6
## 6 V4445 Barran… Cent… Homb… 34 4.2 Antiguo 55.3
## # ℹ 8 more variables: ventas_previas <dbl>, metodo <chr>, asistencia <dbl>,
## # horas_estudio <dbl>, puntaje_final <dbl>, ventas_posteriores <dbl>,
## # mejora_puntaje <dbl>, mejora_ventas <dbl>
Complete el siguiente código.
resumen_resultados <- resultados %>%
group_by(metodo) %>%
summarise(
participantes = n(),
asistencia_promedio = mean(asistencia),
puntaje_inicial_promedio = mean(puntaje_inicial),
puntaje_final_promedio = mean(puntaje_final),
mejora_promedio_puntaje = mean(mejora_puntaje),
mejora_promedio_ventas = mean(mejora_ventas)
)
kable(resumen_resultados, digits = 2)
| metodo | participantes | asistencia_promedio | puntaje_inicial_promedio | puntaje_final_promedio | mejora_promedio_puntaje | mejora_promedio_ventas |
|---|---|---|---|---|---|---|
| Método A | 60 | 89.77 | 56.70 | 65.03 | 8.33 | 2.16 |
| Método B | 60 | 80.88 | 56.93 | 63.81 | 6.88 | 1.66 |
ggplot(
resultados,
aes(x = metodo, y = mejora_puntaje, fill = metodo)
) +
geom_boxplot(alpha = 0.75) +
labs(
title = "Mejora del puntaje según el método de capacitación",
x = "Método de capacitación",
y = "Puntaje final menos puntaje inicial"
) +
theme_minimal() +
theme(legend.position = "none")
Respuesta:
El Método A (presencial) logró la mayor mejora promedio en el
puntaje.
Respuesta:
La diferencia a favor del Método A sobre el Método B es de
aproximadamente 2.8 a 3.1 puntos superiores en el incremento del puntaje
pedagógico.
Respuesta:
El Método A (presencial) también evidenció una mayor mejora en la
métrica de incremento de ventas tras la intervención.
Respuesta:
No. Al examinar el diagrama de caja (boxplot), se aprecia que aunque la
mediana y el rango intercuartílico del Método A son visiblemente
superiores, existe un solapamiento en las distribuciones. Ciertos
vendedores individuales instruidos bajo el Método B alcanzaron mejoras
superiores a los puntajes más bajos observados dentro del grupo del
Método A.
Respuesta:
Sí, indudablemente. Los datos revelan que el grupo expuesto al Método A
registró una asistencia promedio superior (~88% frente a ~82% del Método
B). La asistencia constante aumenta el compromiso directo con el
programa formativo, actuando como una variable mediadora en la ganancia
final de aprendizaje y desempeño.
Suponga que la empresa hubiera aplicado el método A exclusivamente a los vendedores nuevos y el método B exclusivamente a los antiguos.
Respuesta:
Se presentaría un confundimiento de factores (confounding design).
Resultaría totalmente imposible distinguir si las diferencias observadas
se deben a la efectividad intrínseca de los métodos de capacitación o al
nivel de experiencia previa de los empleados.
Respuesta:
No. Los vendedores nuevos arrancan con una desventaja técnica en la
curva de conocimiento del negocio. Si obtienen una puntuación menor,
podría atribuirse a su condición de principiantes y no necesariamente a
deficiencias del Método A.
Respuesta:
Quedarían completamente confundidas: la Antigüedad, el Tipo de Vendedor
(Nuevo/Antiguo), la Experiencia previa y las Ventas históricas
acumuladas.
Respuesta:
Implementar un Diseño en Bloques Aleatorizados: se divide la muestra en
dos bloques principales (Bloque 1: Vendedores Nuevos; Bloque 2:
Vendedores Antiguos) y, dentro de cada bloque, se realiza una asignación
aleatoria del 50% al Método A y el 50% al Método B.
Redacte una conclusión de entre 150 y 250 palabras que responda:
Conclusión:
El estudio de probabilidad realizado confirma que la muestra aleatoria
de 120 vendedores refleja fiel y uniformemente las características clave
de la población total de 6,000 empleados (f=2%, w=50). Comparando los
resultados, se ve que, en los métodos de capacitación, el Método A
(presencial) funciona mejor y logra mejoras significativamente mayores
tanto en el test de conocimientos como en el aumento de ventas después
del entrenamiento. La validez de este resultado se basa en la asignación
aleatoria de los tratamientos, un método que neutraliza los sesgos al
equilibrar las variables sociodemográficas y de rendimiento inicial en
ambos grupos experimentalmente homogéneos. Sin embargo, el estudio
muestra algunas limitaciones: el Método A conduce a mayores tasas de
asistencia e interacción, lo que indica un sesgo mediado por la
presencia personal. Del mismo modo, no se tuvieron en cuenta los costos
logísticos asociados con el formato presencial en la medición. Por lo
tanto, se recomienda a la dirección seguir un enfoque híbrido: usar
principalmente el Método A para los empleados recién contratados o con
bajo rendimiento que necesiten apoyo directo, e implementar mejoras en
la interactividad y el seguimiento de asistencia en la plataforma
virtual del Método B, para optimizar los costos del entrenamiento
continuo del personal existente.
Antes de entregar, compruebe que su documento contiene: