[Zendesk Explore] 初回返信ではなく「初回有効回答」までかかった時間を可視化するレシピ
はじめに
AWS事業本部オペレーション部では、Zendeskを使ってAWS技術等のサポートデスクを運営しています。
Zendeskで承ったお問い合わせには「初回返信時間」というSLAポリシーを設定することができます。これを使うとお問い合わせの新規起票〜初回返信までかかった時間が目標時間を達成できたか否かをチェックできますが、あくまで「初めて返信した時間」を計測するものであり、問い合わせを受付けた旨の連絡と有効回答など内容に関する区別ができません。
今回は有効回答をお客様にお届けするまでにかかった時間を計測するためにZendeskのチケットステータスが「保留」もしくは「待機中」にするまでの時間を可視化できるレポートを作ってみました。
Zendesk Explore
Zendesk標準ツールであるZendesk Exploreでは、自由度の高いオリジナルのダッシュボードを作ることができます。
Zendesk Explore入門チュートリアル 〜 サポートチケット分析はじめの一歩 | DevelopersIO
できたもの・レシピ
表の形で可視化しました。
レシピは以下のとおりです。
- データセット
- チケットの更新(Ticket updates)
- 属性
- 標準ユーザ定義属性:「[カスタム]最初の保留または待機中 - タイムスタンプ」
- ※ 時間属性式に並べ替え を有効
IF ( [変更 - フィールド名]="status" AND ([変更 - 前の値]="open" OR [変更 - 前の値]="new") AND ([変更 - 新しい値]="pending" OR [変更 - 新しい値]="hold") AND DATE_FIRST_FIX([更新 - タイムスタンプ],[更新チケットID],[変更 - 前の値],[変更 - 新しい値])=[更新 - タイムスタンプ] ) THEN [更新 - タイムスタンプ] ENDIF
- メトリック
- 標準ユーザ定義メトリック
DATE_DIFF([[カスタム]最初の保留または待機中 - タイムスタンプ],[チケットの作成日時 - タイムスタンプ], "nb_of_hours")
解説
属性及びメトリックの中で利用した定義と数式を解説します。
属性
IF ( [変更 - フィールド名]="status" AND ([変更 - 前の値]="open" OR [変更 - 前の値]="new") AND ([変更 - 新しい値]="pending" OR [変更 - 新しい値]="hold") AND DATE_FIRST_FIX([更新 - タイムスタンプ],[更新チケットID],[変更 - 前の値],[変更 - 新しい値])=[更新 - タイムスタンプ] ) THEN [更新 - タイムスタンプ] ENDIF
指定した属性内で最も古いタイムスタンプを返す関数 DATE_FIRST_FIX
を利用して、
チケットステータスがnew(新規)もしくはopen(オープン)からpending(保留中) or hold(待機中)に変わったイベントのうち最古のタイムスタンプを取得しています。
Exploreの関数のリファレンス – Zendeskヘルプ
関数で指定された属性に従って、最も古い日付またはタイムスタンプを返します。レポートに追加された属性は計算に影響しませんが、適用されているフィルターは考慮されます。
注意:この定義ではレポートのフィルタされている範囲の中で最古の日時を取るため、フィルタ範囲は「チケットの作成日時」でフィルタしないと正確な値が取れない可能性があります。
メトリック
DATE_DIFF([[カスタム]最初の保留または待機中 - タイムスタンプ],[チケットの作成日時 - タイムスタンプ], "nb_of_hours")
ユーザカスタムメトリック内では日付間の差分を取る日付関数DATE_DIFF
を用いています。
Exploreの関数のリファレンス – Zendeskヘルプ
選択した形式で、2つの日付の相対的な差分または絶対的な差分を返します
この関数で 「最初に保留 or 待機 にした日時」 と 「チケットが作成された日時」の差分をとり、 nb_of_hours
オプションによってかかった時間を数字で表示しています。
まとめ
一次返信を有効返信とをSLA機能では区別できなかったため、ダッシュボードを作って内部で振り返りができるようにしてみました。
どなたかのお役に立てば幸いです。