Analítica de Personas · Semestre otoño 2026 · Semana 8 · Prof. René Gempp
El concepto de ROI (return on investment) en cualquier proyecto financiero tiene la misma estructura: (beneficio − costo) / costo. La pregunta que respondemos aquí es la versión específica para selección de personal:
El costo del proceso es relativamente fácil de medir: licencia del test, horas-hombre del entrevistador, plataformas, etc. Es lo que viste en el Apunte 19 bajo el estándar SHRM/ANSI 12-09 de cost-per-hire.
La utilidad bruta es el desafío. ¿Cuánto más vale en pesos un buen contratado que uno mediocre? Y, dado que un proceso de selección con un cierto r y un cierto SR mejora el desempeño promedio en cierta cantidad de SDs (Naylor-Shine, Apunte 20), ¿cómo traducimos esa mejora en SDs a pesos chilenos al año?
El modelo Brogden-Cronbach-Gleser (BCG) es la respuesta clásica a esa pregunta. Vamos a desarrollarlo paso a paso.
Imagínate que tienes un cargo en el que la productividad anual de un empleado, medida en pesos, varía. Algunos empleados generan más valor que otros. Si pudiéramos medir ese valor para cada empleado, obtendríamos una distribución (aproximadamente normal) con cierto promedio y cierta desviación estándar. Llamemos $SD_y$ a esa desviación estándar: el «ancho» de la variabilidad de desempeño en pesos.
Ahora supongamos que aplicamos un proceso de selección con validez $r$ y selection ratio $SR$. Por Naylor-Shine, sabemos que los contratados-con-proceso van a rendir, en promedio, $r \cdot \lambda(SR)$ desviaciones estándar más que un contratado promedio sacado al azar.
El paso lógico para llegar a pesos es multiplicar esa ganancia en SDs por SDy (que está en pesos). Eso te da la ganancia esperada en pesos por contratado, por año. Si el proceso contrata a $N_s$ personas al año y cada una se queda en promedio $t$ años, multiplicas. Y al final restas el costo del proceso.
Esa es la fórmula completa. Brogden la propuso en 1949; Cronbach y Gleser la formalizaron en 1965. La versión usada hoy es:
Donde:
| Símbolo | Significado | Unidad |
|---|---|---|
| $U$ | Utilidad neta del proceso | Pesos al año (o por cohorte) |
| $N_s$ | Número de personas contratadas con el proceso | Personas / año |
| $t$ | Tenure esperado (años promedio que se quedan) | Años |
| $r$ | Validez del proceso (correlación con desempeño) | Sin unidades, [-1, 1] |
| $SD_y$ | Desviación estándar del desempeño en pesos | Pesos |
| $\lambda(SR)$ | Razón de selección estandarizada (Apunte 20) | Sin unidades, > 0 |
| $N_a$ | Número de candidatos evaluados (no solo contratados) | Personas / año |
| $C$ | Costo unitario por candidato evaluado | Pesos |
bcg()Veamos la función paso a paso. Es importante que la implementes tú: la idea es que entiendas cada parámetro, no que copies y pegues.
# Función BCG con parámetros explícitos
bcg <- function(N_s, t, r, SD_y, SR, N_a, C) {
# Paso 1: razón de selección estandarizada (de Naylor-Shine)
z_SR <- qnorm(1 - SR)
lambda <- dnorm(z_SR) / SR
# Paso 2: utilidad bruta = ganancia por contratado × dotación × tenure
utilidad_bruta <- N_s * t * r * SD_y * lambda
# Paso 3: costo total del proceso (todos los evaluados, no solo contratados)
costo_total <- N_a * C
# Paso 4: utilidad neta y ROI
utilidad_neta <- utilidad_bruta - costo_total
roi <- utilidad_neta / costo_total
list(
lambda = lambda,
utilidad_bruta = utilidad_bruta,
costo_total = costo_total,
utilidad_neta = utilidad_neta,
roi = roi
)
}
InnovaCo está evaluando si mantiene el test de aptitud que aplica a candidatos para cargos profesionales en Tecnología. Los parámetros estimados:
# Aplicación a InnovaCo Tecnología, escenario Sackett 2022
res_sackett <- bcg(
N_s = 50,
t = 4,
r = 0.33,
SD_y = 8e6, # 8 millones de pesos
SR = 0.33,
N_a = 150,
C = 60000
)
res_sackett
Lectura: bajo el escenario Sackett 2022, la utilidad neta anual estimada del test es aproximadamente CLP 602 millones, contra un costo anual de CLP 9 millones. ROI ≈ 67×. Es decir, por cada peso invertido en el test, esperamos recuperar 67 pesos en mayor desempeño organizacional.
$SD_y$ es la desviación estándar del valor del desempeño medido en pesos. Conceptualmente, es la respuesta a esta pregunta: «si comparo a un trabajador que está en el percentil 50 con uno que está en el percentil 84 (es decir, una SD por encima), ¿cuál es la diferencia en lo que cada uno produce?». Esa diferencia, en pesos al año, es $SD_y$.
El problema es que casi nunca tenemos una medida directa de eso. Por décadas, la disciplina ha desarrollado tres reglas heurísticas para estimarlo. Las tres dan respuestas diferentes y ninguna es objetiva.
Schmidt y colegas analizaron juicios de gerentes sobre el valor del desempeño y concluyeron que, para cargos profesionales, $SD_y \approx 0,40 \times \text{salario anual}$.
SD_y_40 <- 0.40 * salario_anual
Para un cargo con salario anual de CLP 20 millones, eso da $SD_y$ ≈ CLP 8 millones. Es la estimación conservadora: la usada en presentaciones a directorios escépticos.
Diez años después, Hunter y colegas publicaron una meta-análisis sobre la relación entre desviación estándar de productividad medida directamente en outputs y salario. Encontraron que, en promedio, $SD_y \approx 0,70 \times \text{salario anual}$.
SD_y_70 <- 0.70 * salario_anual
Para el mismo cargo de CLP 20 millones, eso da $SD_y$ ≈ CLP 14 millones. Casi el doble que la regla del 40 %. Es la estimación menos conservadora.
Cascio propuso un método más estructurado, llamado CREPID (Cascio-Ramos Estimate of Performance In Dollars). En vez de una regla porcentual sobre el salario, descompone el cargo en sus tareas principales, asigna pesos relativos por importancia, y suma. El resultado típico está entre la regla del 40 % y la regla del 70 %, pero el método obliga a documentar la lógica del cálculo, lo que es más defendible ante auditoría.
Operativamente, CREPID requiere una entrevista estructurada con el supervisor del cargo y entre dos y tres horas de trabajo por puesto. Es defendible ante un auditor externo (cosa que las reglas del 40 % o 70 % no lo son), pero no es escalable a 50 cargos distintos.
El BCG es lineal en cinco de sus seis parámetros principales ($N_s$, $t$, $r$, $SD_y$, $\lambda$). Cualquier error de estimación se transmite directamente al output. La forma honesta de presentar el resultado es como una matriz de sensibilidad, no como un punto.
# Sensibilidad combinada sobre r (Schmidt-Hunter vs Sackett)
# y sobre SD_y (regla del 40%, 55% y 70%)
salario <- 20e6
escenarios <- expand.grid(
r = c(Sackett = 0.33, Promedio = 0.42, SchmidtHunter = 0.51),
SDy_pct = c(Conservador = 0.40, Esperado = 0.55, Optimista = 0.70)
)
escenarios$utilidad_neta <- mapply(
function(r, sdy_pct) {
bcg(N_s = 50, t = 4, r = r,
SD_y = sdy_pct * salario,
SR = 0.33, N_a = 150, C = 60000)$utilidad_neta
},
escenarios$r,
escenarios$SDy_pct
)
round(escenarios$utilidad_neta / 1e6, 0) # en millones de CLP
Lectura: la utilidad neta estimada va desde CLP 602 millones (escenario más conservador) hasta CLP 1.639 millones (escenario más optimista). Una variación de casi 3×. Eso, no la cifra puntual, es lo que tu CFO necesita saber.
El modelo es elegante y útil, pero tiene cinco limitaciones conocidas que cualquier ingeniero comercial debería poder enumerar antes de presentar resultados.
El modelo BCG asume que la empresa contrata a los candidatos con score más alto, en orden estricto descendente. En la realidad esto rara vez se cumple: los candidatos top rechazan ofertas, hay restricciones de tiempo, los reclutadores bajan el corte por presión de plazos. Murphy (1986) demostró formalmente que cuando esto ocurre, el ROI real puede ser del orden del 30–50 % del estimado por BCG estándar.
(Donde $k$ es un factor que depende del SR: rechazos en SR muy bajos cuestan más utilidad que rechazos en SR altos.) Reportar BCG sin esta corrección sobreestima sistemáticamente.
Latham y Whyte hicieron un experimento que se ha vuelto folclore en la disciplina: presentaron un cálculo de utilidad BCG genuino a ejecutivos, mostrándoles que un test de selección generaba (en cifras reales) cientos de millones de utilidad para sus empresas. La reacción modal fue desconfianza, no entusiasmo. Las cifras les parecieron «infladas» y restaron credibilidad al equipo de RRHH que las presentaba. Una utilidad muy alta puede tener efecto contraproducente.
La lección práctica: el reporte de utilidad debe acompañarse siempre de (i) rangos, no puntos; (ii) la corrección por top-down hiring; (iii) explicación honesta de los supuestos. Una cifra única, redondeada al millón, sin sensibilidad, sin caveats, es un boomerang.
El BCG estándar trata a cada cargo como un módulo independiente. Pero el desempeño organizacional depende de interdependencias entre roles: un equipo bien armado rinde más que la suma de sus integrantes, y un mal hire en un equipo cohesionado puede destruir el desempeño de los demás. Esos efectos no entran en el modelo.
El modelo asume que la validez $r$ y la $SD_y$ son constantes a lo largo del tenure. En cargos altamente dinámicos (tecnología, marketing digital), tanto los predictores como el desempeño cambian: lo que predecía rendimiento hace cinco años ya no predice hoy. Sturman (2003) estudió esta dinámica y mostró que la validez tiende a decaer con el tiempo, lo que reduce la utilidad real para cargos volátiles.
El modelo BCG optimiza utilidad económica esperada, pero no incorpora directamente las restricciones de adverse impact (que veremos en el Apunte 22). Un proceso puede tener ROI altísimo y violar la regla del 4/5. La extensión moderna de BCG —Pareto-optimization (De Corte, Lievens y Sackett, 2007)— intenta resolver esto explícitamente; volveremos sobre ella en el Apunte 22.
El modelo BCG clásico tiene casi 80 años. La literatura ha producido extensiones que valen la pena conocer, especialmente si vas a presentar análisis a un comité financiero sofisticado.
Boudreau introdujo el cálculo financiero ortodoxo dentro del modelo. La utilidad acumulada a lo largo del tenure $t$ no debería sumarse linealmente: debe descontarse a valor presente con la tasa de costo de capital de la empresa.
Donde $i$ es la tasa de descuento (típicamente 8–12 % en empresas chilenas para proyectos de RRHH). En la versión más extendida, Boudreau también incorpora impuestos corporativos sobre la utilidad incremental, depreciación, y costos crecientes.
bcg_npv <- function(N_s, t, r, SD_y, SR, N_a, C, tasa = 0.10, tax = 0.27) {
z_SR <- qnorm(1 - SR)
lambda <- dnorm(z_SR) / SR
ganancia_anual <- N_s * r * SD_y * lambda * (1 - tax)
vp <- sum(ganancia_anual / (1 + tasa)^(1:t))
utilidad_neta <- vp - N_a * C
list(vp_bruto = vp, utilidad_neta = utilidad_neta)
}
bcg_npv(N_s = 50, t = 4, r = 0.33, SD_y = 8e6,
SR = 0.33, N_a = 150, C = 60000,
tasa = 0.10, tax = 0.27)
El ajuste reduce la utilidad estimada en aproximadamente 43 % comparado con el BCG simple (de 602M a 345M en este ejemplo). El descuento financiero más impuestos es lo que un CFO va a hacer mentalmente, así que mejor incorporarlo desde el inicio.
Cabrera y Raju notaron que cada parámetro del BCG es una estimación con incertidumbre asociada, no un punto fijo. La forma profesional de manejar esa incertidumbre es modelar cada parámetro como una distribución y simular el ROI con Monte Carlo.
bcg_montecarlo <- function(n_sim = 10000) {
# Cada parámetro como una distribución, no un punto
N_s <- rnorm(n_sim, mean = 50, sd = 8)
t <- rnorm(n_sim, mean = 4, sd = 0.7)
r <- runif(n_sim, min = 0.20, max = 0.51) # Sackett a Schmidt-Hunter
SD_y <- runif(n_sim, min = 8e6, max = 14e6) # 40% a 70% del salario
SR <- 0.33
N_a <- N_s / SR
C <- rnorm(n_sim, mean = 60000, sd = 5000)
z_SR <- qnorm(1 - SR)
lambda <- dnorm(z_SR) / SR
utilidad_neta <- N_s * t * r * SD_y * lambda - N_a * C
list(
media = mean(utilidad_neta),
p10 = quantile(utilidad_neta, 0.10),
mediana = median(utilidad_neta),
p90 = quantile(utilidad_neta, 0.90)
)
}
set.seed(20260429)
bcg_montecarlo()
Lectura: la utilidad neta esperada (mediana de la distribución) es CLP 988 millones, con un intervalo del 80 % entre CLP 471 millones y CLP 1.673 millones. Esa es la forma defendible de reportar el ROI: una distribución, no un punto.
Sturman extendió el modelo permitiendo que tanto $r$ como $SD_y$ varíen con el tiempo dentro del tenure. La utilidad acumulada se calcula como:
Donde $r_k$ es la validez del proceso para predecir desempeño en el año k del tenure, y $SD_{y,k}$ es la desviación estándar del desempeño en pesos en ese año. Empíricamente, Sturman documentó que $r_k$ tiende a decaer (la validez decrece con el tiempo) en la mayoría de los cargos. Para análisis de cargos con tenure largo, ignorar este decay sobreestima.
Cascio y Boudreau publicaron dos ediciones de un manual operativo (Investing in People) que extiende el BCG a otras intervenciones de RRHH: capacitación, programas de retención, planes de incentivos. La lógica es la misma: traducir la intervención a SDs de mejora en alguna variable de outcome (productividad, retención, satisfacción del cliente), monetizar el SD, restar el costo, calcular ROI y NPV.
Es la referencia estándar para hacer business case de iniciativas de gestión de personas. Si vas a justificar una inversión en RRHH a un CFO, este libro es tu fuente principal.
El test actual cuesta CLP 30.000 por candidato y tiene validez 0,30. Un nuevo test cuesta CLP 80.000 por candidato y tiene validez 0,40. Mismo cargo, mismas dotaciones. ¿Vale la pena el cambio?
# Test actual
actual <- bcg(N_s = 50, t = 4, r = 0.30, SD_y = 8e6,
SR = 0.33, N_a = 150, C = 30000)
# Test nuevo
nuevo <- bcg(N_s = 50, t = 4, r = 0.40, SD_y = 8e6,
SR = 0.33, N_a = 150, C = 80000)
# Diferencia incremental
incremental <- nuevo$utilidad_neta - actual$utilidad_neta
incremental / 1e6 # en millones de CLP
El nuevo test, aunque más caro, genera CLP 178 millones más de utilidad neta al año. La diferencia de costo (CLP 7,5 millones adicionales) es órdenes de magnitud menor que la ganancia incremental. La decisión es clara, salvo que la sensibilidad sobre $SD_y$ revierta el resultado.
El proceso actual tiene SR = 0,20 (selección exigente) y un ratio de 4/5 que viola la regla. Para reducir adverse impact, RRHH propone relajar a SR = 0,40. ¿Qué pasa con la utilidad?
exigente <- bcg(N_s = 50, t = 4, r = 0.40, SD_y = 8e6,
SR = 0.20, N_a = 250, C = 60000)
relajado <- bcg(N_s = 50, t = 4, r = 0.40, SD_y = 8e6,
SR = 0.40, N_a = 125, C = 60000)
c(exigente = exigente$utilidad_neta / 1e6,
relajado = relajado$utilidad_neta / 1e6)
Relajar el cutoff cuesta CLP 254 millones de utilidad al año. Pero también puede reducir el adverse impact (que tiene su propio costo en términos legales y reputacionales). La decisión final no es solo financiera: es un ejercicio de Pareto-optimization que se desarrolla en el Apunte 22.
Macarena te pregunta: «¿con qué validez mínima el test paga su costo?». La respuesta es analítica:
r_breakeven <- function(N_s, t, SD_y, SR, N_a, C) {
z_SR <- qnorm(1 - SR)
lambda <- dnorm(z_SR) / SR
(N_a * C) / (N_s * t * SD_y * lambda)
}
r_breakeven(N_s = 50, t = 4, SD_y = 8e6,
SR = 0.33, N_a = 150, C = 60000)
Lectura: el test paga su costo con una validez de apenas 0,005. Cualquier validez por encima de 0,01 ya es rentable. Dado que las validez típicas están entre 0,20 y 0,50, el test casi siempre paga su costo en cargos profesionales. Esto explica por qué los grandes empleadores invierten en testing: el costo es bajo respecto a la varianza del desempeño en pesos.
bcg() tú mismo. Es media página de código y obliga a entender cada parámetro.Boudreau, J. W. (1983). Economic considerations in estimating the utility of human resource productivity improvement programs. Personnel Psychology, 36(3), 551–576.
Brogden, H. E. (1949). When testing pays off. Personnel Psychology, 2(2), 171–183.
Cabrera, E. F., & Raju, N. S. (2001). Utility analysis: Current trends and future directions. International Journal of Selection and Assessment, 9(1–2), 92–102.
Cascio, W. F. (1982). Costing human resources: The financial impact of behavior in organizations. Kent.
Cascio, W. F., & Boudreau, J. W. (2011). Investing in people: Financial impact of human resource initiatives (2.a ed.). Pearson FT Press.
Cronbach, L. J., & Gleser, G. C. (1965). Psychological tests and personnel decisions (2.a ed.). University of Illinois Press.
Hunter, J. E., Schmidt, F. L., & Judiesch, M. K. (1990). Individual differences in output variability as a function of job complexity. Journal of Applied Psychology, 75(1), 28–42.
Latham, G. P., & Whyte, G. (1994). The futility of utility analysis. Personnel Psychology, 47(1), 31–46.
Murphy, K. R. (1986). When your top choice turns you down: Effect of rejected offers on the utility of selection tests. Psychological Bulletin, 99(1), 133–138.
Schmidt, F. L., Hunter, J. E., McKenzie, R. C., & Muldrow, T. W. (1979). Impact of valid selection procedures on work-force productivity. Journal of Applied Psychology, 64(6), 609–626.
Sturman, M. C. (2003). Utility analysis: A tool for quantifying the value of human resource investments. En J. W. Greenhaus & G. A. Callanan (Eds.), Encyclopedia of career development. Sage.