Memprediksi Nilai Umur Pelanggan dengan AI Platform: pengantar

Last reviewed 2019-02-06 UTC

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

Artikel dalam seri ini mencakup hal berikut:

Ringkasan

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

Tujuan seri ini adalah sebagai berikut:

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

Solusi ini membandingkan dua pendekatan berbeda untuk pemodelan CLV: model probabilistik dan model machine learning (ML). Contoh ini memberikan implementasi 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 berikut tentang pelanggan:

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

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

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

Seri ini berfokus pada masalah pertama.

Banyak perusahaan memprediksi CLV hanya dengan melihat total jumlah uang penjualan, tanpa memahami konteksnya. Misalnya, pelanggan yang melakukan satu pesanan besar mungkin kurang bernilai daripada 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 dengan lebih akurat.

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

  • Tentukan jumlah investasi untuk iklan.
  • Tentukan pelanggan yang akan ditargetkan dengan iklan.
  • Rencanakan cara memindahkan pelanggan dari satu segmen ke segmen lain.

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. Model dalam seri ini justru menganggap bahwa pengguna berinteraksi dengan bisnis sesuka hati, seperti di toko e-commerce tempat pengguna dapat melakukan pembelian kapan saja. Selain itu, model yang dijelaskan dalam rangkaian ini paling baik diterapkan untuk memprediksi nilai mendatang bagi pelanggan lama yang memiliki setidaknya jumlah histori transaksi yang sedang.

Konsep CLV: RFM

Tiga input penting dalam model CLV adalah keaktualan, frekuensi, dan nilai moneter:

  • Keaktualan: Kapan terakhir kali pelanggan melakukan pemesanan?
  • Frekuensi: Seberapa sering mereka membeli?
  • Uang: Berapa jumlah yang mereka belanjakan?

Diagram berikut menunjukkan urutan penjualan sebelumnya untuk sekumpulan empat pelanggan.

Histori penjualan untuk 4 pelanggan

Diagram ini mengilustrasikan nilai RFM untuk pelanggan, yang menunjukkan untuk setiap pelanggan:

  • Keaktualan: Waktu antara pembelian terakhir dan hari ini, yang diwakili oleh jarak antara lingkaran paling kanan dan garis putus-putus vertikal yang berlabel Sekarang.
  • Frekuensi: Waktu antara pembelian, yang diwakili oleh jarak antara lingkaran pada satu baris.
  • Moneter: 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 yang telah disebutkan sebelumnya, rangkaian artikel ini membandingkan dua pendekatan untuk menghitung CLV:

  • Model probabilistik. Model ini berfungsi dengan menyesuaikan distribusi probabilitas ke nilai RFM yang diamati untuk pelanggan. Model ini berdasarkan perilaku pembelian yang ditentukan oleh histori transaksi untuk setiap pelanggan. Data tersebut cukup untuk mengekstrak nilai RFM.
  • canggih milik Google. Model ini adalah class model statistik yang luas dan banyak digunakan dengan parameter yang disesuaikan dengan data melalui pelatihan dengan gradien menurun stokastik. Model ML dapat menggunakan lebih banyak fitur daripada model probabilistik. Dalam seri ini, kita menggunakan model jaringan neural dalam (DNN), class model ML yang populer. Kami juga menunjukkan cara menggunakan Tabel AutoML untuk membuat model ML secara otomatis.

Untuk model probabilistik, solusi ini menggunakan library Lifetimes yang ada dan bergantung pada DataFrame dengan Pandas. Anda berpotensi mem-build library yang setara di TensorFlow untuk melakukan tugas yang sama dengan 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 sesuai untuk membuat model hubungan pelanggan yang berbeda. Bagian 2 dari rangkaian artikel ini menunjukkan cara menggunakan model berikut yang tersedia di library Lifetimes:

  • Distribusi Pareto/binomial negatif (NBD)
  • Beta-geometris (BG/NBD)

Pareto/NBD

Model Pareto/NBD awalnya dikembangkan oleh Schmittlein et al. Model ini digunakan untuk situasi non-kontraktual saat pelanggan dapat melakukan pembelian kapan saja. Dengan menggunakan empat parameter, metrik ini menjelaskan tingkat pembelian pelanggan dan tingkat 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 diterapkan, karena estimasi parameter memerlukan banyak komputasi. Untuk mengatasi masalah ini, Fader dan Hardie mengembangkan model BG/NBD. Model BG/NBD, seperti model Pareto/NBD, digunakan untuk situasi non-kontraktual saat pelanggan dapat melakukan pembelian kapan saja. Model BG/NBD juga menggunakan empat parameter untuk mendeskripsikan frekuensi pelanggan melakukan pembelian dan frekuensi mereka berhenti. Namun, model BG/NBD lebih mudah diimplementasikan daripada Pareto/NBD dan berjalan lebih cepat. Kedua model cenderung memberikan hasil yang serupa.

Menghitung CLV dengan model probabilistik

Menggunakan model probabilistik adalah proses multilangkah. Kode dalam model melakukan tugas berikut:

  1. Memproses data transaksi terlebih dahulu untuk menghitung nilai RFM.
  2. Menggunakan modul Lifetimes untuk mengoptimalkan parameter model yang sesuai, baik Pareto/NBD maupun BG/NBD, agar sesuai dengan data RFM.
  3. Menghitung nilai uang yang diprediksi untuk setiap pelanggan.

Membuat model untuk nilai moneter itu rumit, 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 model probabilistik yang disesuaikan. Anda akan mempelajari lebih lanjut cara menggunakan library Lifetimes untuk membuat prediksi CLV di Bagian 2 seri ini.

Model machine learning

Model ML merupakan alternatif yang baik untuk model probabilistik. Artikel ini membahas penggunaan DNN, yang Anda terapkan di TensorFlow menggunakan antarmuka Estimator.

Solusi ini menggunakan dua teknik untuk meningkatkan performa DNN:

  • Normalisasi batch, yang memiliki manfaat berikut:

    • Metode ini menormalisasi dan mendekorelasikan nilai numerik dalam fitur. Karena normalisasi batch melakukan langkah ini, Anda tidak perlu melakukannya sendiri.
    • Hal ini meminimalkan dampak perubahan bobot dari waktu ke waktu, yang memengaruhi tingkat kepentingan setiap fitur.
  • Peluruhan laju belajar dengan laju belajar menurun secara eksponensial dari waktu ke waktu, membantu mencegah osilasi dalam kerugian saat laju belajar mendekati minimum.

Rangkaian artikel ini menunjukkan dua implementasi DNN di TensorFlow:

  1. DNN Estimator Standar. TensorFlow menyertakan model DNN yang telah diimplementasikan sebelumnya dan sesuai dengan antarmuka Estimator. Kode contoh untuk seri ini menyertakan model berdasarkan DNNRegressor yang telah diimplementasikan sebelumnya.
  2. DNN Estimator Kustom. Anda mendapatkan fleksibilitas yang lebih besar untuk menyertakan teknik lanjutan dalam model dengan menggunakan Estimator kustom. Implementasi Estimator kustom dalam kode contoh mengilustrasikan fleksibilitas ini dengan menggabungkan deret menurun tingkat belajar dan normalisasi batch.

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

Langkah selanjutnya

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