Por Joannès Vermorel, mayo de 2008Esta guía explica
cómo optimizar la cantidad de agentes para alcanzar el nivel de servicio deseado, y puede aplicarse a centros de atención telefónica y de contacto. La teoría se ilustra con
Microsoft Excel. Incluimos además notas avanzadas para desarrolladores de software que deseen reproducir la teoría en una aplicación personalizada.
Descarga: erlang-by-lokad.xls (hoja de cálculo de Microsoft Excel)
Al abrir la hoja de cálculo, Excel advertirá que
este documento contiene macros. Esas macros corresponden a la fórmula Erlang-C (vea las explicaciones a continuación). Debe activar las macros para reproducir los cálculos.
Modelado de la actividad de llamadas entrantes
La actividad de llamadas entrantes puede modelarse con unas pocas variables:
- La duración promedio de la llamada (t) se conoce y se encuentra en B7.
- La cantidad de agentes (m) se conoce y se encuentra en B8.
- La tasa de llegada de llamada (λ) se conoce. La tasa de llegada es la cantidad de llamadas entrantes por segundo. En la hoja de cálculo, λ se encuentra en B9.
A continuación, sobre la base de esas 3 variables, junto con algunos supuestos estadísticos, podremos calcular lo siguiente:
- la ocupación de agente promedio,
- la probabilidad de que la llamada quede en espera,
- la probabilidad de que una llamada quede en espera más de un tiempo determinado.
El principal supuesto estadístico es que las llamadas entrantes se comportan estadísticamente como un
proceso de Poisson. Sin entrar demasiado en detalles, este supuesto es razonable si los eventos de llamada son
mayormente independientes.
Contraejemplo: Si consideramos el caso de un centro de atención telefónica que recibe llamadas de televidentes que intentan responder a una pregunta de un juego de un programa de televisión, claramente el supuesto de Poisson no se sostiene, porque todas las llamadas se producen al mismo tiempo en respuesta al mismo evento (el programa de TV).
Cálculo de indicadores con Erlang
Sobre la base de los supuestos presentados en la sección anterior, ahora
calcularemos algunos indicadores estratégicos que reflejan la actividad del centro de atención telefónica.
La
duración del período representa la duración de la ventana temporal que se está analizando. En la ilustración anterior, es 900 s, que equivale a 15 min, un nivel de agregación muy utilizado en los centros de atención telefónica.
La
intensidad de tráfico es un número que representa la cantidad mínima de agentes que se necesitan para responder a todas las llamadas entrantes. Si hubiera menos agentes que intensidad de tráfico, mecánicamente, habrá llamadas que quedarán sin responder. La intensidad de tráfico (
u) se calcula como el producto de la tasa de llegada de llamada (λ) multiplicada por la duración promedio de la llamada (
t). En la hoja de cálculo, la intensidad de tráfico se calcula en
B10.
La
ocupación (o empleo) de agente promedio es un ratio que expresa la cantidad de tiempo que los agentes destinan efectivamente a responder llamadas, comparado con el tiempo total (que podría incluir períodos de inactividad de los agentes). La ocupación de agente puede calcularse simplemente dividiendo la intensidad de tráfico (
u) por la cantidad de agentes (
m). En la hoja de cálculo, la ocupación de agente se calcula en
B11.
La
probabilidad de quedar en espera (desde el punto de vista de quien llama) expresa la probabilidad de que un agente esté disponible (es decir, inactivo) para responder una llamada entrante. Este valor se obtiene a través de la fórmula Erlang-C. Los términos de la fórmula Erlang-C exceden el objetivo de esta guía, pero puede consultar Wikipedia para más
detalles. En la hoja de cálculo de ejemplo, la probabilidad de quedar en espera se calcula en
B12 usando la función macro
ErlangC
implementada en Visual Basic. La función
ErlangC
usa dos argumentos: primero,
m (la cantidad de agentes) y segundo,
u (la intensidad de tráfico).
La
velocidad de respuesta promedio (ASA) representa el tiempo de espera promedio para una llamada. El cálculo de ASA se basa en la fórmula Erlang-C. En la misma hoja de cálculo, la ASA se calcula en
B13 usando la función macro
ASA
implementada en Visual Basic. La función
ASA
usa 3 argumentos: primero,
m (la cantidad de agentes); segundo,
u, y tercero,
t (la duración promedio de la llamada).
La
probabilidad de esperar menos de un tiempo objetivo se explica por sí misma. Al igual que en el caso de la probabilidad de quedar en espera, el detalle de la fórmula real excede el objetivo de esta guía. En la hoja de cálculo de ejemplo, la probabilidad se calcula en
B15, mientras que el tiempo de espera deseado (es decir, el tiempo objetivo),
tt, se proporciona en
B14. El cálculo emplea la función
ErlangCsrv
, que usa 4 argumentos: primero,
m (la cantidad de agentes); segundo,
u (la intensidad de tráfico); tercero,
t (la duración promedio de la llamada), y cuarto,
tt (el tiempo objetivo).
Cálculo práctico de personal con Excel
En las secciones anteriores, vimos cómo calcular indicadores útiles para analizar la actividad del centro de atención telefónica. Sin embargo, el diseño de Excel (vea la captura de pantalla más arriba) se eligió para presentar conceptos claros, pero no resulta adecuado para el cálculo práctico del personal para centro un centro de atención telefónica.
En esta sección proponemos usar un diseño mucho más compacto, que se ilustra en la captura de pantalla a continuación.
En la hoja de cálculo de ejemplo, la esquina superior izquierda de la ilustración aquí arriba corresponde a la celda
E2 (la celda está vacía). Los cálculos realizados en esta tabla son simplemente la aplicación directa de las fórmulas presentadas en la sección anterior.
Algunos comentarios:
- Suponemos una duración de llamada promedio constante t y un tiempo objetivo constante tt.
- Usamos referencia de celda estática de Excel, es decir $A$1 en lugar de A1, para las variables (lo que facilita las acciones de cortar y pegar de las fórmulas).
- Los recuentos de agentes se pueden optimizar libremente para ajustar los niveles de servicio esperados.
- Las propiedades de formato de celda se ajustan para evitar mostrar demasiados decimales.
Licencia (en inglés)
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.