This recipe shows you how to report on the average first reply time in minutes for tickets solved each day of the previous week.
What you'll need
Skill level: Easy
Time Required: 10 minutes
- Zendesk Explore Professional or Enterprise
- Editor or Admin permissions (see Giving agents access to Explore)
- Ticket data in Zendesk Support
How to create the report in Explore
- In Explore, click the reports () icon.
- In the Reports library, click New report.
- On the Select a dataset page, click Support > Support - Tickets, then click Start report. The report builder opens.
- In the Metrics panel, click Add.
- From the list of metrics, choose Duration between events - Calendar hours (min) > First reply time (min), then click Apply.
- Click the metric you just added, select AVG as the aggregator of this metric, then click Apply (see Changing the metric aggregator).
- In the Rows panel, click Add.
- From the list of attributes, choose Assignee > Assignee name, then click Apply.
- In the Filters panel, click Add.
- From the list of attributes, choose Time - Ticket solved > Ticket solved - Week of year, then click Apply.
- Click the filter you just added followed, then click Edit date ranges.
- On the Date range page, select Last week, then click Apply.
This report looks at the date the ticket was solved, but you can use any other date event.
You can now change the chart type to something that suits better your data (see Visualization types reference). A column chart works well.
Can someone help me figure out how to report on "first reply time (hrs)" for end users?
Our scenario - we use Zendesk for 2-way ticketing. So we open outreach tickets on our partner end-users' behalf and set them initially to Pending. We would like to be able to report on the average first response from the end-user after the ticket is created. Is there a way to do that?
I do have a query that looks at "time in Pending" which is sort of a proxy for this, but not exactly what we want. Thanks!
I recommend you look at the On Hold status. That is intended to capture the time a ticket is with a partner organisation,
On-hold status is not what I mean - I literally just want to report on how long it takes for the partner to respond to the ticket. Not how long it is in Pending/On-Hold state overall. In other words: Ticket gets created, how long does it take to see a first response from an end-user.
If you create a new standard metric with the MIN aggregate:
[Comment present] = TRUE AND
[Updater role] = "End-user" AND
[Update - Timestamp] !=[Ticket created - Timestamp]
DATE_DIFF([Update - Timestamp],[Ticket created - Timestamp],"nb_of_seconds")/60/60
That will calculate the first comment time in hours by an end user excluding the time the end user creates an initial comment.
We use Macro to send a first response to a customer notifying him that we have started to work on the ticket.
this is a public comment and I am tagging the ticket as well but how can I calculate the real first reply to the customer if a ticket is tagged with macro ?
@... - I'm struggling to think of a good reporting solution, but maybe others can chime in. Meanwhile you could consider a process change. If the purpose of your macro is simply to notify that you are starting work, perhaps your macro could simply add a tag, which then triggers the notification without adding a public comment. Would that work, or do you typically need to customize that response as well?
Anata I think what you're looking for is Next Reply Time, but that's not yet available in Explore. https://support.zendesk.com/hc/en-us/community/posts/360046850613/comments/1500000066801
Thanks @... & @...
Hi, I'm curious if there is a way to exclude any tickets opened outside of business hours from this report? Sorry if this question was asked, I reviewed any didn't see it in here. Thanks in advance.
Hi Kevin Bishop, Frist Reply Time has two version in the Support:Tickets dataset. One is for Calendar Hrs and the other is for Business Hrs (as seen below), so as long as you have a schedule set, you can select Business Hrs and it will apply as such.
The other option would be to add the Ticket Created - Hour attribute as a filter and just filter to the hours of operation for your business.
@... thanks for the tip about creating a calculated attribute - however, I am getting this error, can you help?:
Just going by the mixed colours in your screenshot, it looks like the field names are not corrupt. Replace the items in square brackets, like [Comment Present], using the ‘select a field’ drop down menu.
Also, check the “Compute separately“ check box before saving.
So I have been trying to create a report that displays the First Reply Time broken down by:
% 1-10 min
% 11-20 min
% 21-30 min
% 31 minutes to 1 hour
% 1-4 hours
% 4-8 hours
% 8-23 hours
% 24 hours plus
Then it would be stacked in columns by the week of the year with the totals equaling 100% of tickets for that week. (each stack would contain the time of first reply) It would look something like this:
My questions are, am I using the right Metric to begin with. I would think I need something so on my Y axis it is a percentage leading up to 100%.
For Rows I took the First Reply Time Bracket and changed it to have the breakdown of times I needed. Then I had to clone it to organize the times in the right order within it.
This chart just does not look accurate so any help would be appreciated.
My Dashboard has a First Reply Time and Full Resolution Time component.
MED First Reply time - Business - mins
MED Full Resolution Time - Business - mins
Recently I have been noticing that the First Reply Time metric has been exceeding the Full Resolution Time of our tickets - which is pretty confusing.
When I click on Exclude Filters for both, nothing is checked. Can someone recommend a fix?
Hi @... -
Try switching to AVG instead of MED to get the Average opposed to the Median.
Looks good if agents are assignees before answer and ticket gets attached to the agent until Solved.
Otherwise (we have few agents who answer tickets freely on their shifts and by the time reporte generated assignee can be Agent#1, but first reply time was big and Updater was Agent#2.
How can I get a report with First reply time values by real updaters of these first replies?
Tried to use different datasets:
Tickets: don't have 'Updater' field,
SLAs: don't have 'Updater' field,
Ticket Updates: doesn't have 'First reply time' field.
Per your recommendation I updated the metrics to average but now I have 3 different reports using the same metrics with different results -
Using the exact same metrics
First Reply Time - Business Minutes - AVG
Full Resolution Time - Business Minutes - AVG
Although you are using the same metrics, the displayed values work a little different when you have an aggregation of AVG data (like you have in the last table).
The top 2 reports you've displayed are showing the average of ALL tickets, so e.g. Full Resolution time per ticket, divided by number of tickets.
Whereas the bottom report is showing an Average of the already "averaged" values - so it's the Full Resolution Time per Client Class, divided by number of Client Classes.
That will naturally give you different averages.
Is the query used applicable based on the requirements we want?
Hi, we currently measure out first response time as well as full resolution time. Over the recent weeks, it seems that the full resolution time is shorter than the first response time. Any ideas why this might be the case?
Are you using Median? If so, switch to Average - that should probably fix it.
@... using average for both
If you have tickets being solved (or auto-solved) without a public reply - those tickets would trend full resolution time down without impacting first reply time. I'd look at the metric # of tickets crossed by the attribute "Agent Replies." Hope this helps!
I am fairly new to the Explore reporting and need to set the first reply time for 2 different business hours - weekdays and weekends, since the start and end of shifts are different. This will be temporary only and I will probably need to change it back when needed, to what it currently is.
For example, if the weekdays are from 6am - 9:30 pm and weekends, 9am - 6pm.
The report currently only looks at the 6am - 9:30pm, which means we are "missing" that first reply time over weekends.
Is it possible and can this on one report or will it have to be separate?
Looking forward to your assistance and guidance.
Thank you for spelling this out. If I do not have an enterprise plan, it means I cannot set my business hours. When I create this report using AVG first reply time for business then the same without business the output is different. How is the query calculating business hours if I have not yet set those up?
I highly suggest that you check your account in Support>Settings>Schedules and verify if there is a schedule set-up to verify if there are no schedules that might have been set up previously. Further, you may also contact our Customer Support to take a deeper look at your report.
Hi, is it not possible to track first reply time for social media (Facebook/Instagram/Twitter private messages)? Is there a similar stat you'd recommend? We usually track first reply and full resolution across all channels.
As of the moment, there is no option to track First Reply Time for social messaging tickets. However, there is an active community feedback post related to this functionality. You can up-vote that original post and add your detailed use-case to the conversation. Threads with a high level of engagement ultimately get flagged for product managers to review when they go through roadmap planning.
Specific examples, details about impact, and how you currently handle things are the most helpful things to share to help our product teams understand the full scope of the need when working on solutions.
We truly value customer feedback and your voice and votes in the product feedback topics in the community help influence future Zendesk functionality.
We use ZD for 2 way ticketing and it is making calculating FRT accurately hard. Can someone help me devise a query to cover our 2 scenarios?
1: Ticket submitted by End User which we reply to (this is easy to track in Explore)
2: We send an outbound ticket to a User and mark it Solved or Pending (depending on the scenario). User replies back to that ticket some amount of time after that (could be days or weeks). We then reply back to the Users Reply. -- This scenario confuses the FRT report as it tracks Ticket creation time to the Reply time whereas we just want to know how long after the User emails us it takes us to get back to them.
Thanks for your help!
Hi Edrolo -
In this case, you'll want to use a tag to help isolate the tickets. Let's call this tag 'proactive.'
You would start by adding this tag to any proactively created tickets (via a macro or trigger).
For your standard SLA policy, you would condition Tags Contains none of the following: proactive. Then report on FRT as normal.
For the proactive tickets, you would need to create a second SLA policy that looks for that tag, and leverages one of the other SLA metrics such as "Next Reply Time" or "Requester Wait Time." From there, you could easily report on this metric on its own or overall SLA achievement. You could also use a custom result metric calculation to average the two numbers together.
Hope this helps!
Please sign in to leave a comment.