Blogs

Mejorando la operatividad de un Call Center con Machine Learning
  • Víctor Gonzalez
  • 2482 Views
  • 0 Comment
  • Algorithms . Big Data . Data Science . Machine Learning . Procesamiento de Lenguaje Natural .

Entender a nuestros clientes y dar la mejor respuesta a sus necesidades en el menor tiempo posible es clave para aumentar su satisfacción y su engagement con la compañía.

El problema comienza cuando el número de clientes es alto y nos llegan cientos o miles de mensajes al día. En esta situación tenemos dos problemas a solucionar. Primero hay que priorizar a qué mensajes le vamos a dar respuesta primero y, segundo, hay que entender qué es lo que nos dicen. Está claro que algunos mensajes serán más importantes o más urgentes que otros, y no siempre es fácil priorizar. Para facilitar esta tarea podemos servirnos de técnicas de Machine Learning que hagan parte del trabajo por nosotros.

En este post nos vamos a centrar en el caso de un Call Center para clientes B2B de una operadora Telco. Una parte de las comunicaciones y las gestiones de los clientes con el Call Center se realizan mediante correos electrónicos. Analizando estos correos es posible extraer métricas que nos ayuden a entender las necesidades de los clientes que se comunican por esa vía. Este análisis se realiza, principalmente, mediante técnicas de Procesamiento de Lenguaje Natural (PLN). De hecho, nosotros hicimos la analítica a dos niveles:

  • Nivel de operativa – Este nivel es más básico e implica un análisis a nivel de envío y respuesta de correos. Esto se hace simplemente analizando las cabeceras de los correos.
  • Nivel de contenido – Es decir, procesar el contenido de los mensajes de los clientes para clasificarlos automáticamente en función del contenido de los mismos. Podemos entender esto como las reglas de filtrado que programamos en nuestros clientes de correo, pero mucho más avanzadas.

El análisis a nivel de operativa nos permite obtener métricas sencillas como cuantos correos se reciben en el Call Eenter, de qué clientes, a qué horas se reciben más correos, cuánto se tarda en responder cada correo, etc. Pero también es posible realizar algún análisis más complejo extrayendo datos de conversaciones enteras: analizando los correos de una conversación (un hilo de correos), podemos descubrir cuánto tiempo tardamos en solucionar un problema de un cliente, cuantos correos se han necesitado para solucionarlo, cuantas personas de nuestro Call Center se han visto involucradas o de qué departamentos.

El análisis a nivel de contenido es más complejo ya que requiere un pre-procesamiento de los datos más sofisticado pero nos permite extraer insights mucho más interesantes.  La limpieza de los correos incluye extraer el cuerpo de los mensajes, limpiarlos (aquí el reto está en eliminar firmas o respuestas en línea a otros correos) y utilizar técnicas de Procesamiento de Lenguaje Natural (NLP) que nos permitan transformar el contenido en características entendibles por el algoritmo de aprendizaje automático que queramos utilizar. Usualmente este paso incluye eliminar stop-words (palabras sin significado como preposiciones o artículos), crear “bags of words” o “n-gramas” y vectorizarlos con algoritmos como, por ejemplo, TF-IDF.

Con los datos preparados, ya se puede alimentar a un algoritmo que aprenda a categorizar los correos automáticamente. Nosotros abordamos este problema como uno de clasificación ya que la operadora nos facilitó las categorías en las que quería clasificar sus correos. De esta manera teníamos 8 categorías (altas, modificaciones de línea, incidencias técnicas o bajas entre otros) que etiquetamos manualmente en un conjunto de los datos para su entrenamiento. Aunque esto pueda parecer un proceso laborioso, se puede llegar a resultados interesantes muy rápidamente. Por ejemplo, con sólo una muestra de 100 correos etiquetados ya era posible distinguir perfectamente algunas de las categorías propuestas por el cliente.

A continuación detallamos algunos de los KPIs que obtuvimos del Call Center:

  • – Tiempo de respuesta medio a los correos por parte de los operadores.
  • – Tiempo de resolución de incidencias (es decir el tiempo entre el primer y el último mail de una cadena de correos)
  • – Tamaño de la cola de correos e incidencias por resolver en cada momento. Es decir, número de correos por contestar e incidencias por resolver en cada momento (podemos sacar los tamaños de estas colas por hora o bien día de la semana), lo que nos permite conocer si estamos ante un pico de incidencias.
  • – Al procesar el contenido de los correos, podemos categorizar los mismos automáticamente y con estas categorías, se pueden asignar correos automáticamente a la persona más indicada para su respuesta.
  • – Adicionalmente, conociendo las categorías de los correos, es posible tener las métricas anteriores por categoría. Por ejemplo, volúmenes y tiempos de respuesta por categoría.

En este post hemos visto qué métricas podemos obtener de un análisis de correos electrónicos de los clientes de un Call Center. Analizando las cabeceras y el contenido de los correos es posible obtener métricas que nos faciliten KPIs de la capacidad operativa y del dimensionamiento del Call Center así como datos que nos ayuden a perfilar al cliente y sus necesidades. En un futuro post analizaremos más en detalle cómo llevamos a cabo este análisis y comentaremos más en detalle los procesos de limpieza y preparación de los correos electŕonicos así como las técnicas de PLN utilizadas para analizar su contenido.

Team Leader - Data Scientist @ Synergic Partners | Follow me on Twitter, GitHub or Flipboard (@vgonpa)

0 COMENTARIOS
DEJA TU COMENTARIO

Clientes destacados