Telemerk · Herramienta de planificacion de fuerza laboral
¿Qué hace esta herramienta?
Esta herramienta calcula la dotación óptima de personal para centros de contacto
utilizando modelos matemáticos de teoría de colas reconocidos internacionalmente:
Erlang C para llamadas de entrada, M/D/1 con concurrencia para mensajería
instantánea asíncrona, y un modelo de programación lineal para la generación
de turnos. Los cálculos han sido verificados y auditados matemáticamente.
Supuestos del modelo — léalos antes de usar
Erlang C asume llegadas de llamadas con distribución Poisson y tiempos de servicio exponenciales. En operaciones con alta variabilidad de llegadas (picos inesperados, campañas, cortes de servicio), el nivel de servicio real puede diferir del calculado.
El modelo de chat (Jagerman M/D/1) es la aproximación estándar de la industria para mensajería asíncrona. Su precisión depende de que el AHT de respuesta sea relativamente uniforme entre agentes.
El modelo blended asume que los agentes pueden atender llamadas y chat de forma intercalada. Si su operación tiene equipos especializados separados, configure los canales de forma independiente.
Los intervalos son de 1 hora. Herramientas con intervalos de 15-30 minutos ofrecen mayor granularidad para operaciones con alta variabilidad intra-hora.
El solver de turnos (v16) soporta turnos de 6h, 8h o ambos. El factor de personal se calcula desde componentes reales (descansos, comida, capacitacion, ausentismo, rotacion, vacaciones). En operaciones con restricciones contractuales complejas, la solución debe revisarse con RRHH.
Cómo usar los resultados correctamente
Los resultados son una línea base de planificación, no una garantía de nivel de servicio. El rendimiento real depende de la precisión de los parámetros ingresados (AHT, ACW, shrinkage, volúmenes).
Se recomienda calibrar los parámetros con datos históricos reales del call center durante las primeras semanas de implementación y ajustar según los resultados observados.
Los valores de shrinkage deben revisarse periódicamente e incluir todas las actividades no productivas reales (capacitaciones, reuniones, coaching, tiempo de sistema, etc.).
Para una mayor precisión, los volúmenes por intervalo deben basarse en el promedio de los últimos 4-8 semanas del mismo día de la semana, no en estimaciones.
Equivalencia con herramientas comerciales: esta herramienta implementa los mismos
modelos matemáticos de núcleo que utilizan plataformas WFM de nivel empresarial
(Genesys, NICE, Verint, Calabrio, Injixo). La precisión del cálculo es comparable.
La diferencia radica en la integración automática de datos históricos y la calibración
continua que ofrecen esas plataformas.
Limitación de responsabilidad
Telemerk proporciona esta herramienta como apoyo a la toma de decisiones de planificación.
Los resultados deben ser interpretados por personal con conocimiento en gestión de
centros de contacto. Telemerk no asume responsabilidad por decisiones operativas,
contractuales o laborales tomadas exclusivamente con base en los cálculos de esta herramienta
sin la debida validación con datos históricos y criterio profesional.
Workforce Optimizer v20
Erlang C · M/G/∞ · ILP Turnos · Shrinkage desde Componentes · Turnos 6h y 8h · v20
v16 — Shrinkage por componentes:
El factor de personal ya no se ingresa manualmente — se calcula desde descansos, comidas, capacitacion, ausentismo, rotacion y vacaciones,
separado para turnos de 6h y 8h. El solver ILP respeta el tipo de turno seleccionado. |
Erlang N (en piso) vs Programados: Prog = ceil(Erlang_N × Factor) — la tabla muestra ambos. |
Abandono: P(abandono) = (1 − SL) × tasa — formula corregida, NO usa C(N,A) directamente.
Parametros generales
Erlang C usa: SL(t) = 1 - C(N,A)·e^[-(N-A)t/m]
Configuracion de turnos y factor de personalEl factor se calcula automaticamente desde los componentes — no se ingresa manualmente
Metodologia v16: el shrinkage se descompone en sus causas reales (descansos, comidas, capacitacion, ausentismo, rotacion, vacaciones).
El Factor de Personal = 1 / (1 − Shrinkage) se calcula separado para turnos de 6h y 8h.
El solver de turnos usa el tipo que tu selecciones; el factor efectivo es el correspondiente o el promedio si usas ambos.
Modo activo:Turnos de 6h y 8h
🕑 Turno de 8 horas
Tiempo no productivo 8h:75 min (15.6%)
⏱ Turno de 6 horas
Los turnos de 6h no incluyen tiempo de comida.
Tiempo no productivo 6h:15 min (4.2%)
Factores de personal externos
Shrinkage externo acumulado:15.0%
Factor de personal calculado
Turno 8h
Descansos-
Almuerzo-
Capacitacion-
Ausencias+Vac+Rot-
SHRINKAGE 8h-
1.xxx
Factor 8h
Turno 6h
Descansos-
Capacitacion-
Ausencias+Vac+Rot-
SHRINKAGE 6h-
1.xxx
Factor 6h
Factor efectivo de programacion
1.250x
= 1 / (1 − sh_efectivo)
⚠ Shrinkage > 40% — verificar parametros
Llamadas de entrada (Erlang C)
m = AHT+ACW (tiempo de ocupacion por llamada en Erlang C):210 seg
A = Llamadas x m / 3600 | SL(t) = 1 - C(N,A) x exp[-(N-A)t/m] | ASA = C(N,A) x m/(N-A)
Erlang C — modelo M/M/N/inf:
Asume llegadas Poisson y tiempos de servicio exponenciales con media m.
El mismo valor m aparece en A, SL y ASA (consistencia esencial).
Abandono (corregido):
P(espera > umbral) = C(N,A) x exp[-(N-A) x umbral/m] = 1 - SL(umbral)
Abandonos = Llamadas x P(espera > umbral) x tasa_abandono NO es Llamadas x C(N,A) x tasa — eso sobre-estima el abandono.
Modelo M/D/1 con concurrencia + FRT (v13):
Erlang C no aplica al chat asincronico. Usa el modelo M/D/1 con concurrencia (Jagerman):
FRT medio = AHT×(C-1)/2 [round-robin medio] + AHT×ρ/(2(1-ρ)) [backlog M/D/1] SL Chat% = 1 - ρ×exp(-2(1-ρ)T/AHT) [fórmula Jagerman]
Concurrencia máx = floor(2T/AHT)+1 para que FRT medio ≤ objetivo.
El motor itera N desde el mínimo estable (floor(A/C)+1) hasta alcanzar el SL objetivo.
Backlog M/D/1: ρ×AHT / (2(1-ρ))
Usa servicio determinista (no exponencial M/M/1), más realista para respuestas de agente.
Outbound derivado del inbound (OB-IB)
Registros de seguimiento generados a partir del volumen inbound (llamadas + chats). Se distribuyen en la misma curva horaria que el inbound con su propia tasa de consumo independiente.
Calculo OB-IB:
Registros OB-IB = (Llamadas + Chats) x proporcion
Distribucion: proporcional a la curva de llamadas
Horas OB-IB/intervalo = Registros / tasa_IB
Prog = ceil(Horas x factor_shrinkage)
Estimado OB-IB
Registros OB-IB / dia:0
Outbound independiente (OB-Ind) — campana propia
Campana outbound propia con volumen y tasa de consumo independientes del inbound. Distribucion configurable: proporcional a la curva de llamadas o plana (uniforme).
Nota: La distribucion se normaliza para que los registros asignados a cada intervalo sumen exactamente el total (metodo largest-remainder).
Estimado OB-Ind
Horas totales de trabajo:0.00 h
Agentes piso pico (sin shrinkage):0
Volumen de llamadas por intervalo horarioIngresa las llamadas reales de cada hora — 9:00 a 19:00 (11 intervalos)
Modelo Blended activado — Los agentes de llamadas aprovechan su tiempo ocioso para absorber trabajo de chat y outbound.
Plan de turnos — solucion de cobertura optima (ILP aproximado con reduccion post-greedy)
Tabla de dotacion por intervalo horarioErlang N = agentes activos en piso (sin shrinkage, igual a tablas Erlang) —
Prog. = agentes a programar = ceil(N/(1-sh))
Hora
📞 LLAMADAS — ERLANG C (incl. abandono)
💬 CHAT — M/G/∞ + FRT
▶ OB-IB
▶ OB-IND
⚡ BLENDED
👥 PROGRAMACION
☕ PAUSAS Y COMIDAS
Llamadas
Erlangs A
ERLANG N (piso)
NS%
ASA(s)
Ocup% Llam.
OCUP% REAL
Aband. N
Aband. %
Convs (chat)
Replies (chat)
A_chat (erl)
Chat Ocup%
OB-IB Hrs
OB-IB Prog.
OB-Ind Hrs
OB-Ind Prog.
Nc Prog (llam)
Nchat Prog
TOTAL PROG.
Entran
PRESENTE
DIFER.
EN DESCANSO
EN COMIDA
PRESENTES (con breaks) ✓
Erlang N: agentes en piso = tablas Erlang estandar. |
Ocup.Chat: A_chat/ChatPiso — rojo > 85% (riesgo calidad). |
Abandono: Llamadas x (1-SL) x tasa — formula corregida. |
NS: verde ≥ objamarillo obj-5pprojo critico |
ASA: verde ≤ umbralrojo > 2x |
Diferencia: negativo = deficit0-3 = holgura OK |
v16: Shrinkage calculado desde componentes — Factor = 1/(1−sh)
Volumen por canal (registros/hora)
Erlang N requerido · Agentes programados · Presentes
Nivel de servicio (%) y ocupacion llamadas (%)
ASA (seg) y % de abandono
📞 Marcación Automática — Simulación Monte Carlo: Este módulo calcula el personal necesario
para consumir una base de datos outbound en el tiempo deseado, usando simulación de al menos
10,000 intentos para estimar la tasa de consumo real por agente-hora.
📂 Base de Datos y Objetivo
Número total de registros cargados al marcador
No toda la base se consume: algunos registros se agotan. Ej: 90%
Ventana de tiempo disponible para la campaña
Un registro se "consume" (agotado) al superar este límite
⏱ Tiempos del Proceso
Tiempo entre llamadas: tono + espera + resultado (distribución exponencial)
Duración promedio cuando hay contacto con persona (distribución exponencial)
Tiempo extra cuando la conexión es con buzón/máquina antes de colgar (~4-8s). Impacta loginH real.
📊 Cadena de Probabilidades de Marcación
Cada intento atraviesa esta cadena. Solo la venta y el rechazo
consumen el registro. El "volver a llamar" no lo consume pero incrementa el contador de intentos.
Línea contesta (persona o máquina). Intentos que no conectan: tono ocupado, no contesta, etc.
Conexiones que no son buzón de voz, fax o sistema automático
Right Party Contact (RPC): la persona que responde es quien buscamos