Almost four years ago I wrote an article about the most important customer support metrics that you need to monitor – "4 metrics to monitor customer happiness".

Everything in that article still remains true – the core set of metrics didn't change. Here they are:

**Response time**– the time between the ticket creation date and the first technician response**Resolution time**– the time between ticket creation and closure dates**Average number of tickets created per day****Average number of tickets closed per day**

If you need more information on how those metrics are calculated read the article linked above.

The idea for this post came from one of our customers. Each month we send out an email to all customers with a quick rundown of all their metrics. Yesterday we got this reply:

Our average response time was two hours this month. I feel like we did great, but how do we fare against your other customers?

That's a very good question. How useful metrics are if you don't know what numbers are good or bad? So I decided to launch Excel and crunch some numbers.

## Sample data

Currently, we have around a thousand active customers – from single freelancers to huge enterprises across all industries. We used this data once before – "Lessons learned from analyzing 7 million customer support tickets".

All the numbers in this article are median, not average, for better results.

## Response time

Response time is probably the most important metric. The good thing about it is that you can actually compare yourself to others. The response time should always be as low as possible despite your company or industry specifics.

So what's a good response time? I always thought that less than two hours is good enough. But let's see how far it is from the truth.

**The average response time to customer support tickets is 7 hours 4 minutes Tweet this**

Not as bad as I thought. So how do you fare against others? I made a little widget below that will help you calculate your percentile, but here are some numbers first.

Customers with the average response time of two hours – the number I mentioned above – are in the 20th percentile. One hour is just top %15. Want to be in top 5%? Better reply in 16 minutes to all your tickets.

## Resolution time

Resolution time may vary across different companies and it's fine – some issues require just one reply while others need months of work. Frankly, it's not as important as the response time, but you should still keep it as low as you can.

Nonetheless, we can use an average number to compare ourselves to.

**The average customer support ticket resolution time is 3 days 10 hours (or 82 hours) Tweet this**

What about percentiles? Top 5% is 17 hours and top 20% is 43 hours (1 day 19 hours). Calculate yours below.

## Average number of tickets created and closed per day

These two metrics are specific to each company depending on its size. I don't think that the average will be useful here, so I had a better idea.

One of the hardest things in customer support is hiring. You should hire new techs in advance, but it is really hard to predict when you need to do that. Wouldn't it be nice to know what number of tickets one tech can handle on average?

I took the average daily number of tickets for a customer and divided it by the number of techs in their team. Then just took an average again.

**The average number of support tickets that one technician can handle per day is 21. Tweet this**

So probably once you get to around 30 tickets per tech per day you should start thinking about hiring another agent.

It's always nice to have something to measure your team's success against. Now you have some numbers that you can use as a reference. If you want me to calculate some other metrics let me know in the comments.

https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.19.1/moment.min.js

function CalculateResp() {

var val = parseInt($(“.resptime”).val());

$(“.resppercent”).parent().show();

var percent = RespPercentile(val);

var tweetText = encodeURIComponent(“Our average response time is ” + moment.duration(val, ‘minutes’).humanize() + ” which is in top ” + percent + “% across thousands of companies. Calculate yours: https://www.jitbit.com/news/2266-average-customer-support-metrics-from-1000-companies/”);

$(“.resptweet”).attr(“href”, “https://twitter.com/intent/tweet?text=” + tweetText);

$(“.resppercent”).text(percent);

}

function RespPercentile(val) {

if (val > 5221) {

return 100;

}

if (val > 3153) {

return 95;

}

if (val > 2305) {

return 90;

}

if (val > 1744) {

return 85;

}

if (val > 1346) {

return 80;

}

if (val > 1097) {

return 75;

}

if (val > 861) {

return 70;

}

if (val > 687) {

return 65;

}

if (val > 547) {

return 60;

}

if (val > 429) {

return 55;

}

if (val > 350) {

return 50;

}

if (val > 283) {

return 45;

}

if (val > 228) {

return 40;

}

if (val > 171) {

return 35;

}

if (val > 132) {

return 30;

}

if (val > 89) {

return 25;

}

if (val > 65) {

return 20;

}

if (val > 38) {

return 15;

}

if (val > 16) {

return 10;

} else {

return 5;

}

}

function CalculateRez() {

var val = parseInt($(“.reztime”).val());

var percent = RezPercentile(val);

var tweetText = encodeURIComponent(“Our average resolution time is ” + moment.duration(val, ‘minutes’).humanize() + ” which is in top ” + percent + “% across thousands of companies. Calculate yours: https://www.jitbit.com/news/2266-average-customer-support-metrics-from-1000-companies/”);

$(“.reztweet”).attr(“href”, “https://twitter.com/intent/tweet?text=” + tweetText);

$(“.rezpercent”).parent().show();

$(“.rezpercent”).text(percent);

}

function RezPercentile(val) {

if (val > 18233) {

return 100;

}

if (val > 13961) {

return 95;

}

if (val > 11885) {

return 90;

}

if (val > 9739) {

return 85;

}

if (val > 8829) {

return 80;

}

if (val > 7607) {

return 75;

}

if (val > 6697) {

return 70;

}

if (val > 6109) {

return 65;

}

if (val > 5516) {

return 60;

}

if (val > 4923) {

return 55;

}

if (val > 4470) {

return 50;

}

if (val > 4035) {

return 45;

}

if (val > 3672) {

return 40;

}

if (val > 3364) {

return 35;

}

if (val > 2940) {

return 30;

}

if (val > 2606) {

return 25;

}

if (val > 2244) {

return 20;

}

if (val > 1687) {

return 25;

}

if (val > 1067) {

return 10;

} else {

return 5;

}

}

Source: https://www.jitbit.com/news/2266-average-customer-support-metrics-from-1000-companies/