Qué es el dimensionamiento de un call center
Dimensionar un call center es calcular cuántos agentes necesitas en cada franja horaria para cumplir un nivel de servicio (SLA) objetivo sin pagar capacidad ociosa. Parece un problema simple ("divide llamadas entre agentes"), pero no lo es: la demanda es estocástica, cada llamada tarda un tiempo variable, y si llegas al 95% de ocupación el tiempo de espera se dispara exponencialmente — no linealmente.
El estándar de la industria para resolverlo es la familia de fórmulas Erlang: Erlang B (bloqueo sin cola, usado en telecom clásico), Erlang C (con cola, el más usado en contact centers) y Erlang A (con cola y abandono). Usarlas mal cuesta dinero en dos direcciones: subdimensionas y pierdes clientes por esperas largas; sobredimensionas y quemas 15-25% del OpEx del contact center en agentes inactivos.
Erlang C vs Erlang A vs Erlang B
- Erlang B asume que la llamada bloqueada (sin agente libre) se pierde inmediatamente. Aplica a sistemas sin cola — hoy casi solo en dimensionamiento de líneas telefónicas o troncales SIP, no en contact centers modernos.
- Erlang C asume que la llamada bloqueada espera en cola indefinidamente hasta que un agente se desocupa. Da resultados conservadores (sobreestima agentes necesarios) porque la realidad es que los clientes cuelgan. Sigue siendo el 80% de lo que usa la industria por simplicidad.
- Erlang A añade una tasa de abandono modelada (ej. paciencia media del cliente = 60 segundos). Produce números más realistas, típicamente 5-15% menos agentes que Erlang C para el mismo SLA. Recomendado cuando tu tasa real de abandono excede 3-5%.
Fórmula Erlang C y ejemplo numérico
La fórmula de Erlang C calcula la probabilidad de que una llamada tenga que esperar (P(wait)), dados:
- λ (lambda) = llamadas por hora
- AHT = tiempo medio de atención en segundos (talk time + after-call work)
- N = número de agentes disponibles
- A (tráfico en erlangs) = λ × AHT / 3600
Fórmula Erlang C: P(wait) = [Aᴺ / N!] / { Aᴺ / N! + (1 − A/N) × Σₖ₌₀ᴺ⁻¹ Aᵏ / k! }
El nivel de servicio (ej. 80/20 = 80% de llamadas atendidas en ≤20 segundos) se deriva de P(wait) y el AHT.
Ejemplo numérico. Contact center inbound con λ = 100 llamadas/hora, AHT = 300 segundos (5 min), meta SLA 80/20:
- Tráfico A = 100 × 300 / 3600 = 8.33 erlangs.
- Regla dedo gordo: N ≥ A + algo — nunca N = A (ocupación 100% = cola infinita).
- Con N = 12 agentes productivos, P(wait) ≈ 24%, SLA 80/20 se cumple (aproximación Erlang C estándar).
- Suma shrinkage del 30% (descansos, baños, training, ausencias): 12 / (1 − 0.30) ≈ 17 agentes programados en nómina para esa franja.
Sin el ajuste por shrinkage, programas los 12 agentes "productivos" y el día real llegan 8 porque los otros 4 están en break, capacitación o ausentes — y el SLA se colapsa.
Shrinkage: el 30% que nadie descuenta bien
Shrinkage = % del tiempo pagado en el que el agente no está disponible para tomar llamadas. Incluye breaks obligatorios, capacitación, reuniones, problemas técnicos (no login), ausentismo, vacaciones. El número honesto en contact centers profesionales sienta en 28-35% según ICMI y benchmarks de Deloitte; en BPO LatAm puede llegar a 40% por alta rotación y bajo ausentismo controlado.
Agentes programados = Agentes productivos requeridos / (1 − Shrinkage)
Si tu modelo Erlang C dice 12 agentes productivos y tu shrinkage es 32%, necesitas 12 / 0.68 = 18 agentes en nómina para esa franja. Confundir productivo con programado es el error más caro del WFM amateur.
SLA, ASA, ocupación: las tres métricas que debes vigilar
- SLA (Service Level): típicamente 80/20 (80% de llamadas contestadas en ≤20s). Industrias reguladas (salud, banca) usan 90/15 o más estricto. Retail ecomm acepta 70/30.
- ASA (Average Speed of Answer): promedio de espera en cola. Métrica complementaria al SLA — un 80/20 con ASA de 45s significa que el 20% restante espera mucho.
- Ocupación = tiempo productivo / tiempo disponible. Rango sano: 75-85%. Sobre 90% causa burnout, rotación y caída de calidad. Bajo 65% indica sobredimensionamiento.
- Utilización = tiempo productivo / tiempo pagado (diferente a ocupación porque incluye el shrinkage). Rango sano: 55-70%.
Monitorear solo SLA es la trampa clásica: puedes tener 80/20 verde y un equipo al 95% de ocupación rumbo a renuncia masiva en 90 días.
Forecast accuracy y schedule adherence
Dos métricas WFM que separan un contact center serio de uno amateur:
- Forecast accuracy = 1 − |Forecast − Actual| / Actual. Target: 85-90% en intervalos de 30 minutos. Debajo del 80% significa que tu volumen predicho está descalibrado y todo el staffing se corre.
- Schedule adherence = tiempo en línea conforme al horario programado / tiempo programado. Target: 90-95%. Mide si los agentes respetan sus turnos (entradas tardías, breaks largos, salidas tempranas comen esta métrica).
ICMI reporta que un contact center con forecast accuracy 85% y schedule adherence 92% logra el mismo SLA con 8-12% menos agentes que uno con 75% y 85% respectivamente. Ahí está el ahorro real del WFM maduro.
Dimensionamiento inbound vs outbound vs blended
- Inbound (entrante): el cliente llama, el modelo es Erlang C puro. Staff en base a volumen forecast por 30 minutos.
- Outbound (saliente): la empresa llama, la métrica es contactos por hora y conversión. El dimensionamiento es distinto (tasas de no-respuesta, dialer ratio) y Erlang no aplica directo.
- Blended: agentes alternan inbound y outbound según cola. Requiere WFM que re-asigne dinámicamente. Más eficiente en utilización pero más complejo de dimensionar.
BPO de cobranza y ventas típicamente blended; servicio al cliente puro (bancos, aseguradoras) inbound; lead gen outbound puro.
Caso BPO 200 agentes: Erlang C en producción
Contact center BPO en Bogotá, 200 agentes, 4,000 llamadas/día distribuidas 6am-10pm, AHT 240 segundos, meta SLA 85/20. Desglose por franja pico (10am-12pm, 450 llamadas/hora):
- Tráfico A = 450 × 240 / 3600 = 30 erlangs.
- Erlang C para 85/20: N = 36 agentes productivos en franja pico.
- Shrinkage 32% (breaks + training): 36 / 0.68 = 53 agentes programados.
- Franja valle (2am-6am, 40 llamadas/hora): 2.7 erlangs, N = 6 productivos = 9 agentes programados.
- Programación total día = suma de 32 franjas de 30 min, no un solo número.
Un modelo Erlang C estático para "el día completo" da el promedio y falla en picos y valles. La programación real es franja a franja.
Impacto financiero: costo del plantel y punto de equilibrio
El plantel es el 60-75% del OpEx de un contact center. En BPO mexicano, costo cargado por agente (salario + carga patronal IMSS ~35% + supervisión + tech + facilities) ronda USD 900-1,400/mes por FTE. En Colombia y Argentina, similar rango USD 700-1,100. En Estados Unidos, USD 3,500-5,500/mes.
Un contact center de 200 agentes BPO MX tiene OpEx de plantel de ~USD 2.4-3.3 M/año. Una mejora de 10% en dimensionamiento (vía Erlang A + mejor shrinkage + WFM discipline) libera USD 240-330 K/año, sin tocar ingresos.
Herramienta interactiva vs Excel Erlang
Las hojas Erlang C en Excel (Callcentrehelper, etc.) funcionan para el primer cálculo pero son estáticas: un input, un output. No comparan tres escenarios (pico/promedio/valle) side-by-side, no modelan Erlang A con tasa de abandono configurable, no proyectan costo del plantel multi-moneda (MXN/COP/USD) y nadie las actualiza pasado el mes. Una calculadora web con Erlang C + A, shrinkage por franja y costeo multi-moneda es la diferencia entre un dimensionamiento académico y una operación que escala.