Kepiye prediksi churn kanthi nyedhaki kaya bencana alam

Kadhangkala, kanggo ngrampungake masalah, sampeyan mung kudu ndeleng saka sudut sing beda. Sanajan sajrone 10 taun kepungkur, masalah sing padha wis ditanggulangi kanthi cara sing padha kanthi efek sing beda-beda, dudu kasunyatan manawa metode iki mung siji.

Ana topik kaya customer churn. Bab kasebut ora bisa dihindari, amarga para pelanggan saka perusahaan apa wae bisa, amarga akeh alasan, mandheg nggunakake produk utawa layanan. Mesthine, kanggo perusahaan, churn minangka tumindak sing alami, nanging dudu tumindak sing paling dikarepake, mula saben wong nyoba nyuda churn iki. Luwih apik, prédhiksi kemungkinan churn kanggo kategori pangguna tartamtu, utawa pangguna tartamtu, lan saran sawetara langkah kanggo nahan.

Sampeyan perlu kanggo nganalisa lan nyoba kanggo nahan klien, yen bisa, kanggo paling alesan ing ngisor iki:

  • narik pelanggan anyar luwih larang tinimbang prosedur retensi. Kanggo narik kawigaten pelanggan anyar, minangka aturan, sampeyan kudu nglampahi sawetara dhuwit (iklan), nalika pelanggan sing wis ana bisa diaktifake kanthi penawaran khusus kanthi kondisi khusus;
  • Ngerteni alasan kenapa pelanggan ninggalake minangka kunci kanggo ningkatake produk lan layanan.

Ana pendekatan standar kanggo prédhiksi churn. Nanging ing salah sawijining juara AI, kita mutusake nyoba distribusi Weibull kanggo iki. Paling asring digunakake kanggo analisis kelangsungan hidup, prakiraan cuaca, analisis bencana alam, teknik industri lan liya-liyane. Distribusi Weibull minangka fungsi distribusi khusus kanthi rong parameter Kepiye prediksi churn kanthi nyedhaki kaya bencana alam и Kepiye prediksi churn kanthi nyedhaki kaya bencana alam.

Kepiye prediksi churn kanthi nyedhaki kaya bencana alam
Wikipedia

Umumé, iku menarik, nanging kanggo prakiraan outflows, lan ing fintech umume, iku ora asring digunakake. Ing ngisor iki, kita bakal pitutur marang kowe carane (Laboratorium Data Mining) nindakake iki, bebarengan menang emas ing Kejuaraan Artificial Intelligence ing kategori "AI ing Bank".

About churn ing umum

Ayo ngerteni sethithik babagan apa customer churn lan kenapa penting banget. Basis pelanggan penting kanggo bisnis. Pelanggan anyar teka ing basis iki, contone, sinau babagan produk utawa layanan saka iklan, manggon sawetara wektu (aktif nggunakake produk) lan sawise sawetara wektu mandheg nggunakake. Periode iki diarani "Customer Lifecycle" - istilah sing nggambarake tahapan sing ditindakake pelanggan nalika sinau babagan produk, nggawe keputusan tuku, mbayar, nggunakake lan dadi konsumen sing setia, lan pungkasane mandheg nggunakake produk kasebut. kanggo siji alesan utawa liyane. Mulane, churn minangka tahap pungkasan saka siklus urip klien, nalika klien mandheg nggunakake layanan kasebut, lan kanggo bisnis iki tegese klien wis mandheg ngasilake bathi utawa entuk manfaat apa wae.

Saben klien bank minangka wong tartamtu sing milih siji utawa kertu bank liyane khusus kanggo kabutuhan. Yen sampeyan kerep lelungan, kertu karo mil bakal migunani. Tuku akeh - hello, kertu cashback. Dheweke tuku akeh ing toko tartamtu - lan wis ana plastik partner khusus kanggo iki. Mesthi, kadhangkala kertu dipilih adhedhasar kritéria "Layanan paling murah". Umumé, ana cukup variabel ing kene.

Lan wong uga milih bank dhewe - apa gunane milih kertu saka bank sing cabang mung ing Moskow lan wilayah, nalika sampeyan saka Khabarovsk? Sanajan kertu saka bank kasebut paling ora 2 kaping luwih nguntungake, anané cabang bank sing cedhak isih dadi kritéria penting. Ya, 2019 wis ana lan digital minangka kabeh, nanging sawetara masalah karo sawetara bank mung bisa dirampungake ing cabang. Kajaba iku, maneh, sawetara bagean saka populasi dipercaya bank fisik luwih saka aplikasi ing smartphone, iki uga kudu dianggep.

Akibaté, wong bisa duwe akeh alasan kanggo nolak produk bank (utawa bank dhewe). Aku diganti proyek, lan tarif kertu diganti saka gaji kanggo "Kanggo mortals," kang kurang duwe bathi. Aku pindhah menyang kutha liyane sing ora ana cabang bank. Aku ora seneng interaksi karo operator unqualified ing cabang. Tegese, bisa uga ana alesan liyane kanggo nutup akun tinimbang nggunakake produk kasebut.

Lan klien ora mung bisa kanthi jelas nyatakake maksude - teka menyang bank lan nulis statement, nanging mung mandheg nggunakake produk tanpa mungkasi kontrak. Diputusake nggunakake pembelajaran mesin lan AI kanggo mangerteni masalah kasebut.

Kajaba iku, churn pelanggan bisa kedadeyan ing industri apa wae (telekomunikasi, panyedhiya Internet, perusahaan asuransi, umume, ing ngendi wae ana basis pelanggan lan transaksi periodik).

Apa sing wis kita lakoni

Kaping pisanan, perlu kanggo njlèntrèhaké wates sing cetha - saka wektu apa kita wiwit nganggep klien wis ninggalake. Saka sudut pandang bank sing nyedhiyakake data kanggo karya kita, status aktivitas klien kasebut biner - dheweke aktif utawa ora. Ana gendéra ACTIVE_FLAG ing tabel "Aktivitas", sing regane bisa dadi "0" utawa "1" ("Ora Aktif" lan "Aktif"). Lan kabeh bakal apik, nanging ana wong sing bisa digunakake kanthi aktif sajrone sawetara wektu, banjur metu saka dhaptar aktif sajrone sewulan - dheweke lara, lunga menyang negara liya ing preian, utawa malah nyoba nyoba. kertu saka bank liyane. Utawa bisa uga sawise suwe ora aktif, wiwit nggunakake layanan bank maneh

Mulane, kita mutusake kanggo nyebat periode ora aktif sajrone wektu sing terus-terusan sajrone gendéra kasebut disetel dadi "0".

Kepiye prediksi churn kanthi nyedhaki kaya bencana alam

Klien pindhah saka ora aktif dadi aktif sawise wektu ora aktif kanthi dawane beda-beda. Kita duwe kesempatan kanggo ngetung derajat empiris "reliabilitas periode ora aktif" - yaiku, kemungkinan wong bakal miwiti nggunakake produk bank maneh sawise ora aktif sauntara.

Contone, grafik iki nuduhake aktivitas maneh (ACTIVE_FLAG=1) klien sawise sawetara sasi ora aktif (ACTIVE_FLAG=0).

Kepiye prediksi churn kanthi nyedhaki kaya bencana alam

Ing kene kita bakal njlentrehake sethithik set data sing kita wiwiti. Dadi, bank nyedhiyakake informasi agregat sajrone 19 wulan ing tabel ing ngisor iki:

  • "Kegiatan" - transaksi pelanggan saben wulan (kanthi kertu, ing Internet banking lan mobile banking), kalebu gaji lan informasi babagan turnover.
  • "Kartu" - data babagan kabeh kertu sing diduweni klien, kanthi jadwal tarif sing rinci.
  • "Perjanjian" - informasi babagan perjanjian klien (loro mbukak lan ditutup): silihan, simpenan, lan sapiturute, nuduhake paramèter saben.
  • "Pelanggan" - sakumpulan data demografi (gender lan umur) lan kasedhiyan informasi kontak.

Kanggo karya, kita butuh kabeh tabel kajaba "Peta".

Ana kangelan liyane ing kene - ing data iki bank ora nuduhake apa jenis kegiatan njupuk Panggonan ing kertu. Tegese, kita bisa ngerti apa ana transaksi utawa ora, nanging ora bisa nemtokake jinise maneh. Mulane, ora jelas apa klien kasebut narik dhuwit, nampa gaji, utawa mbuwang dhuwit kanggo tuku. Kita uga ora duwe data babagan imbangan akun, sing bakal migunani.

Sampel kasebut dhewe ora bias - ing bagean iki, luwih saka 19 sasi, bank kasebut ora nyoba nahan pelanggan lan nyuda aliran metu.

Dadi, babagan periode ora aktif.

Kanggo ngrumusake definisi churn, periode ora aktif kudu dipilih. Kanggo nggawe ramalan churn ing wektu Kepiye prediksi churn kanthi nyedhaki kaya bencana alam, sampeyan kudu duwe riwayat pelanggan paling sethithik 3 sasi kanthi interval Kepiye prediksi churn kanthi nyedhaki kaya bencana alam. Sajarah kita diwatesi nganti 19 sasi, mula kita mutusake kanggo njupuk wektu ora aktif 6 sasi, yen kasedhiya. Lan kanggo periode minimal kanggo ramalan kualitas dhuwur, kita njupuk 3 sasi. We njupuk tokoh kanggo 3 lan 6 sasi empiris adhedhasar analisis prilaku data pelanggan.

Kita ngrumusake definisi churn minangka nderek: sasi customer churn Kepiye prediksi churn kanthi nyedhaki kaya bencana alam iki sasi pisanan karo ACTIVE_FLAG = 0, ngendi wiwit sasi iki ana paling enem nul consecutive ing lapangan ACTIVE_FLAG, ing tembung liyane, sasi saka klien ora aktif kanggo 6 sasi.

Kepiye prediksi churn kanthi nyedhaki kaya bencana alam
Jumlah klien sing lunga

Kepiye prediksi churn kanthi nyedhaki kaya bencana alam
Jumlah klien sing isih ana

Kepiye cara ngitung churn?

Ing kompetisi kasebut, lan ing praktik umume, outflow asring diprediksi kanthi cara iki. Klien nggunakake produk lan layanan ing wektu sing beda-beda, data babagan interaksi karo dheweke dituduhake minangka vektor fitur kanthi dawa tetep n. Paling asring informasi iki kalebu:

  • Data karakteristik pangguna (data demografi, segmen pemasaran).
  • Sajarah panggunaan produk lan layanan perbankan (iki minangka tumindak pelanggan sing tansah disambungake menyang wektu utawa periode tartamtu saka interval sing kita butuhake).
  • Data eksternal, yen bisa dipikolehi - contone, review saka jaringan sosial.

Lan sawise iku, dheweke entuk definisi churn, beda kanggo saben tugas. Banjur nggunakake algoritma pembelajaran mesin, sing prédhiksi kemungkinan klien lunga Kepiye prediksi churn kanthi nyedhaki kaya bencana alam adhedhasar vektor faktor Kepiye prediksi churn kanthi nyedhaki kaya bencana alam. Kanggo nglatih algoritma kasebut, salah sawijining kerangka kerja sing misuwur kanggo nggawe ensemble wit keputusan digunakake, XGBoost, CahyaGBM, CatBoost utawa modifikasi kasebut.

Algoritma kasebut dhewe ora ala, nanging duwe sawetara kekurangan sing serius nalika prédhiksi churn.

  • Dheweke ora duwe apa sing diarani "memori". Input model minangka sawetara fitur tartamtu sing cocog karo titik wektu saiki. Kanggo nyimpen informasi babagan sajarah owah-owahan ing paramèter, perlu kanggo ngetung fitur khusus sing ciri owah-owahan ing paramèter liwat wektu, contone, nomer utawa jumlah transaksi bank liwat pungkasan 1,2,3, XNUMX, XNUMX sasi. Pendekatan iki mung bisa nggambarake sifat owah-owahan sauntara.
  • Cakrawala ramalan tetep. Model kasebut mung bisa prédhiksi churn pelanggan sajrone wektu sing wis ditemtokake, umpamane, ramalan siji wulan sadurunge. Yen ramalan dibutuhake kanggo wektu sing beda, contone, telung sasi, sampeyan kudu mbangun maneh set latihan lan nglatih maneh model anyar.

pendekatan kita

Kita langsung mutusake yen ora bakal nggunakake pendekatan standar. Saliyane kita, 497 luwih akeh wong sing ndhaptar ing kejuaraan, sing saben-saben duwe pengalaman akeh. Dadi, nyoba nindakake apa-apa miturut skema standar ing kahanan kasebut ora apik.

Lan kita wiwit ngrampungake masalah sing diadhepi model klasifikasi binar kanthi prédhiksi distribusi probabilitas kaping churn pelanggan. Pendekatan sing padha bisa dideleng kene, ngidini sampeyan prédhiksi churn luwih fleksibel lan nguji hipotesis sing luwih rumit tinimbang pendekatan klasik. Minangka kulawarga distribusi modeling wektu outflow, kita milih distribusi Weibull kanggo nggunakake nyebar ing analisis kaslametané. Prilaku klien bisa dideleng minangka jinis kaslametan.

Punika conto distribusi Kapadhetan probabilitas Weibull gumantung paramèter Kepiye prediksi churn kanthi nyedhaki kaya bencana alam и Kepiye prediksi churn kanthi nyedhaki kaya bencana alam:

Kepiye prediksi churn kanthi nyedhaki kaya bencana alam

Iki minangka fungsi kapadhetan kemungkinan saka telung pelanggan sing beda-beda sajrone wektu. Wektu ditampilake ing sasi. Ing tembung liyane, grafik iki nuduhake nalika klien paling kamungkinan kanggo churn ing rong sasi sabanjuré. Nalika sampeyan bisa ndeleng, klien karo distribusi duwe potensial luwih kanggo ninggalake luwih awal saka klien karo Weibull(2, 0.5) lan Weibull (3,1) distribusi.

Asil punika model sing, kanggo saben klien, kanggo saben
sasi prédhiksi paramèter saka distribusi Weibull, kang paling nggambarake kedadeyan saka kamungkinan saka outflow liwat wektu. Luwih rinci:

  • Fitur target ing set latihan yaiku wektu sing isih ana nganti churn ing sasi tartamtu kanggo klien tartamtu.
  • Yen ora ana tingkat churn kanggo pelanggan, kita nganggep yen wektu churn luwih gedhe tinimbang jumlah sasi saka sasi saiki nganti pungkasan sejarah sing kita duwe.
  • Model sing digunakake: jaringan saraf ambalan kanthi lapisan LSTM.
  • Minangka fungsi mundhut, kita nggunakake fungsi log-kamungkinan negatif kanggo distribusi Weibull.

Mangkene kaluwihan saka metode iki:

  • Distribusi kemungkinan, saliyane kamungkinan klasifikasi binar sing jelas, ngidini prediksi fleksibel saka macem-macem acara, contone, manawa klien bakal mandheg nggunakake layanan bank sajrone 3 wulan. Uga, yen perlu, macem-macem metrik bisa dirata-rata ing distribusi iki.
  • Jaringan saraf ambalan LSTM nduweni memori lan kanthi efektif nggunakake kabeh riwayat sing kasedhiya. Nalika crita ditambahi utawa disempurnakan, akurasi mundhak.
  • Pendekatan kasebut bisa gampang diukur nalika mbagi wektu dadi luwih cilik (contone, nalika mbagi sasi dadi minggu).

Nanging ora cukup kanggo nggawe model sing apik, sampeyan uga kudu ngevaluasi kualitase kanthi bener.

Kepiye kualitas ditaksir?

Kita milih Lift Curve minangka metrik. Iki digunakake ing bisnis kanggo kasus kaya mengkono amarga interpretasi sing cetha, uga diterangake kene и kene. Yen sampeyan njlèntrèhaké makna metrik iki ing siji ukara, bakal dadi "Kaping pirang-pirang algoritma nggawe prediksi paling apik ing wiwitan. Kepiye prediksi churn kanthi nyedhaki kaya bencana alam% saka acak."

Model latihan

Kahanan kompetisi ora nggawe metrik kualitas tartamtu sing bisa dibandhingake karo model lan pendekatan sing beda. Kajaba iku, definisi churn bisa beda-beda lan bisa uga gumantung ing statement masalah, sing, ing siji, ditemtokake dening tujuan bisnis. Mulane, kanggo ngerti cara sing luwih apik, kita nglatih rong model:

  1. Pendekatan klasifikasi biner sing umum digunakake nggunakake algoritma pembelajaran mesin wit keputusan ensemble (CahyaGBM);
  2. Weibull-LSTM model

Set test kalebu 500 klien sing wis dipilih sing ora ana ing set latihan. Hyper-parameter dipilih kanggo model nggunakake validasi silang, dipecah dening klien. Fitur sing padha digunakake kanggo nglatih saben model.

Amarga kasunyatan manawa model kasebut ora duwe memori, fitur khusus dijupuk, nuduhake rasio owah-owahan paramèter sajrone sewulan menyang nilai rata-rata paramèter sajrone telung sasi pungkasan. Apa ditondoi dening tingkat owah-owahan ing nilai sajrone telung sasi pungkasan. Tanpa iki, model basis Alas Acak bakal ana ing kerugian relatif kanggo Weibull-LSTM.

Napa LSTM karo distribusi Weibull luwih apik tinimbang pendekatan wit keputusan gamelan

Kabeh cetha ing kene mung sawetara gambar.

Kepiye prediksi churn kanthi nyedhaki kaya bencana alam
Perbandingan Kurva Angkat kanggo algoritma klasik lan Weibull-LSTM

Kepiye prediksi churn kanthi nyedhaki kaya bencana alam
Perbandingan metrik Kurva Angkat miturut wulan kanggo algoritma klasik lan Weibull-LSTM

Umumé, LSTM luwih unggul tinimbang algoritma klasik ing meh kabeh kasus.

Prediksi kringet

Model adhedhasar jaringan syaraf ambalan karo sel LSTM karo distribusi Weibull bisa prédhiksi churn ing advance, Contone, prédhiksi churn customer ing n sasi sabanjuré. Coba kasus kanggo n = 3. Ing kasus iki, kanggo saben sasi, jaringan saraf kudu bener nemtokake manawa klien bakal ninggalake, wiwit saka sasi sabanjuré lan nganti sasi n. Ing tembung liyane, iku kudu bener nemtokake apa customer bakal tetep sawise n sasi. Iki bisa dianggep minangka ramalan sadurunge: prédhiksi wayahe nalika klien wiwit mikir babagan ninggalake.

Ayo mbandhingake Kurva Angkat kanggo Weibull-LSTM 1, 2 lan 3 wulan sadurunge aliran metu:

Kepiye prediksi churn kanthi nyedhaki kaya bencana alam

Kita wis nulis ing ndhuwur yen ramalan sing digawe kanggo klien sing ora aktif maneh kanggo sawetara wektu uga penting. Mulane, ing kene kita bakal nambah conto kasus kasebut nalika pelanggan sing lunga wis ora aktif sajrone siji utawa rong wulan, lan priksa manawa Weibull-LSTM ngelasake kasus kasebut kanthi bener minangka churn. Amarga kasus kasebut ana ing conto kasebut, kita ngarepake jaringan bisa nangani kanthi apik:

Kepiye prediksi churn kanthi nyedhaki kaya bencana alam

penylametan pelanggan

Bener, iki minangka perkara utama sing bisa ditindakake, duwe informasi ing tangan manawa klien kasebut lan kaya ngono wis siyap mandheg nggunakake produk kasebut. Ngomong babagan mbangun model sing bisa menehi barang sing migunani kanggo para pelanggan supaya bisa nahan, iki ora bisa ditindakake yen sampeyan ora duwe riwayat upaya sing padha sing bakal rampung kanthi apik.

Kita ora duwe crita kaya ngono, mula kita mutusake kanthi cara iki.

  1. Kita mbangun model sing ngenali produk sing menarik kanggo saben klien.
  2. Saben sasi kita mbukak classifier lan ngenali pelanggan potensial ninggalake.
  3. We offer sawetara klien produk, miturut model saka titik 1, lan elinga tumindak kita.
  4. Sawise sawetara sasi, kita ndeleng endi saka klien sing bisa ditinggalake lan sing isih ana. Mangkono, kita mbentuk sampel latihan.
  5. Kita nglatih model nggunakake riwayat sing dipikolehi ing langkah 4.
  6. Opsional, kita mbaleni prosedur kasebut, ngganti model saka langkah 1 karo model sing dipikolehi ing langkah 5.

Tes kualitas retensi kasebut bisa ditindakake kanthi tes A/B biasa - kita dibagi pelanggan sing duweni potensi ninggalake dadi rong klompok. We offer produk kanggo siji adhedhasar model penylametan kita, lan liyane kita kurban apa-apa. Kita mutusake kanggo nglatih model sing bisa migunani ing titik 1 conto kita.

Kita pengin nggawe segmentasi minangka bisa diinterpretasikake. Kanggo nindakake iki, kita milih sawetara fitur sing bisa gampang diinterpretasikake: jumlah total transaksi, upah, total turnover akun, umur, jender. Fitur saka tabel "Maps" ora dianggep ora informatif, lan fitur saka tabel 3 "Kontrak" ora dianggep amarga kerumitan pangolahan supaya ora bocor data antarane set validasi lan set latihan.

Clustering ditindakake kanthi nggunakake model campuran Gaussian. Kriteria informasi Akaike ngidini kita nemtokake 2 optima. Optimal pisanan cocog karo 1 kluster. Optimal kaloro, kurang pocapan, cocog karo 80 kluster. Adhedhasar asil kasebut, kita bisa narik kesimpulan ing ngisor iki: angel banget kanggo mbagi data dadi klompok tanpa informasi sing diwenehi priori. Kanggo clustering sing luwih apik, sampeyan butuh data sing nggambarake saben klien kanthi rinci.

Mula, masalah sinau sing diawasi dianggep supaya bisa menehi produk sing beda kanggo saben klien. Produk ing ngisor iki dianggep: "Simpenan Term", "Kertu kredit", "Overdraft", "Utangan konsumen", "Utangan mobil", "Mortgage".

Data kasebut kalebu siji jinis produk liyane: "Akun saiki". Nanging kita ora nganggep amarga isi informasi sing kurang. Kanggo pangguna sing klien bank, i.e. ora mandheg nggunakake produke, model digawe kanggo prédhiksi produk endi sing bisa disenengi. Regresi logistik dipilih minangka model, lan nilai Angkat kanggo 10 persentil pisanan digunakake minangka metrik penilaian kualitas.

Kualitas model bisa ditaksir ing gambar kasebut.

Kepiye prediksi churn kanthi nyedhaki kaya bencana alam
Rekomendasi produk asil model kanggo pelanggan

Asile

Pendekatan iki nggawa kita dadi pisanan ing kategori "AI ing Bank" ing Kejuaraan AI RAIF-Challenge 2017.

Kepiye prediksi churn kanthi nyedhaki kaya bencana alam

Ketoke, sing utama yaiku nyedhaki masalah saka sudut sing ora konvensional lan nggunakake cara sing biasane digunakake kanggo kahanan liyane.

Sanajan aliran pangguna sing akeh banget bisa uga dadi bencana alam kanggo layanan.

Cara iki bisa ditrapake kanggo wilayah liyane sing penting kanggo nganggep aliran metu, ora mung bank. Contone, kita digunakake kanggo ngetung outflow kita dhewe - ing Rostelecom cabang Siberia lan St.

"Data Mining Laboratory" perusahaan "Telusuri portal "Sputnik"

Source: www.habr.com

Add a comment