Explore recipe: Reporting on customer satisfaction by agent

Return to top

8 Comments

  • Vladimir Petrushenko

    Hi @... 

    Thanks for your comment above. 

    Using the Ticket solved - Date attribute makes CSAT very volatile. If the bad rating is given to a solved ticket in May, then CSAT is counted towards May's data. Fine. However, if we try to turn the rating around and we continue conversation into June and solve the ticket in June, then CSAT for this ticket will be now counted towards June's data and will be withdrawn from May. That means that our data for May will change retrospectively. 

    CSAT is one of our main KPIs and it makes for us so difficuilt to be consistnt in our reporting. If we carry across few bad ratings from May to June then May's CSAT will change quite significantly. Which gives us issues in reporting and sharing our data with the business internally. 

    If would have had an attribute something like 'Rating last updated - Date' then it would solve the problem for us. 
    Do you know if it's possible to create such a custom attribute? 

    Many thanks 

     

    0
  • Brandon Tidd
    Community Moderator
    The Humblident Award - 2021

    Hey @... - 

    You might be better served by "Ticket Updated"
    I think this article speaks most directly to what you're trying to do.

    There's also some great tips in this article.

    Hope this helps!

    Brandon

    0
  • Jack Rausser

    Hey Vladimir Petrushenko - did you get an answer to your question? I'm in a similar situation and am curious how best to report on CSAT when customer's responses are not within the ticket date created/closed reporting date range. Thanks!

    Brandon Tidd I attempted to open your first link but was told I don't have the required access after logging in. Do you have any documentation that could help here? Thank you for your help!

    0
  • Vladimir Petrushenko

    hi Jack Rausser

    No, unfortunately, I did not get an answer on this and this is still an issue for us(a big one!) that we are trying to solve. I'm sure there are lots of other companies that use Explore/Zendesk who are trying to solve this problem. CSAT is one of the main KPI in Customer Service and Explore does not have metrics in place that would allow precisely report on this KPI. A time attribute something like 'Date Rating is given' - would resolve this issue, but there isn't anything like this in Explore. Frustrating.

    0
  • Marco Malbas
    Zendesk Customer Care
    Hi Vladimir and Jack, 
     
    Thanks for reaching out regarding this. As you already now, in Explore, there is no date attribute for the date that it was rated. However, in looking at the prebuilt Explore dashboards, it looks like the attribute used there is "Time - Ticket solved", as the survey cannot be sent until the ticket is solved. This is the date that will most closely correlate with the date it was rated. 

    I understand and also agree that having a "Time - Ticket rated" attribute would be a good improvement to Explore. I would strongly encourage you to post that in the Explore product feedback page! The benefit to doing that is that it allows for other customers to vote or comment on it if they have similar opinions. 
     
    Cheers! 
    0
  • Gareth

    Hi all,

    I found this page looking for the same solution that Vladimir is seeking. Our main problem is when multiple agents work a ticket that has a bad satisfaction rating. 

    Just using ticket assignee is no good, as the bad comment is then attributed to an agent that was trying to follow up. Using updater name +update ticket status = solved at least shows us all the agents who played a part, but having the date - ticket rated attribute would at least help us to ascertain which agent may be responsible for the bad comment.

    Vladimir Petrushenko you seem to have a good grasp of this issue as well. If you drop in a feedback post, I'll be sure to upvote it and contribute!

    0
  • Vladimir Petrushenko

    Hi Gareth

    I think I've managed to solve this problem. But open for feedback there from anyone. 

    The following set up will only work in the 'Ticket Updates' data set. 

    What I have done there is - I've recreated the '% Satisfaction Score' pre-built metric from the 'Tickets' data set into the 'Ticket Updates' 

    Tickets data set formula: '% Satisfaction Score' = COUNT(Good satisfaction tickets)/COUNT(Rated satisfaction tickets)

    Where: 

    Good satisfaction tickets = IF ([Ticket satisfaction rating]="Good")
    THEN [Ticket ID]
    ENDIF

    Rated satisfaction tickets = IF ([Ticket satisfaction rating]="Good" OR [Ticket satisfaction rating]="Bad")
    THEN [Ticket ID]
    ENDIF

    Now we need to create an equivalent custom metric in the Ticket Updates data set. 

    The formula I came up is the following: 

    % Satisfaction Score (Ticket Updates) = COUNT(Good satisfaction tickets (Ticket Updates))/COUNT(Rated Satisfaction Tickets (Ticket Updates))

    Where: 

    Good satisfaction tickets (Ticket Updates) = COUNT(Good initial satisfaction ratings*)+COUNT(Bad to good satisfaction ratings*)

     * both are pre-built metrics 

    We want to count all Good rating tickets that we currently have, including Bad to Good. 

    Rated Satisfaction Tickets (Ticket Updates) = COUNT(Good initial satisfaction ratings*)+COUNT(Bad initial satisfaction ratings*)

     * both are pre-built metrics 

    We want to count all tickets that were rated, both Good and Bad. 

    The reason why we wanted to re-create the % Satisfaction Score metric in Ticket Updates data set is that Ticket Updates does have a time attribute which is called 'Update' (Year, Month, Week, Date etc). And because in this data set we can report on 'Update ID' that means that we can configure a query that will return us CSat related ticket event only. 

    If we look into a formula of any of the above pre-built metrics from Ticket Updates data set the formula will look as following: 

    IF ([Changes - Field name]="satisfaction_score"
    Formula
    THEN
    [Update ID]
    ENDIF

    So it basically says we want to see only ticket updates that are only related to Satisfaction Score. 

    If we then select the 'Update' as a time attribute in our query and specify the time frame, the query will return us the updates related to Satisfaction Score event only. So in other words we will see the date when last CSat event took place (i.e. ticket rated or satisfaction rating changed (from bad to good and vice-versa)). The above formula together with the 'Update' time attribute do not take onto the account any other ticket events, i.e. ticket solved, requester updated etc. As I say, it will only return us CSat related events. 


    We used to use Ticket solved time attribute and it was a pain for us for years. Our CSat reporting was dependent on ticket status which have nothing to do with the CSat, meaning if a ticket is rated, but isn't solved it isn't counted in the report, and therefore it doesn't give a real time picture of the team's CSat score. Furthermore, if rated tickets get solved the CSat score in the report will change.

    I hope all the above makes sense. You might want to play around with the assignee/updater attributes to see if it works for you, but I hope you understand the concept. For us the assignees don't change through ticket lifecycle so this isn't a problem for us. Let me know if you have any questions on this specifically.  
    If it does work for you, and you find it useful, you have my copyright permission to use it free of charge! Hah !

    0
  • Marco Malbas
    Zendesk Customer Care
    Hi Vladimir, this looks good and thanks for sharing. There is no native method to do this as Explore mostly looks at the present data but I understand how the Assignee name will not work in this case. Let us know if this works for you Gareth. Cheers! 
    0

Please sign in to leave a comment.

Powered by Zendesk