Skip to content
Throughscan
Writing

Essay

Your average response time is lying to you.

Support response times are skewed by nature, so the average always sits above the median, often by multiples. If you report an average first response time, you're describing an experience almost none of your customers had. Report the median with the 90th percentile next to it, and set your SLAs on the p90.

By Johnny Khabushani, the operator behind Throughscan.

Why the average breaks on support data

Response times don't distribute like heights or test scores. Most tickets get answered quickly, and then a long tail of them sit: the one that landed Friday night, the one that bounced between teams, the one nobody owned. The fast side of the distribution has a floor at zero. The slow side has no ceiling at all.

The mean gets dragged toward that tail every time. Ten tickets answered in an hour and one that sat for four days average out to about nine and a half hours, a number that describes none of the eleven customers. The median of that same set is one hour, which describes ten of them. That's the whole problem in one arithmetic example, and it gets worse as the dataset gets bigger, because a real queue produces more four-day tickets than anyone wants to admit.

The gap on a real dataset: 611%

To show the size of this on data anyone can check, I ran the Throughscan engine over a public support dataset: the Apache Tomcat user mailing list, January through June 2024, 205 threads and 926 messages. Every number below is computed in code over the full set, and the complete read is published here.

The median first answer was 2h 10m. The average was 15h 23m. The average ran 611% above the median, and the 90th percentile was almost two days: 1d 22h. About 23% of threads never got an answer at all, and those don't even count toward the timing numbers.

One honest caveat: this is a volunteer community list, so the clock measures community answer latency rather than an agent SLA. That's exactly why it's useful as a demonstration. The skew has nothing to do with any one team's discipline. It's the shape support data takes everywhere, and on your queue the same three numbers will sit in the same order: median lowest, average inflated above it, p90 far above both.

What the gap does to your SLAs

Most SLA targets get set by looking at an average and adding margin. If your dashboard says the average first response is four hours, an eight-hour SLA feels safe. But the average was never the typical experience; it's a compromise between the fast majority and the slow tail. A target derived from it tells you nothing about how often the tail breaches, and the tail is where the angry escalations, the churn conversations, and the "why am I paying for support" emails live.

The p90 fixes this. If one customer in ten waits 22 hours, that's a fact about your operation you can staff against, route around, or honestly commit to. Set the target just above your own p90 and you're promising something you already deliver to nearly everyone, with a clear picture of the exceptions. Set it off the average and you've made a promise your own distribution says you'll break constantly.

How to compute it from your own export

You don't need a BI team for this. You need one export with two timestamps per ticket: when it was created and when the first agent reply went out.

Pull the export from your help desk (most tools self-serve a CSV with timing columns). For each ticket, subtract created from first reply. Sort the results. The middle value is your median. The value 90% of the way up is your p90. Then compute the plain mean and divide it by the median: that ratio is how much your average is inflating, and it's the number to show anyone who still wants to report the average.

If a spreadsheet afternoon isn't going to happen, this is the exact computation the assessment runs, along with the re-contact rate and what's actually driving your volume. The free step reads your file and tells you what it can prove before anything runs. The full report on your own data is $199. Either way, the next time someone quotes you an average, ask for the median and the p90. The gap between them is where your support org is actually living.

See the full read, or run yours

The Tomcat numbers are published in full, and a complete sample report is free to open.