If you've gone to the Reporting Overview page of Zendesk, you've probably seen a section that looks something like this:
These numbers give you "buckets" of tickets that have different first reply times. This is pretty useful to get a general overview of how you're doing as a company in getting back to your customers. However, this may not fulfill your needs for a number of reasons:
- These buckets don't match your company's SLA targets.
- These numbers include deleted tickets and you want to remove those.
- You need to report on a longer time frame (the Reporting Overview maximum is 90 days at a time).
- You want to look at other metrics than just the First reply time. Perhaps you want this configuration for First resolution time instead.
If that's the case then you'll need to build this out within your Insights project as custom metrics. This article will walk you through how to do this, using the default Overview report as a template.
If you need to make alterations to fit your company's SLA policy, feel free to do so. You may want to replace First reply time in minutes with First resolution time in minutes . Or perhaps you'll want to simply change the beginning and end times for each bucket.
Step 1: Creating a set of custom metrics that look at the number of tickets falling into each SLA bucket
First you'll need to go to the GoodData portal (to get there, in Insights, click the GoodData link in the upper-right corner), then select Manage > Metrics .
Create a new metric and select the custom metric option. Now you'll want to build the following metrics to set up your buckets:
Step 2: Adding these metrics to a report
With these metrics created, you'll be able to add them to a report.
Go to Reports > Create Report and add the above metrics to the WHAT section. Now you'll want to configure it in graph form, so click on the bar chart option to the upper right.
Your results should be something like this:
Now you'll want to add labels to each graph to see the number it's representing.
Click Show Configuration in the upper-right and then go to Advanced Configuration > Global Settings and check the Data Labels option.
With that checked you'll see how many tickets represent each graph. You'll notice that this isn't a percentage and, unfortunately, there isn't a way to make these percentages through the report options. You'll either have to create new metrics to show the percentages in the bar graph, or you can look at this data through a pie chart instead.
Since all of the buckets should add up to 100% of your tickets, the pie chart might be a good option for you. You'll just need to be sure to check the As % option in the Advanced Configuration >> Global Settings >> Data Labels section.
It would look something like this:
As mentioned earlier, the alternative is to create percentage metrics that you can use in a bar chart.
Step 3 (Optional): Creating the percentage metrics
In order to find the percentage each bucket represents, we need to compare the buckets to the total number of tickets that have actually received a reply.
Skipping this step might throw off your numbers a bit since there are instances where agents don't need to reply before you solve the ticket. In that case the ticket wouldn't show up in any of the buckets we already created.
We'll create another metric to represent this total number of tickets:
Now we can use that as our denominator. (Please note that if you're using a First resolution time in minutes or a Full resolution time in minutes based metric then you might want to use # Solved Tickets for the denominator.)
While you're creating the metrics, remember to change the format of the metric so it is in % format instead of a decimal format. You'll be able to find this option on the metric edit page after creating each metric.
With these metrics created all you need to do is add them to a report and look at it in bar graph form. Remember to show the data labels under the Advanced Configuration >> Global Settings configuration section.
Step 4: Reordering and relabeling
You're almost finished. There are a couple of options to tweak that will increase readability in your report.
First, you'll want to rename your labels. Something like % Tickets 1hr < FRT < 8hr, while descriptive in your metrics page, is a bit cumbersome while looking at it from the context of a report based on first reply time.
To change the label all you need to do is go to the table format of the report, double-click that header, type in a new label (I like changing it to a simple 1-8 hrs format), and hit enter. Repeat this step for each of your metrics if you wish.
Next, you'll want to be sure your metrics are in the right order. Order the metrics from left to right while in table form by dragging and dropping the header cell. The left-to-right format will be reflected when going back to the bar graph.
Step 5: Review
You're finished! Now all you need to do is review the numbers to make sure they look accurate and add this report to an Insights dashboard for easy access (optional).
If you think your numbers look off, or if you need help with any of these steps, you can comment here. We're more than happy to help!
19 Comments
Hi Christopher! There are a number of ways to approach that sort of report. For now, let's use the method that most closely matches the recipe above.
In Step 3, the recipe uses this metric to find tickets with at least one agent reply:
To see tickets without a reply, set replies equal to 0:
In Insights, the Ticket replies fact shows a count of public agent comments after ticket creation. If this fact is 0, then the ticket has no first reply. (The ticket creation comment does not count as a reply, even if it was submitted by an agent.)
You can use this metric on its own; you do not need to build it into a percentage like the recipe does. It will behave just like the default # Tickets metric, but with filtered results.
I hope this helps! Happy reporting!
Hi Katarina,
You should be able to drill into the metric using Ticket ID. More information in our Adding drill-in to your Insights reports article.
Hope this helps!
Hi. Struggling a bit with these metrics.
Having copied verbatim the 4 example custom metrics and then applying the filter Week (Mon-Sun)/Year (Ticket Solved), my total adds up to 4648 tickets. If however I use the WHAT # Tickets Solved, I get 6893 tickets. What may cause this discrepancy?
The same applies if I select Tickets Created for filter rather than Ticket Solved, also for last updated.
I can confirm that the 4 metrics I applied are worded exactly like the ones stated at the top of this article.
Could the difference stem from tickets being solved without a public comment from an agent?
Hi Christopher! You got it! The difference is almost certainly coming from tickets that do not have a public reply.
The metrics described above will only count tickets that have a value for First Reply Time. If a ticket was solved without any public agent comment, it will not be included in a first reply percentage, but it will be included in a general ticket count.
I hope this helps! Happy reporting!
Hi there, one of our channels has a 1st response time and second reply time under the SLA policy for that channel. Is there any way we can report specifically on the 1st response time when the policy is reporting for both?
@Amy: Thanks for the swift reply.
Is there a reliable way to create a report providing "Solved tickets without a first reply", a way to see the number of tickets being solved without providing the customer with a public comment?
Hi Schuyler! Welcome to the Community.
I'm not sure I totally understand your question...Can you elaborate on what you're trying to do here?
Hi Veronica, To change the graph type to a table you'll just click the Table Icon, which is 2nd graph type icon.

As an update, I was able to get it working with the amount of days out of SLA through the (Event) how & filter. But I cant see anyway to do hours :O
Does anyone have any ideas?
Hi Lettie!
I've pinged our Community Moderators to see if any of our Insights experts can help you out!
Hi!
Is there a way to actually get the list of tickets that belong to one of the categories? Lets say I want to get the list of tickets that are counted under the "more than 24 hours" portion of the chart.
Thank you
Hi Lettie! At first glance, there are a few things I would check for a report like this.
First, it helps to clearly define the relationships in a metric like this. It looks like you're trying to count individual tickets with reply times under/over 48 hours. I recommend this type of construction:
# Tickets and First Reply Time (hrs) [Mdn] are both under Metrics, while Ticket Id is under Attributes.
This construction means Insights will check the first reply time on each individual ticket, then count the ticket based on whether its results are in the right range. I've always found this approach to be more reliable in a larger report.
Second, I'd only use the = sign on one of the two metrics (like in my example above). That will keep tickets with exactly 48 hours from counting in both metrics.
Third, check the filters on the rest of your report. In particular, this type of metric will respond to ticket dates and ignore event dates. If you're using a Date (Event) filter, the metric will ignore it and show you all tickets for all time. That could skew your results.
I hope this helps! Happy reporting!
Hey, I am looking for a way to create a report based on SLA and this got me close, but is missing something critical.
Tracking SLA time in a table.
# Tickets where SLA is >10Hours
# Tickets where SLA is >0 Hours, < 10 Hours
# Tickets where SLA is > -10 Hours, <0 Hours
etc
Is this possible? I am currently thinking about using time since Next Response as mentioned here: https://support.zendesk.com/hc/en-us/articles/204770038-Defining-and-using-SLA-policies-Professional-and-Enterprise-
Anyone have any ideas how to implement something like this?
Hi Steve,
From your question it seems like "Step:1 Creating custom metrics" from the above article is the answer. Worth mentioning, that calculations are done in minutes, so for your specific needs you would use 600 minute values. After building your custom metric (it will become an attribute that can be used later), it can be added to your report, and that will allow you to filter by hours.
If you are still stuck with this problem, it's worth dropping us an email to support@zendesk.com and explaining where exactly you are stuck.
Hi Sam! That should be possible. The recipe in the article above is based on the native first reply time metric. It doesn't use your SLA policies at all, so it may work for your needs.
If you do start working with SLA reporting, you can use the SLA Policy and SLA Metric attributes to specify which policy and target you want to measure. That should allow you to exclude next reply time targets from your results.
You can review the SLA attributes in our Insights object reference, and you can review the default SLA metrics in our Insights metrics reference.
I hope this helps! Happy reporting!
I'm having a bummer of a time relabeling the metrics.
Here is what it looks like currently: https://cl.ly/pADH
Also, this is pretty unclear to me:
> To change the label all you need to do is go to the table format of the report, double-click that header, type in a new label (I like changing it to a simple 1-8 hrs format), and hit enter. Repeat this step for each of your metrics if you wish.
Nothing I click on gives me an editable field. Please help!
One other thing, what if I wanted to group the Biz and Cal hours by time to first reply? It's what I'd prefer to do.
Is there a way to report on tickets that are not replied to outside of a different SLA metric such as Next Reply Time?
Hiya!
I have created the above custom metrics for a FRT < 48 hours and greater than 48 hours.
I wanted the metrics in hours, so I did the below:
Select #Tickets WHERE First reply time in minutes/60 <=48
Select #Tickets WHERE First reply time in minutes/60 >=48
I'm a bit concerned about the report as it displays incredibly high values:
Have I done something wrong with my custom metric by trying to make it hours as opposed to minutes? Also is there a way to filter this report to a month so I can provide a monthly snapshot to my peers?
Thanks,
Lettie
Hi Sergel!
I very may well drop an email, because I am not 100% sure this relates, but I would love to be wrong ^^ Just for awareness, its my understanding that FRT only tracks the time related to the very first agent response, and not the ones after that.
We want our dashboard to show all tickets, for example, over an hour without a response, regardless of that being that ticket being touched one, two, ten or even fifty times!
I will admit though, that I have not experimented with the custom FRT metric, and its now high on my TO-DO list :)
Please sign in to leave a comment.