Zendesk Explore入門チュートリアル 〜 サポートチケット分析はじめの一歩
オペレーション部 江口です。
当社では顧客へのテクニカルサポートにはZendeskを利用しています。具体的にはお客様からの問い合わせを受付け、当社サポートエンジニアとしてのやりとりのチケット管理をZendeskによって行っています。
Zendeskではこうしたサポートチケットのデータを蓄積しており、このデータの分析を行う機能「Zendesk Explore」を提供しています。
私は業務の一環としてサポートチケットの分析を行っており、それに当たってこのZendesk Exploreを利用しているのですが、部内の同僚が分析を自分でも行いたいということで、レクチャーする機会がありました。せっかくなのでその際に説明した内容をベースにブログを残しておきたいと思います。
Zendesk Exploreとは
上述のように、Zendeskが標準で提供するデータ分析ツールです。Zendesk標準のツールのため、データのエクスポートなど行うことなく、最新のデータも含めてさくっと分析できる点が強みです。
大きく「クエリ」と「ダッシュボード」の2つの要素があります。
- クエリはその名の通りデータを抽出するクエリの定義ですが、グラフの表示などの定義も含みます。
- ダッシュボードは複数のクエリを集めたもので、関心のあるデータを一覧で眺めることができます。また、動的にクエリを操作するフォームなども作成できます。
ダッシュボードをきちんと作ろうとすると奥が深いのですが、欲しいデータを出力するクエリの作り方のほうがまずは大事だと思いますので、本記事ではこのクエリの作成方法にフォーカスして紹介したいと思います。
チュートリアルの内容
この記事で行うチュートリアルでは、「優先度ごとのチケット数の時系列での推移をグラフで表示する」というごく簡単なクエリを作ってみたいと思います。操作に慣れるため、次のステップを踏むことにします。
- クエリの新規作成(データセットの選択)
- メトリックをとりあえず表示させてみる
- 優先度ごとのチケット数をレポートしてみる
- 優先度ごとの時系列推移を積み上げグラフで出してみる
それではやってみましょう!
はじめに: Zendesk Exploreのクエリの基礎知識
チュートリアルを始めるまえに、最低限覚えておくべきZendesk Exploreのクエリの基礎知識を知っておきましょう。
データセット
クエリを作るには、最初にデータセットを選択する必要があります。これは(Postgresなどの)SQLでクエリをする場合にまずデータベースを選ぶのと同じ、と考えて良いでしょう。Zendeskでは蓄積したサポート業務データをこの「データセット」に格納しています。自分が分析したい情報に合わせて適切なデータセットを選ぶ必要があります。
サポートチケットに関するデータセットとしては、以下が用意されています。
- チケット(Tickets): チケットの一般的な情報のデータセットです。これを利用すればチケットに関するだいたいの情報は取得できます。どのデータセットを選ぶべきか分からない場合はまずはこのデータセットを選んで試してみるのが良いでしょう。
-
SLA(SLAs): チケットのSLA達成状況に主眼を置いたデータセットです。
-
チケットの更新(Ticket updates): チケットの更新情報のデータセットです。上記のTicketデータセットに比べ、単体のチケットの情報ではなく、「誰がなんのチケットをいつ更新したか」という点に主眼が置かれたデータとなっています。たとえば、「新規に受け付けたチケットに対してどれくらいの時間で回答したか(=チケットのステータスが変わったか)」といった情報を分析したい場合にこちらのデータセットを利用することがあります。
-
未解決のチケットの推移(Backlog History): 日次での未解決のチケットの記録を提供するデータセットです。
メトリックと属性(Attribute)
各データセットはメトリックと属性を持っています。ざっくり言って属性は通常のデータフィールド、メトリックは分析のための集計値です。たとえば「チケット」というメトリックは、チケットのカウント数を返します。属性としてはたとえば「チケットの優先度」が挙げられます。
Zendesk Exploreはいわゆるピボットテーブルで、表の行と列に利用する属性を選び、その属性ごとのメトリックの値が出力されます。たとえばメトリックに「チケット」、行に「チケットの優先度」を選べば、チケットの優先度ごとのチケット数が表示されます。具体的な動きは以下のチュートリアルで学んでいきましょう。
ちなみにどのデータセットにどんなメトリクス、属性が存在するかは、下記の公式ドキュメントで詳しく説明されているため、詳細を知りたい方はこちらをご参照ください。
Zendesk Supportのメトリックと属性 – Zendeskヘルプ
0. クエリの新規作成(データセットの選択)
それではまず、クエリを作ってみます。まずはZendesk Exploreのホーム画面(https://自分のサブドメイン.zendesk.com/explore)左ペインから「クエリ」をクリック、さらに表示されたクエリメニュー左の「新規クエリ」をクリックします。
データセットの選択画面が表示されます。前述のとおり、クエリを作るにはまずこのデータセットの選択が必要となります。サポートチケットに関するクエリを作りたいので、対象のZendesk製品は「Support」、データセットとして「チケット」を利用することにします。
クエリ作成画面(クエリビルダー)が表示されます。
この画面でクエリをあれこれと作っていくことになります。
1. メトリックをとりあえず表示させてみる
クエリを作成する際は、まずメトリックを選びます。とりあえず、チケットの数をメトリックとして選ぶことにしましょう。クエリ作成画面の左ペイン上の「メトリック」で「追加」をクリックします。 するとカテゴリに分けられたメトリックの一覧が表示されます。「チケット」というカテゴリをクリックして、そのなかにある「チケット」を選んでみましょう。これがサポートチケットの件数のメトリックです。すると「COUNT(チケット)」というメトリックが追加されると思います。
メトリックはいずれかの集計方法で集計されるようになっていて、この場合結果の単純な個数を返すCOUNT()が適用されています。メトリックの集計方法はこのCOUNTのほかAVGやSUM、MAX、MINなどが用意されていて、メトリックをクリックすることで変更が行えます。集計方法の具体的なリストは公式ドキュメントを参照してください。
この状態で、画面中央のペインに下記のように数字が表示されていると思います。これがメトリックとして設定しているチケットの件数のカウントです。単純ですが、最低限のクエリ結果のレポートを表示させることができました。
単純に数字だけを表示させるだけではさびしいので、この後はもう少しリッチなレポートを作ってみることにします。
2. 優先度ごとのチケット数をレポートしてみる
前述のように、Zendesk Exploreのクエリはいわゆるピボットテーブルで、表の行と列に利用する属性を指定していく形になります。
ためしに、チケットの優先度別の内訳を表示してみることにしましょう。
画面左ペイン上の「行」->「追加」をクリックします。属性の一覧が表示されますので、「チケット」カテゴリの下にある「チケットの優先度」を選びます。
すると、下記の優先度ごとのチケット数の表が表示されると思います。優先度を行に利用する属性として設定したため、優先度の値ごとに行が作られています。
フィルターをかけてみる
上記のスクリーンショットでは、「チケットの優先度」が空白の行が出てきています。この情報を出した環境においてさまざまな理由で優先度の設定されていないチケットが存在するためですが、こうしたデータをレポートから除外したい場合もあるでしょう。そうした場合にはフィルターを利用できます。手順は以下の通りです。
- 行に設定した「チケットの優先度」をクリックします。
- 値の一覧が表示されます。
- 上部のタブで、「除外済み」を選択します。
- 除外したい値をチェックします。
- 「適用」をクリックします。
すると、以下のように空白の行がなくなりました。
今回は選択した値を除外しましたが、「選択済み」を選ぶことで、選択した値のみを表示させることもできます。 フィルターを利用とクエリで処理するデータの量を減らすこともできますので、うまく使いましょう。行・列で設定していない属性を利用してフィルターを設定したい場合は、画面上部の「フィルター」メニューからフィルターを追加することができます。この場合も設定方法は上記と変わりません。
表示形式を変えてみる
表以外の形式で、同じ情報を可視化してみることにしましょう。 表示形式は、メニューから簡単に変えることができます。左にあるメニューから、棒グラフのアイコン(表示タイプ)を選ぶと、グラフなどさまざまな表示形式が選択できます。
実際にどのような種類があるかは公式ドキュメントを参照してください。
表示形式ごとに、どのようなデータを必要とするか、また行と列のデータがどう表示されるか、が変わってきます。 たとえば円グラフでは、同じ行内の各列の割合が表示され、各行は別々の円グラフとして表現されます。
現在の表をそのまま円グラフにすると、下記のように各行の値(優先度)が左側に表示され、円グラフでは1つの値が100%占める、という表示になってしまいます(行内の列が1つしかないため)。
こうした場合は、行に設定していた「優先度」を列に移動してみましょう。移動はドラッグ&ドロップで行えます。
すると優先度ごとの割合を示した円グラフが期待どおり表示されます。
このように、自分が欲しい形でレポートするために、行と列の項目をどのように設定するかが重要になります。 このへんはいろいろと試行錯誤しながら慣れていきましょう。
3. 優先度ごとの時系列推移を積み上げグラフで出してみる
次は、時系列でデータの推移を可視化してみたいと思います。時系列のデータを表示するには、タイムスタンプの情報を属性として追加します。
このタイムスタンプは、「Support」データセットの場合、チケットの作成日時や更新、解決日時などの種類が用意されています。ここではとりあえずチケットの作成日時のタイムスタンプを利用することにします。 また、日時情報の属性は日付(yyyy-mm-dd)、年、月、週などの単位で用意されています。
ここはちょっと注意のいるところなのですが、タイムスタンプの属性として「月」を選んだ場合、その値は本当に月の値しか入っていません - つまり、2019年1月のデータも2019年1月のデータもこの属性の値は同じ「1月」になります。なので、年をまたいで蓄積されたデータの月次推移を出そうとしたとき、この「月」だけを属性として選んだ場合は異なる年のデータが混ざってしまうのです。
ではどうすればいいのかというと、「年」の属性も「月」と合わせて指定します。このとき、「年」の属性を「月」の属性よりも先に(上に)指定します。すると、「年」-「その年の月」と要素がブレイクダウンされてレポートされるようになります。
上記の表を出力している設定は以下の通りです。
列: - チケットの作成日時 - 年 - チケットの作成日時 - 月
行: - チケットの優先度
さて、それではいま表示した月次のチケット数の推移を、棒グラフにしてみます。「表示タイプ」から「縦棒」を選んでみましょう。
時系列の情報が表示されましたが、この状態では単一の系列(スクリーンショット上では優先度「LOW」のデータ)のみが表示されています。 先ほどの円グラフでも同じでしたが、異なる行は異なる系列として解釈され、デフォルトでは別々に表示されます(左側の「チケットの優先度」の項目をクリックすることで系列を切り替えられます)。
各優先度のデータを並べてみたい場合は、「チケットの優先度」に表示された項目を複数選択します。Shiftを押しながらクリックすることで複数選択が行えます。一番上の「Low」をクリックした後、一番下の「Urgent」をクリックすると、すべての値の選択ができます。 すると下の画像のように、各系列のデータが並んで表示されます。
積み上げグラフにする
グラフの表示はオプションにより変更できます。使うことが多いと思われる、積み上げでの表示を設定してみましょう。
- 左にあるメニューの2番目のアイコン、「グラフ設定」をクリックし、表示されるグラフ設定メニューから「グラフ」を選択します。
- 表示されるグラフのオプションメニューから、「積み上げ」「積み上げ:集計値」を選択します。
すると、以下のように積み上げグラフが表示されます。
先ほどのオプション設定で、「積み上げ:合計値」にもチェックを入れると、下記のように月次での合計値も表示させることができます。見やすいですね!
時間範囲の指定
ここまでのところでは存在する全時間の範囲のデータを利用して可視化してきましたが、時間範囲を絞りたい場合も多いと思います。 時間範囲の絞り込みは、フィルターの一環として設定ができます。ためしに、直近1年のデータのみに絞り込んでみましょう。
- 「列」に設定している「チケットの作成日時 - 年」をクリックします。※タイムスタンプを扱う属性であればどれでも良いです。「月」を選んでも同じように設定できます。
- 表示されたフィルター設定画面で、「データ範囲を編集」をクリックします。
- 時間範囲の設定画面が表示されます。開始日時を「12か月前」に設定します。
- 「適用」をクリックします。
すると、次のように2019年6月〜2020年6月までの直近1年のデータのみが表示されるようになります。
クエリの保存
最後に、作成したクエリを保存します。保存は右上の「保存」ボタンをクリックするだけです。 画面上部のタイトル部分、デフォルトで「新規クエリ」と表示されている文字列が、保存されたクエリの名前となります。適切な名前を付けて保存しておきましょう。
おわりに
ということで、ごく基本的なZendesk Exploreでのクエリの作成方法をひととおり説明してみました。
Zendesk Exploreには独自の属性やメトリクスを定義したり、値の予測をしたり、といった高度な機能もたくさんあります。そうした高度な使い方をするためにも、まずは基本的な使い方を押さえていただければと思います。使いこなせれば、さまざまなレポートが作れますので、Zendeskを利用されているのであればぜひご自身でのクエリ作成にチャレンジしてみてください!