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.
Is someone able to assist with how to create a query that will use the first response time (not business hours) and filter it to only the weekend (Saturday/Sunday) by month? I am trying to see what happens to the FRT over the weekends only since we don't have the same number of agents on during this time.
I was imagining it would look something like this
Ticket solved month FRT (hrs)
Hi Jason McLean, you should be able to get the report you're looking for with the following setup:
I am trying to report on the first reply time. How can we calculate it if the same ticket gets assigned to Tier 2 and I would like to calculate the time they took to respond to the ticket vs the initial first reply from the Tier 1 group?
The native First Reply Time only calculates the time between ticket creation and the first reply, so it may not be possible to use it to get a First Reply Time from another group. By default, there is no way to track second or third reply time - Is it possible to track 2nd or 3rd reply time in Explore?
This has also been raised as a feature request. I recommend voting/replying to this thread to gain traction - Calculating First Update Time after ticket was re-assigned to another group Follow
This might require custom metrics/attributes to create, but I recommend checking Time Tracking App to see if it will fit your needs. Here are some resources:
Setting up the Time Tracking app
Time Tracking app: metrics you need to be measuring
What's the difference between using Tickets solved - Week of year vs. Ticket Created - Week of year. What does week of year mean? Is there a list somewhere defining in detail the attributes?
Hey Melyssa Furt -
Tickets Solved is going to filter or chart based on when the tickets were moved to a solved status, vs Ticket Created which looks at when the tickets were created originally. In either case, week of year refers to the numeric value corresponding to the week of the year (with the first week of the year being represented by the number 1, and the last week of the year being represented by 52*).
So, if I created a new request the 1st week of the year and it was solved 2 weeks later, Ticket Created - Week of Year would be 1 and Ticket Solved - Week of Year would be 3*.
* Note - If the end of the year falls in the middle of the week, it is possible to see week 53.
* Note - If a ticket is reopened and re-solved, the solved date will move to the more recent date
More Information can be found here and here.
Hope this helps!
We use the assign function to distribute tickets.
I want to be able to measure our agents first reply time from when we assign the ticket to them rather than when the ticket was first created.
Example if a ticket comes in at 12pm and we assign the ticket to the agent at 1pm and the agent responds at 2pm the first reply time should be measurable as 1 hour even though the customer has been waiting officially 2 hours for a first reply.
Is there something I can use to show this ?
You can create a custom metric that will calculate the difference between the values from the default metrics First assignment time and First reply time. Example:
This should return the number of minutes from when the ticket was first assigned to the time the first agent response was posted.
Thank You Gab, if I want it to only calculate inside business hours not calendar hours what would I need to include in the formula ?
There's a default metric for First reply time in business hours which you can reference in your custom metric formula, but I'm afraid the metric First assignment time is only measured in calendar hours, so it wouldn't be possible to get accurate results that takes into account your business hours.
Does it make more sense for the X-axis (columns) to be based on the first assigned date vs. when the ticket was solved? If it's based on when the ticket is solved, it gives a false impression of how your agents are performing for that month.
In the example above, the First Reply Time should be reflected for the month of May. But if it's based on when the ticket is solved, it's going to be reflected in the month of June.
Yes, I agree, that makes sense. If you need the first reply time data to be sliced by when the ticket was first assigned, then instead of the solve date, you may slice the report by the attributes under Time - Ticket first assigned bucket. There's a native attribute under the Tickets dataset named Ticket first assigned - Week of year.
Does anyone know of a way that I can create a report of the average first response time by the hour of the day? Then a separate report by day of the week? We are trying to see when we are least responsive so we can make a plan to resource it.
Basically, I would like to replicate these reports but using the first response time instead
You can do this pretty simply, by choosing First reply time (min) as your metric, adding Ticket created - Day of week to Columns and Ticket created - Hour to Rows, and selecting the table format if that's not automatically chosen for you.
If you want to get some fancy color-coding for each number, you can adapt this recipe, substituting the above metric and attributes: Explore recipe: Ticket creation heatmap
Thanks, @... appreciate the assist
What does Zendesk suggest in the event that on average, tickets take longer than a week to solve out? I'm getting back results that my agents had no FRTs using "tickets solved last week", which isn't right. I don't want to report on a bigger window of time, I really do want to know the FRT performance of agents "last week" still though.
By the same token, if I use "tickets created" metric instead, the problem becomes that if it takes longer than a week for a ticket to get an FRT, then it's never included in reporting. This is super bad because then you have tickets slowly building up to a huge FRT hiding from you that never get included in the reports.
I also know I should not use "tickets update" which includes all tickets that had a LAST update during the time frame specified. This leads to tickets that had an FRT 2 weeks ago that just got a fresh update today, to be re-included in the FRT report this week as well as 2 weeks ago. That's not a good method either.
We have the same situation as Drey Tee above (comment dated Apr 27, 2021). I'm looking for a way to combine the first reply time report defined in this article with this first reply time report that shows who made the first reply (found here). An accurate first reply should be attributed to the agent that provided the first reply/external comment, not the agent currently assigned. The latter arbitrarily assigns first reply, and could make others look better/worse if they take on tickets initially replied to by someone else who provided the better/worse first reply time.
Unfortunately, it will not be possible to combine the two for they are from two different datasets. You can also refer to the recommendation on this post. As much as we wanted to help, custom metrics creation is outside our scope.
I’m happy to post how to do this.
To get an FRT on the updates dataset, we’ll need to make 2 custom metrics. One to get the timestamp of when the reply happened, and one to calculate that against when the ticket was created, to get the number of hours or minutes.
The first one:
I call mine “FRT Timestamp” and it needs to be a made an attribute formula
IF ([Comment present]=TRUE
AND [Comment public]=TRUE
AND [Updater role] = "Agent"
AND DATE_FIRST_FIX([Update - Timestamp],[Update ticket ID],[Comment present],[Comment public],[Updater role])=[Update - Timestamp])
THEN [Update - Timestamp] ENDIF
Then, we need to make a new Metric formula:
I call mine “FRT(hrs)”:
DATE_DIFF([FRT Timestamp], [Ticket created - Timestamp], "nb_of_hours")
You can change that last one to “nb_of_min” if you need it in minutes. Apply that to your report, and use the “Updater Name” to get the name of the agent who made the comment!
CJ Johnson this is awesome!
Do you know if it's possible to also add business hours calculations to that? So it calculates the business hours as opposed to the calendar hours.
On a related note, we have an SLA for the amount of time that passes between a voicemail being left and the first response from an agent. Can anyone think of a good Explore recipe for this?
Hi - is there anyway to report on the first time an agent opened a ticket and use it to calculate the time from opened to replied?
"First reply time is the time between the ticket creation and the first public agent comment on the ticket."
More details can be found here:
What is the difference between first reply time and requester wait time metrics?
In terms of the Agent opening a ticket, it might be interesting for you to use the Time Tracking App and report with that.
You can then use the Metrics shown here to report on it:
Time Tracking app: Metrics you need to be measuring
Hello! First Reply Time measures the duration from ticket creation to first public comment. We also need to measure the duration from ticket creation to the first internal comment. Is there a custom formula for this? Any help is greatly appreciated. Thank you!
Currently, we have no prebuilt metrics or attributes that can be reported on to get the first internal comment time. However, you may want to look into creating a custom metric or attribute that can report on this data.
For reference, please see this article:
Hi! Our agents share tickets, so there could be 2 agents that respond on a ticket to a customer. I want to look at agent reply time per agent, not per ticket assignee. This is because Agent A could be the agent that first replied, but Agent B responded second and is now the assignee. I'd like to collect the time for first reply time for Agent A who is no longer the assignee. Is there any way to do this?
Is there any way to get response times per agent if they are sharing tickets? Like an avg duration of agent replies for that specific agent. EX: Agent A opens the ticket and the duration from opening the ticket to reply is 5 minutes. The customer responds and Agent B opens the ticket and her duration of time from opening the ticket to replying back to the customer is 6 minutes. The customer responds again and Agent C opens the ticket and the duration from opening the ticket to replying back to the customer is 3 minutes. Can I create a report that will show me these reply times per agent? Thanks!
Please sign in to leave a comment.