Prediksi waktu panggilan terbaik


10

Saya memiliki set data termasuk satu set pelanggan di berbagai kota di California, waktu panggilan untuk setiap pelanggan, dan status panggilan (Benar jika pelanggan menjawab panggilan dan Salah jika pelanggan tidak menjawab).

Saya harus menemukan waktu yang tepat untuk menelepon pelanggan di masa depan sehingga kemungkinan menjawab panggilan tinggi. Jadi, apa strategi terbaik untuk masalah ini? Haruskah saya menganggapnya sebagai masalah klasifikasi yang jam (0,1,2, ... 23) adalah kelas? Atau haruskah saya menganggapnya sebagai tugas regresi yang waktu adalah variabel kontinu? Bagaimana saya bisa memastikan bahwa kemungkinan menjawab panggilan akan tinggi?

Bantuan apa pun akan dihargai. Akan lebih bagus jika Anda merujuk saya ke masalah yang sama.

Di bawah ini adalah snapshot data.


Sean Owen, bagaimana tugasnya? Saya sekarang mencoba untuk memecahkan masalah serupa dan akan senang mendengar pengalaman Anda - tidak banyak sumber daya dalam topik ini di web. Terima kasih sebelumnya!
Dominika

Jawaban:


5

Anda mungkin benar-benar menghadapi masalah jika Anda memodelkan ini sebagai masalah regresi tanpa transformasi yang sesuai. Misalnya, kita tahu bahwa sebagian besar panggilan mungkin dijawab pada siang hari dan kurang pada malam hari dan dini hari. Regresi linier akan mengalami kesulitan karena hubungannya cenderung melengkung, bukan linier. Untuk alasan yang sama, memperlakukan ini sebagai tugas klasifikasi dengan regresi logistik juga akan bermasalah.

Seperti yang disarankan oleh responden lain, klasifikasi ulang data Anda menjadi periode waktu akan membantu, dan saya sarankan Anda mencoba sesuatu seperti pohon keputusan atau hutan acak terlebih dahulu.

Itu semua mengatakan, ini mungkin menjadi kasus untuk statistik deskriptif sederhana. Jika Anda merencanakan proporsi panggilan yang dijawab berdasarkan waktu (dibagi berdasarkan kota atau demografis lainnya), apakah ada waktu terbaik yang jelas ? Jika demikian, mengapa menyulitkan hal-hal dengan model?


1

Anda dapat mencoba yang berikut ini:

  1. Bagilah hari menjadi beberapa bagian - pagi, pagi, siang, sore, malam, malam, malam, dll.
  2. Tetapkan batas waktu untuk setiap bagian hari, misalnya siang bisa pukul 12 siang hingga 1 siang.
  3. Buat 3 label baru - "bagian dari hari untuk menelepon pelanggan", untuk setiap kasus positif (status panggilan = benar) berikan label yang sesuai (pagi / siang / malam). Label-label ini akan berada dalam format enkode satu-panas, mis. Prefer_morning = 0/1, prefer_noon, prefer_evening, dll.
  4. Bangun 3 model untuk memprediksi apakah pemimpin lebih suka pagi / siang / atau malam hari agar panggilan berhasil.

Selain itu, saya sarankan menambahkan fitur tambahan seperti pekerjaan, jenis kelamin, dll. Karena fitur yang tercantum dalam tabel (kota, dll.) Terlalu ambigu dan tidak memberikan banyak informasi untuk dibedakan di antara pelanggan.

Diedit sesuai saran dalam komentar:

Saat menggunakan model, setiap lead akan diklasifikasikan sebagai prefers_morning = ya / tidak, prefers_noon = ya / tidak dan prefers_evening = ya / tidak. Berdasarkan pada waktu hari itu, misalnya di pagi hari, agen pusat panggilan (atau perangkat lunak) dapat mengambil dan memanggil arahan yang diklasifikasikan dalam set preferensi pagi. Ketika tengah hari, perangkat lunak panggilan mengambil formulir daftar disukai siang, dan sebagainya.


@ sandeep-s-sandhu Ini adalah cara sederhana untuk mengonversi masalah menjadi masalah klasifikasi sains data. Tetapi tampaknya pendekatan ini mungkin memiliki beberapa kelemahan: 1. informasi label hanya mencakup kasus positif, kehilangan informasi kasus negatif 2. Pelanggan hanya dapat memiliki salah satu label. Dalam praktiknya, seorang pelanggan dapat memiliki lebih dari satu label (yaitu, saya lebih suka orang memanggil saya baik pada sore atau malam hari.). Bagaimana menurut anda?
nkhuyu

@nkhuyu, 1) label juga termasuk case negatif. Saya pikir Anda salah memahami pernyataan "Buat label baru -" bagian dari hari untuk menelepon pelanggan ", untuk setiap kasus positif (status panggilan = benar)". Langkah ini bermaksud membuat label tambahan, label asli apakah panggilan itu berhasil atau tidak tetap apa adanya. 2) Ya, Anda benar, edit jawaban untuk mencerminkan ini.
Sandeep S. Sandhu

@ sandeep-s-sabdhu Terima kasih atas tanggapannya. Ya, saya salah paham. BAIK. Maka Anda akan memiliki dua label (status panggilan, label baru Anda). Lalu bagaimana Anda bisa mengatasi masalah ini? Ini bukan masalah klasifikasi biasa.
nkhuyu

@nkhuyu, terima kasih telah memperhatikan ini, saya sekarang telah mengedit dan mengklarifikasi ini di langkah # 4. Masing-masing dari tiga model akan memberikan satu set petunjuk yang akan memilih panggilan untuk waktu tertentu hari itu, pusat panggilan menggunakan ini untuk memprioritaskan panggilan mereka.
Sandeep S. Sandhu

1
Langkah 1 diikuti oleh langkah 3 dan saya menyarankan ini untuk membuat label yang sesuai untuk pelatihan. Permintaan utama adalah - "Saya harus menemukan waktu panggilan yang tepat ...". Terserah OP untuk memutuskan apakah ini harus pagi / siang / malam atau lebih rinci seperti per jam.
Sandeep S. Sandhu

0

Saya akan menggunakan regresi logistik - Anda akan membutuhkan sampel di mana mereka tidak mengambil. Kemudian saya akan memperlakukan jam sebagai musiman dummy regressor (23 jam sebagai variabel dummy dan membiarkan satu mengalir ke intersepsi).

Jika Anda tidak memperlakukannya sebagai regresor dummy musiman, Anda harus melakukan semacam transformasi, karena hubungannya tidak akan linier.

Seseorang sebelumnya menyarankan penggantian sore hari, dll sebagai variabel kategori. Itu adalah ide yang buruk karena Anda memiliki detail dan Anda kehilangan detail di sana. Itu akan memiliki efek yang mirip dengan memanfaatkan binning optimal untuk membuat hubungan linier, tetapi saya masih tidak berpikir itu akan berhasil. Coba pembuat boneka musiman.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.