23 kali
lebih banyak email bertarget yang menggunakan jaringan neural dibandingkan dengan pemicu
8,5 kali
lebih banyak pendapatan dari pemasaran email melalui atribusi klik terakhir, berhenti berlangganan
2 kali
lebih sedikit,
17 kali
lebih banyak bukaan
Di bawah ini kami akan membagikan pengalaman kami dan memberi tahu Anda:
- mengapa kami memutuskan untuk menggunakan model jaringan saraf LSTM untuk memprediksi tanggal pengiriman email alih-alih algoritma peningkatan gradien;
- bagaimana LSTM bekerja;
- data apa yang digunakan jaringan saraf untuk pelatihan;
- arsitektur jaringan saraf apa yang digunakan dan kesulitan apa yang mereka hadapi;
- hasil apa yang dicapai dan bagaimana penilaiannya.
Mengapa Anda memutuskan untuk meninggalkan algoritme peningkatan gradien demi LSTM
Buletin email membantu menginformasikan pelanggan tentang produk baru, mengaktifkan kembali pelanggan yang berhenti, atau menampilkan rekomendasi yang dipersonalisasi. Untuk setiap klien, tanggal pengiriman terbaik berbeda: seseorang melakukan pembelian pada akhir pekan, jadi yang terbaik adalah mengirim email pada hari Sabtu; dan seseorang baru-baru ini membeli rumah untuk kucing, dan ada baiknya mengirim surat sesegera mungkin dan menasihati dia tentang makanan. Jaringan neural membantu kami menentukan tanggal terbaik untuk mengirim email dan menebak kebutuhan klien.
Awalnya kami menggunakan algoritme standar. Selama setahun penuh, kami membuat tanda-tanda dari sejarah tindakan pelanggan dan melatih peningkatan gradien pada mereka untuk memprediksi tanggal terbaik untuk mengirim email. Contohnya:
- menghitung berapa hari yang akan berlalu dari tanggal pembelian ke pembelian berikutnya;
- mencoba membuat klasifikasi tanda dan memprediksi kemungkinan pengiriman surat pada hari tertentu;
- mencoba menentukan minat pengguna tergantung pada tempat tinggal untuk meningkatkan kemungkinan melihat surat dan klik.
Tetapi model ini tidak memberikan hasil positif yang stabil untuk semua proyek, tidak dapat menemukan pola kompleks dalam perilaku pengguna dan tidak menghasilkan cukup uang.
Ketika kami sudah berpikir untuk meninggalkan algoritme dan gagasan untuk memprediksi tanggal pengiriman email, kami memutuskan untuk mencoba sesuatu yang eksotis dan melatih model jaringan saraf LSTM untuk tugas ini. Biasanya digunakan untuk analisis teks, lebih jarang untuk menganalisis harga saham di pasar keuangan, tetapi tidak untuk tujuan pemasaran. Dan LSTM bekerja.
Apa itu LSTM
LSTM (Long Short Term Memory) adalah arsitektur jaringan saraf yang berasal dari analisis bahasa alami.
Mari kita analisis bagaimana LSTM bekerja menggunakan terjemahan mesin sebagai contoh. Semua huruf teks diumpankan ke input jaringan saraf secara bergantian, dan pada keluaran kami ingin mendapatkan terjemahan ke bahasa lain. Untuk menerjemahkan teks, jaringan harus menyimpan informasi tidak hanya tentang surat saat ini, tetapi juga tentang surat yang ada di depannya. Jaringan saraf biasa tidak mengingat apa yang diperlihatkan sebelumnya, dan tidak dapat menerjemahkan seluruh kata atau teks. LSTM, di sisi lain, memiliki sel memori khusus di mana informasi yang berguna disimpan, oleh karena itu, LSTM menghasilkan hasil berdasarkan total data dan menerjemahkan teks dengan mempertimbangkan semua huruf dalam kata. Seiring waktu, jaringan saraf dapat membersihkan sel dan melupakan informasi yang tidak lagi diperlukan.
Prinsip yang sama ternyata penting untuk memprediksi tindakan pengguna. Jaringan saraf memperhitungkan seluruh riwayat tindakan dan memberikan hasil yang relevan - misalnya, menentukan tanggal terbaik untuk mengirim email.
Struktur internal satu lapisan LSTM
Lapisan dalam LSTM terdiri dari operasi penjumlahan + , perkalian × , sigmoid σ, dan hiperbolik tangen tanh.
Data apa yang digunakan oleh jaringan saraf
Untuk mempelajari cara memprediksi tanggal pengiriman email terbaik, jaringan saraf menganalisis sekumpulan data historis. Kami meneruskan dalam urutan waktu yang berlalu antara tindakan dan 9 jenis token:
- membeli produk murah,
- membeli produk dengan harga rata-rata,
- membeli produk mahal,
- melihat produk murah,
- melihat produk harga rata-rata,
- melihat produk yang mahal,
- menerima surat,
- membuka surat,
- klik objek apa pun di dalam surat itu.
Beginilah contoh umum dari urutan input terlihat seperti:
(view_medium, 0,5, view_cheap, 24, buy_cheap) Seorang
pengguna dengan urutan ini melihat harga rata-rata produk, melihat produk murah dalam setengah jam, dan memutuskan untuk membeli produk murah sehari kemudian.
Lima tindakan pengguna terakhir adalah variabel target. Jaringan saraf mereka telah belajar memprediksi.
Arsitektur jaringan saraf apa yang digunakan
Upaya pertama untuk melatih jaringan saraf tidak berhasil: ia dilatih ulang dan selalu memprediksi hanya pengiriman surat, dan bukan tindakan lain, misalnya, kemungkinan membuka surat atau membeli. Karena pelanggan lebih cenderung menerima email daripada membukanya atau membeli sesuatu, "menerima email" adalah tanda yang paling sering. Jaringan saraf menerima hasil yang baik dalam hal metrik, meskipun hasil sebenarnya negatif. Lagi pula, tidak ada gunanya algoritme yang selalu mengatakan bahwa klien akan menerima surat - dan tidak ada yang lain.
Misalnya, ada urutan input tiga token "menerima surat" dan satu "pembelian barang". Jaringan neural memprosesnya dan memprediksi urutan dengan empat token "terima email". Dalam 3 dari 4 kasus, dia akan menebak, dan klien memang akan menerima surat, tetapi prediksi seperti itu tidak masuk akal. Tugas utamanya adalah memprediksi kapan pelanggan akan membuka email dan melakukan pembelian.
Setelah menguji beberapa arsitektur dan jalur pembelajaran, kami menemukan apa yang berhasil.
Seperti biasa untuk model Seq2Seq, jaringan terdiri dari dua bagian: encoder dan decoder. Encoder kecil dan terdiri dari LSTM dan lapisan embedding, tetapi decoder juga menggunakan self attention dan dropout. Dalam pelatihan, kami menggunakan tenaga pengajar - terkadang kami memberikan prediksi jaringan sebagai masukan untuk prediksi berikutnya.
Encoder mengkodekan urutan masukan menjadi vektor yang berisi, menurut pendapat jaringan, informasi penting tentang tindakan pengguna. Decoder, sebaliknya, menerjemahkan vektor yang dihasilkan menjadi sebuah urutan - ini adalah prediksi jaringan.
Mendapatkan prediksi menggunakan jaringan LSTM
Waktu pelatihan: model dilatih selama sekitar satu hari pada Tesla V100 dan setelah menyelesaikan pelatihan menerima ROC-AUC 0,74.
Bagaimana model LSTM bekerja dengan data nyata (inferensi)
Untuk menerapkan model bagi beberapa pengguna dan mencari tahu apakah layak mengiriminya surat, kami akan mengumpulkan vektor dari tindakan terakhirnya dan menjalankannya melalui jaringan saraf. Misalkan respons jaringan neural seperti ini:
(email_show, 10, email_open, 0,5, view_cheap, 0,5 view_medium, 15 buy_medium)
Model tidak hanya memprediksi tindakan, tetapi juga berapa banyak waktu yang akan berlalu di antara keduanya. Mari kita hentikan semua peristiwa yang terjadi lebih dari satu hari kemudian. Kami akan memprosesnya keesokan harinya, karena selama waktu ini, informasi baru tentang tindakan klien mungkin muncul, yang perlu dipertimbangkan. Kami mendapatkan urutan berikut:
(email_show, 10, email_open, 0.5, view_cheap, 0.5 )
Ada token tampilan dalam urutan, jadi email akan dikirim ke pengguna hari ini.
Penting untuk mengirim email hanya jika ada token melihat atau membeli, dan tidak menerima email, sehingga jaringan tidak mengulangi pemicu surat yang diingat sebelumnya. Misalnya, jika Anda tidak memperhitungkan melihat dan membeli, kita bisa mendapatkan urutan hanya dengan token untuk menerima surat. Dan kemudian jaringan akan menduplikasi pengaturan pemicu pemasar alih-alih memprediksi pembukaan email atau pembelian:
Bagaimana hasil dievaluasi
Untuk memeriksa performa model, kami menjalankan pengujian AB. Sebagai dasar, kami menggunakan algoritme yang menghitung waktu rata-rata antara pembelian pengguna dan mengirim email saat waktu ini berlalu. Separuh dari pengguna menerima email berdasarkan keputusan dasar, yang lainnya - menurut prediksi model. Tes AB dilakukan dengan basis pelanggan toko hewan peliharaan Beethoven dan Staraya Farm .
Tes tersebut berlangsung selama dua minggu dan mencapai signifikansi statistik. Jaringan saraf telah belajar untuk menemukan 23 kali lebih banyak pengguna yang harus mengirim email, sementara dalam persentase, tingkat buka turun hanya 5%, dan jumlah pembukaan dalam jumlah absolut meningkat 17 kali lipat.
Hasil tes AB untuk model dan kesimpulan jaringan saraf LSTM
Jadi, eksperimen dengan jaringan saraf alih-alih algoritme ternyata berhasil. Model jaringan saraf LSTM telah menjadi alat yang sesuai untuk memprediksi tanggal pengiriman email terbaik. Kami telah belajar dari pengalaman kami sendiri bahwa tidak perlu takut menggunakan model non-standar untuk menyelesaikan masalah yang sepele.
Sergey Yudin, pengembang ML, penulis