Model Kelangsungan Hidup untuk Memprediksi Churn - prediksi waktu yang bervariasi?

17

Saya mencari untuk membangun model prediktif untuk memprediksi churn dan mencari untuk menggunakan model survival waktu diskrit yang dipasang pada dataset pelatihan periode orang (satu baris untuk setiap pelanggan dan periode diskrit yang berisiko), dengan indikator acara - sama dengan 1 jika churn terjadi pada periode itu, maka 0).

  • Saya menyesuaikan model menggunakan regresi logistik biasa menggunakan teknik dari Singer dan Willet.
  • Perputaran pelanggan bisa terjadi di mana saja selama sebulan, tetapi baru pada akhir bulan kita mengetahui tentangnya (yaitu sekitar saat bulan itu mereka pergi). 24 bulan digunakan untuk pelatihan.
  • Variabel waktu yang digunakan adalah waktu asal sampel - semua pelanggan aktif pada 12/31/2008 - mereka semua menerima t = 0 pada Januari 2009 (bukan cara klasik untuk melakukannya, tapi saya percaya cara membangunnya model prediksi versus model statistik tradisional). Kovariat yang digunakan adalah masa jabatan pelanggan pada saat itu.
  • Ada serangkaian kovariat yang dibangun - beberapa yang tidak berubah di sepanjang baris dataset (untuk pelanggan tertentu) dan beberapa lainnya.

  • Varian kovariat waktu ini adalah masalah dan apa yang menyebabkan saya mempertanyakan model survival untuk prediksi churn (dibandingkan dengan classifier reguler yang memprediksi churn dalam x bulan berikutnya berdasarkan pada data snapshot saat ini). Yang time-invariant menggambarkan aktivitas bulan sebelumnya dan diharapkan menjadi pemicu penting.

Penerapan model prediksi ini, setidaknya berdasarkan pemikiran saya saat ini, adalah untuk menilai basis pelanggan pada akhir setiap bulan, menghitung probabilitas / risiko churn sekitar bulan berikutnya. Kemudian lagi untuk 1,2 atau 3 bulan ke depan. Kemudian untuk 1,2,3,4,5,6 bulan ke depan. Untuk probabilitas churn 3 dan 6 bulan, saya akan menggunakan perkiraan kurva survival.

Masalah:

Ketika sampai pada pemikiran tentang penilaian, bagaimana saya bisa menggabungkan prediktor yang bervariasi waktu? Sepertinya saya hanya bisa mencetak dengan prediktor waktu-invarian atau untuk memasukkan mereka yang invarian waktu, Anda harus membuat mereka invarian waktu - setel ke nilai "sekarang".

Apakah ada yang punya pengalaman atau pemikiran tentang penggunaan model bertahan hidup ini?

Pembaruan berdasarkan komentar @JVM:

Masalahnya bukan dengan memperkirakan model, menafsirkan koefisien, merencanakan plot bahaya / kelangsungan hidup dari nilai-nilai kovariat yang menarik menggunakan data pelatihan, dll. Masalahnya adalah dalam menggunakan model untuk memperkirakan risiko bagi pelanggan tertentu. Katakanlah pada akhir bulan ini, saya ingin memberi skor pada semua orang yang masih menjadi pelanggan aktif dengan model ini. Saya ingin memperkirakan perkiraan risiko itu x periode (risiko penutupan akun pada akhir bulan depan. Risiko penutupan akun pada akhir dua bulan dari sekarang, dll.). Jika ada kovariat yang bervariasi waktu, nilainya tidak diketahui di masa mendatang, jadi bagaimana cara menggunakan model ini?

Pembaruan Akhir:

Kumpulan data periode orang akan memiliki entri untuk setiap orang dan setiap periode waktu mereka berisiko. Katakanlah ada periode waktu J (mungkin J = 1 ... 24 selama 24 bulan) Katakanlah saya membuat model survival waktu diskrit, di mana untuk kesederhanaan kita hanya memperlakukan waktu T sebagai linier dan memiliki dua kovariat X dan Z di mana X adalah waktu -invariant, artinya konstan dalam setiap periode untuk orang yang ke-I dan Z adalah waktu yang bervariasi, artinya setiap catatan untuk orang yang ke-it dapat mengambil nilai yang berbeda. Misalnya, X mungkin adalah jenis kelamin pelanggan dan Z mungkin seberapa besar nilainya bagi perusahaan di bulan sebelumnya. Model untuk logit dari bahaya untuk orang ke-i dalam periode waktu ke-j adalah:

lHaigsayat(h(tsayaj))=α0+α1Tj+β1Xsaya+β2Zsayaj

Zj

Satu-satunya solusi yang dapat saya pikirkan adalah:

  • Jangan gunakan kovariat yang bervariasi waktu seperti Z. Ini akan sangat melemahkan model untuk memprediksi peristiwa pengadukan meskipun karena, misalnya, melihat penurunan Z akan memberi tahu kami bahwa pelanggan melepaskan diri dan mungkin bersiap untuk pergi.
  • Gunakan kovariat yang bervariasi waktu tetapi tinggalkan mereka (seperti Z di atas) yang memungkinkan kita untuk meramalkan bagaimanapun banyak periode kita telah tertinggal variabel (sekali lagi, memikirkan model mencetak data baru saat ini).
  • Gunakan kovariat yang bervariasi waktu tetapi pertahankan sebagai konstanta dalam perkiraan (sehingga modelnya disesuaikan untuk data yang bervariasi tetapi untuk prediksi kami membiarkannya konstan dan mensimulasikan bagaimana perubahan dalam nilai-nilai ini, jika kemudian benar-benar diamati, akan berdampak pada risiko pengadukan.
  • Zj
B_Miner
sumber
Beberapa pertanyaan: Pertama, apakah Anda ingin menggunakan model waktu diskrit? Apa yang ingin Anda lakukan mungkin lebih sederhana dalam model survival parametrik. Kedua, apakah Anda bisa memberikan contoh tentang apa yang Anda maksud dengan churn; bagaimana mungkin contoh dari data Anda?
Jason Morgan
@JWM. Churn berarti pelanggan membatalkan akun mereka. Karena saya tahu hanya bulan pelanggan dibatalkan, saya pikir waktu diskrit sesuai. Saya percaya masalah yang sama dengan prediktor waktu yang bervariasi ada jika modelnya diskrit atau waktu kontinu (Cox atau AFT) Tidak?
B_Miner
Saya minta maaf karena masih belum cukup memahami kekhawatiran Anda. Anda harus dapat memperkirakan model Anda dengan cukup baik. Meskipun, karena Anda mungkin akan memiliki kesalahan pengukuran di TVC Anda dan variabel dependen, Anda mungkin harus menggunakan lag TVC dalam model. Jika tidak, Anda berisiko menggunakan nilai kovariat yang diukur setelah terjadinya peristiwa sebagai prediktor untuk peristiwa itu. Anda dapat melihat masalah konsistensi waktu. Meskipun saya tahu tujuan Anda adalah prediksi, jika Anda menginginkan interval kepercayaan yang wajar, Anda harus memperkirakan kesalahan standar yang kuat (setidaknya).
Jason Morgan
@ JVM rupanya saya gagal menjelaskan diri saya dengan baik. Saya menambahkan jawaban dalam pertanyaan.
B_Miner
t=0s>0P(Tsaya>s+x|Fs)

Jawaban:

1

Terima kasih atas klarifikasi, B_Miner. Saya sendiri tidak banyak melakukan peramalan, jadi ambil yang berikut dengan sedikit garam. Inilah yang akan saya lakukan sebagai setidaknya potongan pertama pada data.

  • Pertama, rumuskan dan perkirakan model yang menjelaskan TVC Anda. Lakukan semua validasi silang, pengecekan kesalahan, dll., Untuk memastikan Anda memiliki model data yang layak.
  • Kedua, merumuskan dan memperkirakan model bertahan hidup (apa pun rasanya). Lakukan semua validasi silang, pengecekan kesalahan, untuk memastikan model ini masuk akal juga.
  • Ketiga, tentukan metode menggunakan prakiraan dari model TVC sebagai dasar prakiraan risiko churn dan apa pun yang Anda inginkan. Sekali lagi, verifikasi bahwa prediksi tersebut masuk akal menggunakan sampel Anda.

Setelah Anda memiliki model yang menurut Anda masuk akal, saya akan menyarankan bootstrap data sebagai cara untuk memasukkan kesalahan dalam model TVC pertama ke dalam model kedua. Pada dasarnya, terapkan langkah 1-3 N kali, setiap kali mengambil sampel bootstrap dari data dan menghasilkan serangkaian prakiraan. Ketika Anda memiliki jumlah perkiraan yang masuk akal, rangkumlahnya dengan cara apa pun yang menurut Anda sesuai untuk tugas Anda; misalnya, memberikan risiko churn rata-rata untuk setiap individu atau profil kepentingan kovariat serta interval kepercayaan 95%.

Jason Morgan
sumber
@JVM. Apakah saya membaca Anda dengan benar bahwa saran Anda adalah opsi solusi terakhir saya di atas (dalam pembaruan akhir). Bahwa Anda mengembangkan model untuk memperkirakan masing-masing Z (TVC) untuk digunakan dalam model kelangsungan hidup yang sebenarnya?
B_Miner
2

Seperti yang saya lihat ada dua paradigma analisis survival yang bisa digunakan. Kerangka kerja regresi Cox memungkinkan waktu kovariat yang berbeda-beda dan akan menghasilkan perkiraan untuk risiko pembatalan yang dikondisikan pada seperangkat kovariat tertentu relatif terhadap tingkat rata-rata pembatalan. Kerangka GLM dengan kesalahan Poisson juga merupakan model bahaya proporsional dan sangat cocok untuk interval diskrit. JVM telah menunjukkan bahwa ada potensi kesalahan dalam menggunakan data yang tidak lengkap di bulan ini, tetapi pengertian yang saya dapatkan adalah bahwa Anda menginginkan perkiraan yang tergantung pada nilai terbaru dari kovariat atau sekumpulan kovariat. Deskripsi situasi data yang lebih baik dapat menghasilkan contoh yang lebih baik ....

DWIN
sumber