Recent searches


No recent searches

How to set up an "ideal" KPI system for your customer support



image avatar

Andrei Kamarouski

Community ModeratorThe Wise One - 2021

Posted May 07, 2020

Hi all! 

Today I would like to share my vision of the ideal KPI system for your customer support. I was inspired to write this post by one question in the amazing Support Driven community (I suggest everyone to join it if you have not yet). 

Yeah, you should now think that it might sound too pretentious to pretend for something ideal in our modern world. But let me explain why I think the proposed KPI system can be titled as an ideal one. Once I set the criteria of being ideal I can name the thing ideal, can't I? :) 



What makes the ideal KPI system

Any customer support manager is challenged to manage the customer support team and systems efficiently and with less internal frictions. The KPI system is a managerial tool to govern and monitor the process in an organized way. 

So what makes the ideal KPI system? I would name the next 3 criteria:

  • It is balanced. The ideal KPI system should have not too many but enough indicators which are related and dependent on each other – like any good system of checks and balances. 
  • It is transparent. It should be crystal clear for whom it serves - for support agents as well as for support managers. 
  • It is scalable. Finally, the ideal KPI system should work even when your team is growing, splitting, and gets more complex in terms of workflows. 

 

In the end, the ideal KPI system allows you to track agent performance and compare between agents when they are segmented into different groups with each group working on different types of tickets with varying processes, the time required and complexity. The balance is also really important to avoid individual cherry-picking or collective scores gaming. 

 

KPI metrics types

Like any activity in the world, the customer support routine can be described with 3 attributes: how much you do, how fast you are, and how good you are at. As a result, it leads us to the ideal KPI system which should include 3 kinds (groups) of metrics:

  1. Capacity metrics
  2. Velocity metrics
  3. Quality metrics



Those metrics (outlined in the next chapter) are balanced: usually, you can not serve too many requests or to be too slow (= doing just a few requests with brilliant quality) without having a negative impact on the overall quality. They are transparent since you are measuring well-known real-world attributes transposed into the customer support realities and related to the clear actions and outcomes. And scalable to any department/group level specifics since they are not too specific at the same time (to stay balanced and transparent!). 

 

KPI metrics list

Now let's name those metrics! I usually suggest using them to have the ideal KPI system. They are derived from Zendesk Support (for tickets) but with some adoption, you can have the same equivalents for chats, calls, etc. 

 

Capacity metrics

  1. Solved tickets or Public replies (individually solved or assists)
  2. Productivity (Tickets or Replies / Total Time spent)
  3. Macros usage rate / KB linkage rate

Velocity metrics

  1. First Reply Time
  2. Next Reply Time (or Requester Wait Time)
  3. Full Resolution Time

Quality metrics

  1. CSAT (Customer Satisfaction score)
  2. NPS (Net Promoter Score®, or NPS®)
  3. (Optional) CES (Customer Efforts Score)

In formulas (in Insights or Explore) ( prefer to use median aggregations instead of average ones because they are more balanced and stable (and not skewing your metrics so much because of spikes in the data). 

One notion for the metric Macros usage rate / KB linkage rate. I think this one is very important to have because it is directly related to how your agents are utilizing your internal knowledge. I usually observe the best rates in all the capacity, velocity, and quality in those companies who actively use macros / KB articles. This is natural because macros are one of the main productivity tools in Zendesk (and you can define this easily with our Macros Reporting). 



Calculating and weighing the scores 

Until some point, you are OK with having and comparing absolute numbers for KPI metrics. But once you have many agents and multiple teams you will probably need to understand the individual agent's performance. 

This is possible by going 3 steps like:

  1. Calculating individual scores against the group's average, 
  2. Assigning some standard 'points' based on it, and 
  3. Aggregating them with some weights to a global KPI score. 

I will write a separate post with examples for these calculations in the near future. 


I hope you have enjoyed this post. Let me know with your upvotes and feedback comments. 

P.S. Check my other tips on Zendesk Community:


Andrei Kamarouski
Zendesk Expert, Pythia CEO


0

7

7 comments

Thanks for your input, Andrei!

0


image avatar

Andrei Kamarouski

Community ModeratorThe Wise One - 2021

Hi @...

Thank you too! I much appreciate your feedback! =) 

0


This is great! I'm using it to build our KPI and agent feedback process right now! 

0


Andrei Kamarouski / Andrei Kamarouski

I was curious if you ever created that new article about weighing the scores for teams and KPIs?

0


image avatar

Andrei Kamarouski

Community ModeratorThe Wise One - 2021

Mira Amazing! I love to hear it! 😁

@Max-Kristian Ferslev Heiredal Hey, yes, I started implementing this model in Explore a few months ago and see great feedback! Contact us on pythia.cc to get more details.

0


image avatar

Claire

Zendesk Luminary

Hi Andrei,

Thank you for sharing this great article! 

Is there a chance you can share a formula for this metric in Zendesk Explore: 

  1. Productivity (Tickets or Replies / Total Time spent)

0


image avatar

Andrei Kamarouski

Community ModeratorThe Wise One - 2021

Hi Claire

Sure! It should be like this (for Support: Updates history dataset). 

D_COUNT(Agent comments)/SUM(Total Time)

Where Total Time is defined like this (based on ZD recipe).

IF ([Changes - Field name] = "Total time spent (sec)") 
THEN
IF ([Changes - Previous value]=NULL OR [Changes - Previous value]="")
THEN NUMBER([Changes - New value])/60/60
ELIF (REGEXP_MATCH([Changes - New value], "[0-9]+") AND REGEXP_MATCH([Changes - Previous value], "[0-9]+"))
THEN(NUMBER([Changes - New value])-NUMBER([Changes - Previous value]))/60/60
ENDIF
ENDIF

 

0


Please sign in to leave a comment.

Didn't find what you're looking for?

New post