Data Analytics

Customer Support Metrics Dashboard

Track response times, resolution rates, and customer satisfaction scores

Get this built around your data

✓ Free to download  ·  ✓ Excel 2016+ and Google Sheets  ·  ✓ Custom version in 24h

Support dashboards usually report averages, and averages hide the tickets that damage the relationship. This template reports percentiles alongside them, because the customer waiting three days is the one who churns.

What the worksheet looks like

The actual columns, with sample rows

Tickets sheet with the timestamps every response metric is derived from.
ABCDEFG
1TicketOpenedFirst replyResolvedFRT (h)CSAT
2T-48212026-07-02 09:122026-07-02 09:412026-07-02 14:030.55
3T-48222026-07-02 09:472026-07-03 08:152026-07-04 16:2022.52
4T-48232026-07-02 11:032026-07-02 11:192026-07-02 11:520.35
5T-48242026-07-02 16:382026-07-03 09:022026-07-05 10:1116.43

The formulas that do the work

Why each one is written the way it is

  • =([@[First reply]]-[@Opened])*24 First response time in hours. Multiplying the date difference by 24 keeps it a plain number that percentiles and averages both work on.
  • =PERCENTILE.INC(Tickets[FRT (h)], 0.9) The 90th percentile response time. This is the number to put in an SLA — the average is met by definition half the time and tells a customer nothing.
  • =NETWORKDAYS.INTL([@Opened],[@[First reply]],1,Holidays) Business-day elapsed time, so a Friday evening ticket is not counted as a two-day failure.
  • =COUNTIFS(Tickets[CSAT],">=4")/COUNTIFS(Tickets[CSAT],">0") Satisfaction as the share of 4s and 5s rather than a mean, which is how CSAT is conventionally reported and compared.

An average that hid the problem

A worked example with real numbers

A support team reported a 2.4-hour average first response and considered the SLA comfortably met. The 90th percentile was 19 hours: the average was held down by a large volume of quick password-reset tickets while genuine technical questions waited overnight. Routing the two categories separately brought the P90 to 4 hours without changing headcount, and CSAT on technical tickets rose from 3.1 to 4.2.

What is in the workbook

Tab by tab

Every tab in the workbook and what it is for.
TabContents
TicketsOne row per ticket with the four timestamps.
AgentsRoster and shift pattern, for load analysis.
SLATarget response and resolution times by priority.
DashboardVolume, percentiles and CSAT by category and week.
READMETimestamp formats and how business hours are defined.

Features and related templates

What is included, and what to look at next

What it does

  • Response time tracking
  • Resolution metrics
  • CSAT scores
  • Agent performance
  • Ticket analytics
  • SLA monitoring
  • Team metrics
  • Trend analysis

Need it adapted?

  • Built around your own data and column names
  • Connected to your source system
  • Delivered within 24 hours

Questions about this template

Specific to this workbook, not generic

Why report percentiles instead of averages?

Because support quality is judged by the worst experiences, not the typical one. An average response time can be excellent while a fifth of customers wait a day.

Can it import from Zendesk or Intercom?

Yes — map the export onto the Tickets sheet. The timestamps are the only columns that matter; both tools export them in a format Power Query parses without help.

How do I handle tickets reopened after resolution?

Log the reopen as a new row linked by the original ticket id. Editing the original destroys the record of the first resolution, which is exactly the pattern you want to be able to see.

"This support metrics dashboard has transformed how we track our customer service performance. We've improved our response times and customer satisfaction significantly."

- Emma R., Customer Support Manager