# KPI & SLA

KPI mengukur kinerja setiap anggota terhadap targetnya: seberapa cepat pelanggan dibalas, berapa lama masalah selesai, dan berapa banyak yang diselesaikan. Fitur ini ada di paket **Pro** dan **Custom**.

## Jam kerja

- Atur di **Pengaturan → General** (tersedia di semua paket — juga dipakai balasan otomatis channel dan status widget livechat): centang hari kerja dan isi jam buka–tutup per hari. Jam mengikuti **zona waktu workspace**.
- **Jam kerja per channel**: channel bisa memakai jam kerja sendiri (pengaturan channel → *Jam kerja & otomatis*), mis. livechat yang buka sampai malam. Waktu respons, penyelesaian, dan SLA percakapan di channel itu dihitung dengan jam kerjanya; target "per hari" tetap memakai hari kerja workspace.
- Semua waktu KPI dan SLA hanya dihitung **di dalam jam kerja**. Contoh (Senin–Jumat 08.00–17.00): pesan masuk Sabtu malam dan dibalas Senin 08.15 dihitung **15 menit**; pesan masuk Senin 16.50 dan dibalas Selasa 08.10 dihitung 20 menit. Pesan yang masuk dan dibalas sepenuhnya di luar jam kerja dihitung 0 menit.
- Bila jam kerja **tidak dipakai**, waktu dihitung 24 jam setiap hari.
- Target "per hari" (mis. Solved per hari) dibagi jumlah **hari kerja** dalam rentang laporan.

## Target

| Target | Satuan | Bawaan | Yang diukur |
| --- | --- | --- | --- |
| Respons pertama | menit | sama dengan Pengaturan → General | Pesan pertama pelanggan sampai dibalas. |
| Waktu balas lanjutan | menit | 60 | Pesan pelanggan berikutnya (sesudah dibalas) sampai dibalas lagi. |
| Respons pertama email | jam | 4 | Sama seperti respons pertama, khusus percakapan email. |
| Waktu balas lanjutan email | jam | 4 | Sama seperti waktu balas lanjutan, khusus percakapan email. |
| Respons pertama livechat | menit | 2 | Sama seperti respons pertama, khusus percakapan livechat (pengunjung situs menunggu di layar). |
| Waktu balas lanjutan livechat | menit | 2 | Sama seperti waktu balas lanjutan, khusus percakapan livechat. |
| Respons pertama channel API | menit | 15 | Sama seperti respons pertama, khusus percakapan channel API. |
| Waktu balas lanjutan channel API | menit | 15 | Sama seperti waktu balas lanjutan, khusus percakapan channel API. |
| Penyelesaian percakapan | jam | 24 | Percakapan dibuat sampai Solved. |
| Percakapan Solved per hari kerja | jumlah | tanpa target | Banyaknya percakapan yang diselesaikan per orang per hari kerja. |
| Respons tiket | jam | 2 | Tiket dibuat sampai tim Back Office pertama kali menanggapi (pesan diskusi atau ubah status oleh selain pembuat). |
| Penyelesaian tiket per prioritas | jam | Mendesak 4 · Tinggi 8 · Normal 24 · Rendah 72 | Tiket dibuat sampai Resolved. Bila tiket punya **tenggat**, tenggat itulah targetnya. |
| Tiket selesai per hari kerja | jumlah | tanpa target | Banyaknya tiket yang diselesaikan per orang per hari kerja. |

- Isi **0** untuk tidak memakai target.
- Target bisa dibuat khusus untuk **tim** atau **orang**. Yang paling spesifik berlaku: target orang → target tim → target workspace. Bila seseorang ada di beberapa tim yang punya target, dipakai yang paling ketat.
- Target dihitung dalam jam kerja: target 24 jam = 24 *jam kerja* (dengan jam kerja 08.00–20.00, kira-kira dua hari kerja).
- **Per jenis channel**: email tidak diharapkan dibalas dalam hitungan menit, jadi percakapan email dinilai dengan target respons pertama & balasan lanjutan *email*; WhatsApp memakai target respons biasa. Livechat (pengunjung menunggu di layar) dan channel API juga punya target respons sendiri. Penyelesaian sama untuk semua channel. Semua target per jenis channel bisa diubah per workspace, tim, dan orang di **Pengaturan → Target KPI**.

## Cara KPI dihitung

| KPI | Cara menghitung & milik siapa |
| --- | --- |
| Respons pertama | Untuk percakapan yang **dibuat** dalam rentang: waktu kerja dari pesan pertama pelanggan sampai balasan pertama. Dihitung untuk orang yang **membalas pertama**. Balasan dari HP pemilik nomor mengakhiri waktu tunggu tetapi tidak dihitung untuk siapa pun; balasan otomatis tidak dihitung. |
| Balasan lanjutan | Setiap kali pelanggan menulis lagi sesudah dibalas: waktu kerja sampai dibalas lagi, untuk orang yang membalas (balasan dalam rentang). |
| Penyelesaian | Percakapan yang ditandai **Solved** dalam rentang: waktu kerja dari dibuat sampai Solved, untuk **penanggung jawab saat Solved** (bila belum ada penanggung jawab: orang yang menandai Solved). |
| Solved per hari kerja | Jumlah percakapan yang ia selesaikan dibagi hari kerja dalam rentang. |
| Kontak kembali ≤ 3 hari | Dari percakapan chat yang ia selesaikan: persentase yang kontaknya menghubungi lagi (percakapan baru) dalam 3 hari sesudah Solved. Makin kecil makin baik. |
| Eskalasi | Tiket yang ia buat dari percakapan dibagi percakapan yang ia tangani. |
| Respons tiket | Untuk tiket yang dibuat dalam rentang: waktu kerja sampai tanggapan pertama tim, untuk orang yang menanggapi. Pesan yang dikirim dari panel percakapan tidak dihitung sebagai tanggapan tim. |
| Penyelesaian tepat waktu | Setiap kali tiket **selesai** (Resolved, atau langsung Closed) dalam rentang: tepat waktu bila sebelum tenggat, atau — tanpa tenggat — tidak lebih lama dari target prioritasnya. Dihitung untuk semua **penanggung jawab** tiket (tanpa penanggung jawab: yang menyelesaikan). Ada rincian per prioritas. |
| Dibuka lagi | Persentase tiket yang ia selesaikan lalu dibuka lagi. |
| Feedback ke percakapan | Waktu kerja dari tiket dibuat sampai feedback atau kesimpulan pertama dikirim ke percakapan asal. |
| Backlog & lewat target sekarang | Keadaan saat ini: tiket aktif yang ia pegang, dan percakapan/tiket miliknya yang sudah melewati target. |

**Warna status** = persentase yang selesai dalam target: hijau ≥ 90 %, kuning ≥ 75 %, merah di bawahnya. Untuk target per hari: hijau bila rata-rata mencapai target, kuning bila ≥ 80 % target.

## Penanda SLA di inbox & tiket

- Percakapan yang menunggu balasan diberi penanda kuning **Hampir lewat target** (sudah 80 % target) dan merah **Lewat target**. Targetnya milik penanggung jawab percakapan (atau timnya), dan waktunya jam kerja. Di tab Info panel detail ada baris **Target balas** dengan tenggatnya.
- Tiket aktif tanpa tenggat menampilkan **Target selesai** sesuai prioritasnya; yang lewat diberi tanda merah. Angka **Lewat target** di Dashboard memakai hitungan yang sama.

## Peringatan & ringkasan harian

| Saat | Siapa yang diberi tahu |
| --- | --- |
| 80 % target | Penanggung jawab percakapan / tiket. |
| Lewat target | Penanggung jawab; bila belum ada, anggota tim percakapan/tiket (atau pengelola penugasan bila tanpa tim). |
| 150 % target | Supervisor: yang boleh mengatur penugasan (percakapan) atau mengelola tiket (tiket) dan boleh melihat percakapan/tiket itu. |

- Setiap tingkat dikirim sekali. Di luar jam kerja tingkat tidak naik.
- Sesudah jam tutup setiap hari kerja (17.00 bila jam kerja tidak dipakai), anggota yang hari itu di bawah target menerima **ringkasan KPI**, dan pemegang akses laporan menerima jumlah anggota yang di bawah target.
- Saat fitur ini pertama kali aktif di workspace, percakapan & tiket lama tidak dikirimi peringatan — hanya yang berjalan sesudahnya.

## Laporan & KPI saya

- **Laporan → KPI**: tabel Frontline dan Back Office per orang, rentang 7/30/90 hari atau kustom (paling panjang 93 hari, zona workspace), filter tim, dan filter **Jenis channel** (Semua channel / WhatsApp / Email / Livechat / Channel API — dengan filter Email, waktu respons ditampilkan dalam jam dengan target email; "Semua" menilai setiap percakapan dengan target jenis channel-nya sendiri). Klik nama untuk detail: kartu metrik, tren harian, daftar yang lewat target, dan target yang berlaku beserta sumbernya (orang/tim/workspace).
- Pemegang akses laporan melihat semua anggota (atau anggota timnya, bila tidak "Bisa lihat semua data"). Anggota lain melihat KPI-nya sendiri dari kartu **KPI saya hari ini** di Dashboard.
- **Unduh CSV**: ringkasan KPI per orang, atau data mentah per percakapan, per balasan, dan per tiket — untuk diolah sendiri. Waktu dalam zona workspace; kolom "sesuai target" berisi 1/0. Baris data mentah hanya untuk percakapan & tiket yang boleh kamu lihat. CSV per percakapan & per balasan punya kolom `channel_type` di akhir.
- Data yang sama tersedia lewat API: `GET /api/v1/kpi`, `/kpi/users/{id}`, `/kpi/me`, dengan parameter `channel_type` (lihat [API](https://onix.sassly.ai/id/docs/api)).
