Enrutamiento basado en calidad
¿Cuánto tiempo has empleado en revisar y afinar tu enrutamiento en base a cómo sabes que funciona cada destino con cada proveedor?
Cuando ya lo tienes tu pensamiento es que ya todo sale por donde mejor funciona pero tú no controlas la terminación de tus propios proveedores y, antes o después, algo cambiará y esa configuración que había hecho necesitará ser revisada y corregida.
Y si hablamos del margen… Al final, todo ese conjunto de cambios pueden haber minimizado tu margen. Poco margen más todo el tiempo empleado en revisar y ajustar el enrutamiento no resulta en un negocio tan rentable como quisiéramos…
¿Hay otra forma?
La hay. El enrutamiento basado en calidad toma como referencia el histórico de calidad de tus proveedores para cada destino y les da un peso concreto que define un orden dado de rutas a tomar, donde la primera opción será el proveedor que históricamente ha funcionado mejor para dicho destino.
Suena bien, ¿verdad? Y suena mejor al tener en cuenta que esto es dinámico porque cada llamada generada añade más info al histórico y ese enrutamiento puede llegar a cambiar automáticamente si ese primer proveedor que funcionaba tan bien, de repente, empieza a fallar.
Lógicamente es algo que consume bastantes recursos porque el sistema está analizando datos y ajustando configuraciones a tiempo real. Es algo que toda la vida se ha hecho a mano y en tiempo diferido. Equipos de ingenieros que monitorizaban los datos de calidad aplicaban ajustes al enrutamiento para buscar el mejor rendimiento. Así empecé yo en este mercado hace ya más de 20 años.
Parámetros a usar
Cuando se habla de parámetros de calidad los dos primeros que nos vienen a la cabeza son ASR y ACD o lo que es lo mismo, proporción de llamadas exitosas y duración media de la llamada. Si nos centramos únicamente en esos dos parámetros podemos garantizar la mayor calidad posible pero estaremos dejando de lado la rentabilidad. Sí, a veces es mejor dar calidad a un cliente a costa de margen pero eso no puede convertirse en una norma.
La lista de parámetros que potencialmente podríamos querer usar se basaría en esto:
- Número total de intentos de llamada
- Número de llamadas conectadas
- Número de llamadas fallidas
- Duración total de llamadas
- ASR (answer seizure ratio)
- ACD (average call duration)
- Tarifa por minuto de compra
- Margen por minuto
- Peso del proveedor en una lista primaria
- PDD medio (post dial delay)
- SCD medio (setup-connect delay)
- QoS medio (quality of service)
- CPS medio (número de llamadas procesadas por segundo)
- Volumen máximo de llamadas simultáneas
- Volúmenes de tráfico enviado/recibido
- Pico de llamadas simultáneas
- Número total de bytes enviado durante todas las llamadas
- Número total de bytes recibido durante todas las llamadas
- Número de llamadas activas
Criterios de cálculo
Hemos dicho que los cálculos se basan en datos de tráfico. Además tienen que ser recientes, porque las condiciones de las redes pueden cambiar de manera muy rápida.
Así entonces, podemos usar datos de un cierto periodo de tiempo o datos correspondientes a un cierto volumen de llamadas. En este último caso se sugiere usar al menos 100 llamadas.
Fórmula para calcular el índice de calidad
Es necesario un índice de calidad para poder comparar las distintas rutas bajo un mismo criterio.
Ese índice se basará en una fórmula matemática, por ejemplo así:
IC = PESO + (ASR * ACD / PRECIO) / 2
Esta fórmula añade más detalles al clásico cálculo basado en ASR y ACD. Se trata de dar más complejidad al cálculo del valor para que tenga en cuenta todos esos aspectos que mencionábamos arriba. Otros ejemplos:
IC = (ASR * ACD) + 100 * (100 - TOTAL_LLAMS)
IC = 2 * (ASR + CPS)
IC = ASR
IC = 1 / PDD
IC = 1 / DURAC_TOTAL
¿Y cuando no tenemos referencias de la calidad del proveedor?
¿Cómo encaja aquí un proveedor del que no tenemos referencias previas? Una fórmula simple le podría dar un valor inicial de cero y, al no recibir tráfico, no podrá acumular un histórico del que ir tirando.
En ese caso, podemos forzar llamadas suficientes a través del proveedor para poder tener algún dato. Como solución valdría, pero sería algo manual y, por tanto, sujeto a errores («se me olvidó sacar al proveedor nuevo de la ruta»).
Esas fórmulas más complejas que veíamos arriba pueden ayudar para esto. La primera fórmula, la que dice así:
IC = (ASR * ACD) + 100 * (100 - TOTAL_LLAMS)
Toma en cuenta que si no hay llamadas para el proveedor el valor inicial sea 10.000:
(0 * 0) + 100 * (100 - 0)
Eso pondrá en la primera posición del enrutamiento a ese proveedor hasta que vaya teniendo llamadas suficientes para ajustarse según su calidad real.
Mola, ¿eh?
En resumen...
Implementar un modelo de enrutamiento basado en calidad puede ofrecer muchas ventajas desde el punto de vista de la calidad del servicio ofrecido. Sin embargo, requiere un análisis previo y la certeza de que nuestro softswitch soporte la funcionalidad y el servidor admita la carga de procesamiento necesaria para ello.
Por cierto, MOR incluye, mediante un módulo adicional, el enrutamiento por calidad… 🙂