Buka konsol

Bereksperimen dengan strategi retensi pengguna menggunakan Firebase Predictions

Anda dapat menggunakan Firebase Predictions untuk mengidentifikasi pengguna yang mungkin akan berhenti menggunakan aplikasi Anda, dan menerapkan strategi retensi pengguna kepada pengguna tersebut. Misalnya, jika memiliki game seluler, Anda dapat memberikan hadiah berupa uang dalam game kepada pengguna yang diprediksi akan berhenti menggunakan game Anda.

Panduan ini berisi penjelasan mengenai cara menerapkan jenis strategi retensi pengguna berbasis prediksi, dan cara membuat eksperimen Pengujian A/B Firebase. Tujuannya adalah menentukan keefektifan strategi ini dibandingkan dengan tidak memberikan hadiah apa pun.

Sebelum memulai

Sebelum mulai menggunakan Predictions untuk menentukan kebijakan retensi pengguna aplikasi, Anda harus menggunakan Google Analytics for Firebase dalam aplikasi tersebut. Secara khusus, Anda harus:

  • Mengaktifkan fitur berbagi data Analytics di Firebase console.
  • Melakukan pencatatan ke dalam log secara tegas atas setiap peristiwa Analytics yang relevan dengan aplikasi yang tidak tercatat secara otomatis ke dalam log. Dengan mencatat peristiwa ini ke dalam log, Anda dapat meningkatkan kualitas klasifikasi di masa mendatang.
  • Memiliki volume data peristiwa yang memadai agar Firebase mampu memberikan prediksi yang berguna. Umumnya, data berupa 10.000 pengguna aktif bulanan, 500 contoh positif, dan 500 contoh negatif sudah mencukupi untuk Firebase Predictions.

Membuat kebijakan hadiah Anda dapat dikonfigurasi dari jarak jauh

Pertama-tama, siapkan aplikasi Anda untuk memberikan hadiah kepada pemain, bergantung pada nilai parameter Remote Config. Karena Anda hanya ingin memberikan hadiah ini satu kali, lacak apakah seorang pemain telah menerima hadiah atau belum.

Dalam langkah-langkah selanjutnya, Anda akan mengonfigurasi Predictions dan Pengujian A/B untuk menetapkan parameter dari jarak jauh berdasarkan berbagai kriteria. Namun untuk saat ini, aplikasi Anda tidak akan memberikan hadiah apa pun.

Misalnya:

  1. Impor Analytics SDK dan Remote Config SDK:

    iOS (Swift)

    Tambahkan SDK ke Podfile Anda:

    pod 'Firebase/Analytics'
    pod 'Firebase/RemoteConfig'
    

    Lalu, impor SDK tersebut:

    import Firebase
    

    Android

    implementation 'com.google.firebase:firebase-core:16.0.9'
    implementation 'com.google.firebase:firebase-config:17.0.0'
    
  2. Lakukan inisialisasi Remote Config dan tetapkan nilai default variabel grant_retention_gift ke false. Kemudian, Anda akan menyiapkan Predictions dan Pengujian A/B untuk menetapkan variabel ini dari jarak jauh. Namun, dengan menetapkan nilai default di aplikasi, Anda memastikan aplikasi tersebut berfungsi dengan benar sebelum variabel yang dikonfigurasi dari jarak jauh diambil.

    iOS (Swift)

    self.remoteConfig = RemoteConfig.remoteConfig()
    self.remoteConfig.setDefaults(["grant_retention_gift": false])
    
    // ...
    
    self.remoteConfig.fetch() { (status, error) -> Void in
        if status == .success {
          self.remoteConfig.activateFetched()
        }
    
        // Act on the retrieved parameters. For example, grant the retention gift to
        // players who haven't yet received one.
        let shouldGrantGift = self.remoteConfig["grant_retention_gift"].booleanValue
        if shouldGrantGift && !playerAlreadyReceivedGift() {
            grantGiftToPlayer()
        }
    }
    

    Java

    final FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance();
    
    Map<String, Object> remoteConfigDefaults = new HashMap<>();
    remoteConfigDefaults.put("grant_retention_gift", false);
    config.setDefaults(remoteConfigDefaults);
    
    // ...
    
    config.fetch(CACHE_EXPIRATION)
            .addOnCompleteListener(this, new OnCompleteListener<Void>() {
                @Override
                public void onComplete(@NonNull Task<Void> task) {
                    if (task.isSuccessful()) {
                        config.activateFetched();
                    }
    
                    // Act on the retrieved parameters. For example, grant the
                    // retention gift to players who haven't yet received one.
                    boolean shouldGrantGift = config.getBoolean("grant_retention_gift");
                    if (shouldGrantGift && !playerAlreadyReceivedGift()) {
                        grantGiftToPlayer();
                    }
                }
            });

    Kotlin

    val config = FirebaseRemoteConfig.getInstance()
    
    val remoteConfigDefaults = HashMap<String, Any>()
    remoteConfigDefaults["grant_retention_gift"] = false
    config.setDefaults(remoteConfigDefaults)
    
    // ...
    
    config.fetch(CACHE_EXPIRATION)
            .addOnCompleteListener(this) { task ->
                if (task.isSuccessful) {
                    config.activateFetched()
                }
    
                // Act on the retrieved parameters. For example, grant the
                // retention gift to players who haven't yet received one.
                val shouldGrantGift = config.getBoolean("grant_retention_gift")
                if (shouldGrantGift && !playerAlreadyReceivedGift()) {
                    grantGiftToPlayer()
                }
            }

Pada tahap ini, Anda dapat menerapkan game Anda ke App Store atau Play Store. Untuk saat ini, pemain akan mendapatkan perilaku default, yaitu tidak menerima hadiah retensi. Namun, karena kebijakan hadiah dikontrol oleh variabel yang dapat dikonfigurasi dari jarak jauh, Anda dapat mengubah dan bereksperimen dengan strategi retensi hanya menggunakan Firebase console, tanpa harus mendorong pengguna untuk mengupdate aplikasi.

Memulai prediksi churn pengguna

Selanjutnya, siapkan project Firebase Anda untuk mulai memprediksi kapan pengguna mungkin berhenti menggunakan aplikasi:

Di Firebase console, buka bagian Predictions. Jika belum, setujui persyaratan layanan Predictions.

Setelah Anda menyetujui persyaratan layanan, Predictions akan diaktifkan untuk project Anda. Bagian Predictions pada Firebase console dapat digunakan untuk menetapkan prediksi kustom. Namun, untuk memprediksi churn, Anda dapat memanfaatkan prediksi bawaan, yang menggunakan agregasi peristiwa Analytics untuk memprediksi apakah pengguna akan berhenti menggunakan aplikasi Anda atau tidak. Prediksi ini akan tersedia setelah Anda mengaktifkan Predictions, dan mencatat beberapa peristiwa Analytics selama beberapa minggu ke dalam log.

Membuat eksperimen strategi retensi pengguna

Berikutnya, buat eksperimen Pengujian A/B untuk menguji keefektifan hadiah pada retensi pengguna:

Untuk membuat eksperimen:

  1. Di Firebase console, buka bagian Pengujian A/B.

  2. Buat eksperimen baru:

    1. Klik Buat eksperimen > Remote Config.

    2. Pilih aplikasi Anda dari daftar dan tentukan jumlah pengguna yang ingin Anda sertakan ke dalam eksperimen. Anda juga dapat memilih untuk mengecualikan kategori pengguna tertentu dari eksperimen ini, seperti pembeli terbanyak.

    3. Pilih Retensi (2-3 hari) dari daftar metrik sasaran, lalu pilih metrik tambahan yang ingin Anda lacak, seperti interaksi pengguna, penghapusan aplikasi, dan klik iklan.

    4. Tentukan dua variasi:

      • Tidak ada hadiah retensi (grup kontrol)
      • Berikan hadiah kepada pengguna yang diprediksi akan melakukan churn

      Untuk Grup kontrol, buat parameter grant_retention_gift lalu tetapkan menjadi (no change). Pengguna yang ditetapkan ke grup kontrol akan mendapatkan perilaku default, yaitu tidak menerima hadiah.

      Untuk variasi Berikan hadiah kepada pengguna yang diprediksi akan melakukan churn, tetapkan parameter grant_retention_gift menjadi true, lalu tetapkan subset pengguna menjadi Prediksi: churn (toleransi risiko sedang). Pengguna yang ditetapkan ke variasi ini akan mendapatkan hadiah jika diprediksi akan melakukan churn.

Mulai eksperimen dan biarkan berjalan selama beberapa hari, sampai Pengujian A/B menyatakan variasi dominan. Jika eksperimen tidak dapat menentukan variasi dominan, Anda mungkin perlu memperluas eksperimen ke lebih banyak pengguna.

Meluncurkan variasi dominan ke semua pengguna

Setelah Pengujian A/B mengumpulkan cukup informasi untuk menyatakan variasi dominan, dalam hal ini, variasi yang telah memaksimalkan retensi, Anda dapat memutuskan apakah akan meluncurkan variasi dominan (atau variasi lain) ke semua pengguna Anda.

Di bagian Pengujian A/B pada Firebase console, buka tampilan detail dari eksperimen yang telah diselesaikan. Dari tampilan ini, Anda dapat melihat performa setiap variasi menurut metrik sasaran Anda dan metrik sekunder apa pun yang Anda pilih. Dengan informasi ini, Anda dapat memutuskan apakah akan meluncurkan variasi dominan atau variasi lainnya.

Untuk meluncurkan variasi ke semua pengguna, klik more_vert > Luncurkan variasi dominan di halaman detail eksperimen.