AI/GenAI to analyze contact center volume drivers

AI/GenAI to analyze contact center volume drivers

How this post came about:

Prior to founding McCandless Consulting LLC (focused on Data, Analytics, Automation, AI), my jobs at 亚马逊 were supporting a contact center, first as an L5 (aka senior) forecasting business predicting demand volume and then creating/maintaining data infrastructure as an L5 business intelligence engineer to fuel insights. Recently, my dad, Michael McCandless , was taking a Coursera class on machine learning and posed a use case to me, coincidentally, for contact centers. Michael has spent 15+ years providing technology services to retail and consumer goods customers - contact centers were a normal part of the landscape. We brainstormed on the hypothesis and this post is the result.

CAVEAT: This is an unproven hypothesis designed to stimulate thinking and input among those interested in contact centers and machine learning. It is not implemented, although McCandless Consulting would be happy to talk about doing that…

Background:

Operational success in the contact center setting requires identification and quantification of call types (e.g password reset, change my W2, cancel my order, etc.), and determination of what can be automated, self-service enabled, or fixed. Those options have the ability to effect speed to resolution, contact center labor, and client experience – that’s well-known and solutions exist today to implement one or more of the options. However, the key success factor for any of the solutions is a solid understanding of call type composition and volume. With a limited call volume for a limited time duration - composition is easy to grasp. However, call centers are typically not set up for limited call volume – they are set up for scale. We wondered – how could AI/GenAI be used at scale to deliver that “solid, ongoing understanding of call types and volume.” In particular, the understanding needed to include nuanced, or hidden-in-scale call types. In other words, beyond the obvious, well-known, and high-volume call types (e.g. password reset, where is my W2) - what was “beneath the surface” that scale was obscuring?

Hypothesized solution summary:

1.? ? Use GenAI to create a call summary from the call transcript or call log, for each call

2.? ? Use K-means clustering to ingest those GenAI generated call summaries and identify “top” call types and volume - this establishes a baseline of labeled data

3. Compare a weekly extract of call summaries against the baseline to identify new, undiscovered, growing call types

4. Repeat, monthly

Potential benefits:

1.? ? Consistently generated call summaries, originated with details of the call (transcript or call log).

2.? ? Generated call summaries (using GenAI) replace manual effort to get the same.

3.? ? Discovery of call types previously unknown, or “invisible” due to volume. This is an important point. The proposed solution is overkill to “discover” what is already well known, e.g. password reset. That’s not our goal.

4.? ? Enable a regular dialogue between contact center operations and internal business leaders to comprehend call types, and prioritize actions (automate, self-service, fix) against those call types.

?Hypothesized solution – more detail:

?Establish a baseline:

  1. Take a previous 12-month call extract. This could come from your incident database, e.g. Servicenow, or your contact center system, e.g. Genesys. We chose 12 months not as a hard-and-fast rule but with the intention to factor in seasonality.
  2. Use GenAI to generate a call summary from transcribed calls (Genesys source) or generate a call summary from the written call summary (Servicenow source). Ideally, GenAI will consume call transcripts to avoid inconsistent written call summaries.
  3. Specify a theoretical minimum (called M) and theoretical maximum (called S) of call types. M can be any value 2 or greater. The value of S should operationally make sense. For example, if S = 100, the business is saying they’re willing to keep up with 100 distinct call types. In the experience of the authors working with call centers, an S of 20 is reasonable.?
  4. Use K-means clustering unsupervised learning to identify call types, iterating over the number of clusters for values between M and S. We will refer to the number of clusters as J. For each iteration, annotate the sum of squared errors (SSE). Then, review the values of J that have the five lowest SSE. By doing so, we are ‘tuning’ the parameter of J to optimize model accuracy.
  5. Validate the clusters among the five J with lowest SSE and choose the value of J that makes the most sense. For example, imagine your input was characteristics of athletes on an NBA court. Given there are five positions in basketball (point guard, shooting guard, small forward, power forward and center), having J = 5 would make sense - even if J = 5 does not yield the lowest SSE.How to validate clusters - your options include but aren’t limited to:looking at word cloud visuals by cluster. In the word cloud the largest words you would see would be words like, ‘late, delayed.’ After validating and settling on a value of J, this is a great time for a discussion between operations and internal customers to review the initial output and determine if changes in approach are needed.using GenAI to summarize in one sentence which each cluster represents. Imagine one of the clusters is about late shipments.?reading 10 transcripts.
  6. Use labeled data to train your classification model.

Weekly:

  1. Take an extract for the week.
  2. Generate a call summary from the transcript for each incident using GenAI.
  3. Run a classification model (weekly call summaries as input) - one starting point could be XGBoost. Our primary objective of this step is to identify the beginning of what are new call types, so we can try and “get ahead” of the volume. We are not trying to confirm what we already know as call types. For calls with classification probability <75% (not hard-and-fast), append to a dataset we will call “unknown”.
  4. Determine emerging clusters with methods including but not limited to:Run K-means clustering unsupervised learning on the “unknown” dataset, iterating between M and S and for the J that minimizes SSE, analyzing clusters as described above in ‘How to validate clusters.’Using the output from your analysis is another good time to have contact center operations meet with internal business customers to determine if there are emerging, new call types which must be actioned / prioritized.

Monthly:

  1. Repeat “establish the baseline”.

Optional enhancements:

GenAI should generate outstanding summaries from your call transcripts if the domain of your problems is common (e.g. customer service for eCommerce e.g. late shipment, change payment method). If your domain is niche - for example technical support for an uncommon software - GenAI might yield disappointing results. However, your business can enhance the results of GenAI by giving GenAI context about your business via a vector database.?

PS if you enjoyed this article, you might enjoy other content from my dad and me. I recently interviewed my dad on the topic of writing contracts so that customers and consultants can start a project on the right footing. You can find that interview here .

Photo by LumenSoft Technologies on Unsplash

Chris Brown

Business Leader Offering a Track Record of Achievement in Project Management, Marketing, And Financial.

9 个月

Great insights! Thanks for sharing.

回复
Todd Wells

Global Benefits Strategy, Tech and Ops Leader | Technology Sector | ex-Amazon

9 个月

LLM rag will be huge this year

回复

要查看或添加评论,请登录

David McCandless的更多文章

社区洞察