How to report on service level targets

This guide will build upon concepts from another article, 'Getting custom field data into Zendesk tickets and reporting on them with Gooddata' to help you when producing reports in line with service level targets.

These often have some kind of numerical target such as a percentage figure or amount of time. With phone services, a common metric to test is the amount of time which elapses from the beginning of an inbound call to the moment that call is bridged with an agent. 

In the article mentioned at the top of this page we called this the speed of answer. In that guide we measured the average of this figure across a certain timescale. In this one we will measure the percentage of inbound calls for which the speed of answer is less than 30 seconds.

1. Delivering the speed of answer for all inbound calls to Zendesk

The following screenshot shows an example of the basic Event configuration for getting this metric into Zendesk tickets:

Let's take a look at this Event in more detail, starting at the top of the settings box:

  • First, the name should cover all the purposes and conditions of the event. This is important when finding and arranging your events later.
  • The 'Priority' field determines the order in which events are tested and carried out. The 'Update ticket' event relies on there already having been a Zendesk ticket created. So it makes sense that 'Create ticket' events should have a higher priority than 'Update ticket' events. 
  • The 'Event' field is important, as it determines point of the call at which the action is tested and carried out. In this case, the platform will measure the call duration in seconds and send this figure off as a custom field to Zendesk. So to measure the speed of reply we must measure the call duration when the call is bridged to agent.
  • The trigger is required to ensure that the Event only fires for inbound calls. Our desired metric is unsuitable for outbound calls, so it will spoil our reporting data
  • Down at the bottom we have the options tabs for the Event. The 'Fields' tab contains a list of custom fields. These are generated from custom ticket fields you have configured in Zendesk ('Admin' (cogwheel bottom left) > 'Ticket Fields' > 'add custom field'). In this we have put the expression {call.duration}, which is a variable measuring the duration of the call.

If this Event is configured properly, this event will fire for all inbound calls where an agent is bridged with the caller.

2. Creating a report in Gooddata

Now that we have our data being delivered to our Helpdesk application, it can be used to create a metric. In a real-world context our metric is a percentage of some certain type of calls. Seeing as there will be a ticket per call, in our case you could formulate this percentage like so:

100 * (tickets where speed of response is less than 30 seconds) / (tickets for inbound calls)

This is exactly how we will ask Gooddata to calculate our metric. Once in the Gooddata portal connected to your Zendesk account, navigate to the 'Manage' tab on the top-level menu. Then click through 'Metrics' > 'Create metric' and select 'Custom metric'. Selecting the relevant options from the 'Metrics', 'Attributes' and 'Attribute Values' menus, you can construct a formula similar to the one displayed below:

This ensures that a percentage is created using only those tickets for inbound calls and where the 'pre_taken_time' custom data value is less than 30, and all tickets for inbound calls.

Naming your metric something suitable, click 'Save' to be able to use your new metric in reports for various timescales and graph types:

Have more questions? Submit a request