Memprediksi Nilai Umur Pelanggan dengan AI Platform: pengantar

Last reviewed 2019-02-06 UTC

Artikel ini adalah bagian pertama dari rangkaian empat bagian yang membahas cara memprediksi nilai umur pelanggan (CLV) menggunakan AI Platform (AI Platform) di Google Cloud.

Artikel dalam rangkaian ini meliputi:

Ringkasan

Banyak pengiklan mencoba menyesuaikan iklan mereka dengan individu atau kelompok pengguna yang serupa, tetapi mereka tidak selalu memasarkan ke pelanggan mereka yang paling berharga. Prinsip Pareto sering dikutip terkait penjualan, dengan memprediksi bahwa 20% pelanggan Anda mewakili 80% dari penjualan Anda. Bagaimana jika Anda dapat mengidentifikasi pelanggan mana yang mencapai 20% itu, bukan hanya secara historis, tetapi juga di masa mendatang? Memprediksi nilai umur pelanggan (CLV) adalah cara untuk mengidentifikasi pelanggan tersebut.

Tujuan dari rangkaian ini adalah sebagai berikut:

  • Menjelaskan konsep pemodelan CLV.
  • Bandingkan dua pendekatan untuk pemodelan CLV.
  • Menunjukkan cara menerapkan model CLV di Google Cloud.

Solusi ini membandingkan dua pendekatan yang berbeda untuk pemodelan CLV: model probabilistik dan model machine learning (ML). Model ini menyediakan implementasi dari setiap pendekatan dan menampilkan hasilnya saat setiap model diterapkan ke set data publik. Artikel dalam seri ini berfokus pada penerapan sistem pemodelan di Google Cloud.

Kapan pendekatan ini digunakan

Anda dapat menggunakan model CLV untuk menjawab jenis pertanyaan tentang pelanggan berikut:

  • Jumlah pembelian: Berapa banyak pembelian yang akan dilakukan pelanggan dalam rentang waktu mendatang?
  • Masa pakai: Berapa lama waktu yang akan berlalu sebelum pelanggan menjadi tidak aktif secara permanen?
  • Nilai uang: Berapa banyak nilai moneter yang akan dihasilkan pelanggan dalam rentang waktu mendatang?

Saat Anda memprediksi nilai umur di masa mendatang, ada dua masalah berbeda yang memerlukan data dan strategi pemodelan berbeda:

  • Memprediksi nilai masa depan untuk pelanggan lama yang memiliki histori transaksi yang diketahui.
  • Memprediksi nilai masa depan untuk pelanggan baru yang baru saja melakukan pembelian pertama mereka.

Seri ini berfokus pada masalah pertama.

Banyak perusahaan memprediksi CLV hanya dengan melihat jumlah total uang penjualan, tanpa memahami konteksnya. Misalnya, pelanggan yang membuat satu pesanan besar mungkin kurang bernilai dibandingkan pelanggan lain yang membeli beberapa kali, tetapi dalam jumlah yang lebih kecil. Pemodelan CLV dapat membantu Anda lebih memahami profil pembelian pelanggan dan membantu Anda menilai bisnis secara lebih akurat.

Dengan menggunakan pendekatan yang dijelaskan dalam rangkaian ini untuk memprediksi nilai pelanggan, Anda dapat memprioritaskan tindakan berikutnya, seperti berikut:

  • Menentukan jumlah yang akan diinvestasikan dalam iklan.
  • Tentukan pelanggan yang akan ditargetkan dengan iklan.
  • Rencanakan cara memindahkan pelanggan dari satu segmen ke segmen lainnya.

Model yang digunakan dalam seri ini tidak cocok untuk bisnis tempat Anda dapat mengamati dan mengukur churn pelanggan secara langsung. Misalnya, Anda tidak boleh menggunakan model ini untuk bisnis yang didasarkan pada langganan, akun pelanggan, atau kontrak yang dapat dibatalkan. Sebagai gantinya, model dalam seri ini mengasumsikan bahwa pengguna berinteraksi dengan bisnis sesuka hati, seperti di toko e-commerce yang memungkinkan pengguna melakukan pembelian kapan saja. Selain itu, model yang dijelaskan dalam rangkaian ini paling baik diterapkan untuk memprediksi nilai mendatang untuk pelanggan lama yang memiliki setidaknya sedikit histori transaksi.

Konsep CLV: RFM

Tiga input penting ke dalam model CLV adalah keterkinian, frekuensi, dan nilai uang:

  • Keterkinian: Kapan pesanan terakhir pelanggan?
  • Frekuensi: Seberapa sering mereka membeli?
  • Moneter: Berapa jumlah yang mereka belanjakan?

Diagram berikut menunjukkan urutan penjualan sebelumnya untuk sekumpulan empat pelanggan.

Histori penjualan untuk 4 pelanggan

Diagram menggambarkan nilai RFM untuk pelanggan, yang ditampilkan untuk setiap pelanggan:

  • Keterkinian: Waktu antara pembelian terakhir dan hari ini, diwakili oleh jarak antara lingkaran paling kanan dan garis putus-putus vertikal yang berlabel Now.
  • Frekuensi: Waktu antar-pembelian, yang diwakili oleh jarak antar-lingkaran pada satu garis.
  • Uang: Jumlah uang yang dibelanjakan untuk setiap pembelian, yang diwakili oleh ukuran lingkaran. Jumlah ini dapat berupa nilai pesanan rata-rata atau jumlah produk yang dipesan pelanggan.

Dalam model yang digunakan dalam seri ini, hanya data penjualan historis yang digunakan untuk menghitung CLV. Input nilai RFM dihitung dari histori transaksi untuk setiap pelanggan.

Dua metode pemodelan untuk CLV

Seperti disebutkan sebelumnya, seri artikel ini membandingkan dua pendekatan untuk menghitung CLV:

  • Model probabilistik. Model ini bekerja dengan menyesuaikan distribusi probabilitas ke nilai RFM yang diamati untuk pelanggan. Model ini didasarkan pada perilaku pembelian yang ditentukan oleh histori transaksi untuk setiap pelanggan. Data tersebut sudah cukup untuk mengekstrak nilai RFM.
  • ML. Model ini merupakan kelas model statistik yang luas dan banyak digunakan, yang parameternya disesuaikan dengan data melalui pelatihan menggunakan penurunan gradien stokastik. model ML bisa memanfaatkan lebih banyak fitur daripada model probabilistik. Dalam seri ini, kami menggunakan model jaringan neural dalam (DNN), kelas model ML yang populer. Kami juga menunjukkan cara menggunakan AutoML Tables untuk membuat model ML secara otomatis.

Untuk model probabilistik, solusi ini menggunakan library Lifetimes yang sudah ada, yang mengandalkan DataFrames dengan Pandas. Anda berpotensi mem-build library yang setara di TensorFlow untuk melakukan tugas yang sama seperti library Lifetimes.

Model probabilistik

Model probabilistik menggunakan nilai RFM yang dihitung dari daftar transaksi pesanan. Setiap transaksi terdiri dari ID pelanggan, tanggal pesanan, dan nilai pesanan. Model yang berbeda cocok untuk memodelkan hubungan pelanggan yang berbeda. Bagian 2 dari seri artikel ini menunjukkan cara menggunakan model berikut yang tersedia di library Lifetimes:

  • Distribusi binomial pareto/negatif (NBD)
  • Beta geometri (BG/NBD)

Pareto/NBD

Model Pareto/NBD awalnya dikembangkan oleh Schmittlein et al. Model ini digunakan untuk situasi non-kontraktual di mana pelanggan dapat melakukan pembelian kapan saja. Dengan menggunakan empat parameter, ini menjelaskan tingkat pembelian pelanggan dan kecepatan mereka berhenti menjadi pelanggan bisnis. Anda menggunakan model dengan mengoptimalkan parameter untuk memberikan kecocokan terbaik dengan kumpulan data RFM.

BG/NBD

Model Pareto/NBD telah banyak digunakan, tetapi sulit untuk diterapkan, karena estimasi parameternya intens secara komputasi. Untuk mengatasi masalah ini, Fader dan Hardie mengembangkan model BG/NBD. Model BG/NBD, seperti model Pareto/NBD, digunakan untuk situasi non-kontraktual ketika pelanggan dapat melakukan pembelian kapan saja. Model BG/NBD juga menggunakan empat parameter untuk menjelaskan rasio pelanggan melakukan pembelian dan tingkat drop-down. Namun, model BG/NBD lebih mudah diterapkan daripada Pareto/NBD dan berjalan lebih cepat. Kedua model ini cenderung memberikan hasil yang serupa.

Menghitung CLV dengan model probabilistik

Menggunakan model probabilistik adalah proses multi-langkah. Kode dalam model ini akan menjalankan tugas-tugas berikut:

  1. Melakukan prapemrosesan data transaksi untuk menghitung nilai RFM.
  2. Menggunakan modul Lifetimes untuk mengoptimalkan parameter model yang sesuai, baik Pareto/NBD atau BG/NBD, agar sesuai dengan data RFM.
  3. Menghitung prediksi nilai uang untuk setiap pelanggan.

Membuat model untuk nilai uang adalah hal yang kompleks, karena banyak parameter, seperti harga produk yang berubah dari waktu ke waktu, tidak direpresentasikan oleh data transaksi saja. Metode probabilistik mengasumsikan bahwa nilai uang mengikuti distribusi gamma-gamma. Kode dari library Lifetimes menyertakan metode distribusi gamma-gamma yang dapat Anda gunakan untuk menghitung CLV dengan mempertimbangkan model probabilistik yang sesuai. Anda akan mempelajari lebih lanjut cara menggunakan library Lifetime untuk membuat prediksi CLV di Bagian 2 dari seri ini.

Model machine learning

Model ML mewakili alternatif yang baik untuk model probabilistik. Artikel-artikel ini membahas penggunaan DNN, yang Anda implementasikan di TensorFlow menggunakan antarmuka Estimator.

Solusi ini menggunakan dua teknik untuk meningkatkan performa DNN:

  • Normalisasi batch, yang memiliki manfaat berikut:

    • Menormalisasi dan mendekorasi cara menghubungkan nilai numerik dalam fitur. Karena normalisasi batch melakukan langkah ini, Anda tidak perlu melakukannya sendiri.
    • Fitur ini meminimalkan dampak perubahan bobot dari waktu ke waktu, yang memengaruhi nilai penting setiap fitur.
  • Peluruhan kecepatan pembelajaran saat kecepatan pemelajaran menurun secara eksponensial dari waktu ke waktu, membantu mencegah osilasi kehilangan saat kecepatan pemelajaran mendekati minimum.

Kumpulan artikel ini menunjukkan dua implementasi DNN di TensorFlow:

  1. Canned Estimator DNN. TensorFlow menyertakan model DNN yang telah diimplementasikan sebelumnya yang sesuai dengan antarmuka Estimator. Kode contoh untuk seri ini menyertakan model berdasarkan DNNRegressor yang telah diimplementasikan.
  2. DNN Estimator Khusus. Anda mendapatkan peningkatan fleksibilitas untuk menyertakan teknik lanjutan dalam model menggunakan Estimator kustom. Implementasi Estimator kustom dalam kode contoh menggambarkan fleksibilitas ini dengan menyertakan peluruhan kecepatan pembelajaran dan normalisasi batch.

Salah satu keuntungan DNN adalah dapat menggabungkan banyak fitur. Akibatnya, kualitasnya sering kali bergantung pada rekayasa fitur. Bagian persiapan data di Bagian 2 dalam seri ini menjelaskan cara membuat fitur dari input yang tersedia untuk set data yang berpotensi besar.

Langkah selanjutnya

Baca bagian berikutnya dari rangkaian ini, yang menjelaskan cara menerapkan prediksi CLV: