Buka konsol

Membuat Eksperimen Firebase Remote Config dengan Pengujian A/B

Saat Anda memperbarui aplikasi dan menggunakan Firebase Remote Config untuk mengarahkannya ke aplikasi yang memiliki basis pengguna aktif, pastikan agar prosesnya berjalan dengan baik. Berikut ini penjelasan yang dapat membantu Anda memahami beberapa hal:

  • Cara terbaik menerapkan fitur untuk mengoptimalkan pengalaman pengguna. Sering kali, developer aplikasi tidak mengetahui bahwa pengguna tidak menyukai fitur baru atau pengalaman pengguna yang diupdate hingga rating aplikasi mereka turun di app store. Pengujian A/B dapat membantu mengukur apakah pengguna menyukai varian fitur yang baru, atau apakah mereka menyukai aplikasi yang ada saat ini. Selain itu, dengan tetap mempertahankan sebagian besar pengguna Anda dalam grup kontrol, dapat dipastikan bahwa sebagian besar basis pengguna dapat terus menggunakan aplikasi Anda tanpa mengalami perubahan perilaku atau tampilannya hingga eksperimen selesai.
  • Cara terbaik untuk mengoptimalkan pengalaman pengguna dengan tujuan bisnis. Terkadang Anda menerapkan perubahan produk untuk memaksimalkan metrik, misalnya pendapatan atau retensi. Dengan pengujian A/B, Anda menetapkan tujuan bisnis Anda dan Firebase melakukan analisis statistik untuk menentukan apakah suatu varian mendominasi grup kontrol untuk tujuan yang dipilih.

Untuk melakukan pengujian A/B pada dua varian fitur dengan grup kontrol, lakukan hal berikut:

  1. Buat eksperimen.
  2. Validasi eksperimen di perangkat uji.
  3. Kelola eksperimen.

Membuat eksperimen

Eksperimen Remote Config dapat Anda gunakan untuk mengevaluasi beberapa varian pada satu atau beberapa parameter Remote Config.

  1. Login ke Firebase, update Setelan berbagi data dan pastikan fitur berbagi data sudah aktif. Tanpa berbagi data, eksperimen Anda tidak akan memiliki akses ke data analisis.
  2. Di menu navigasi Firebase console, luaskan Grow, lalu klik Pengujian A/B.
  3. Klik Buat eksperimen, lalu pilih Remote Config saat diminta untuk layanan yang ingin Anda gunakan dalam eksperimen.
  4. Masukkan Nama dan Deskripsi opsional untuk eksperimen Anda dan klik Berikutnya.
  5. Isi kolom Penargetan, pertama-tama dengan memilih aplikasi yang menggunakan eksperimen Anda. Anda juga dapat menargetkan subkumpulan pengguna untuk disertakan dalam eksperimen dengan memilih satu atau beberapa opsi berikut:

    • Versi: Satu atau beberapa versi aplikasi Anda
    • Audience pengguna: Audience Analytics yang digunakan untuk menargetkan pengguna yang mungkin disertakan dalam eksperimen
    • Properti pengguna: Satu atau beberapa properti pengguna Analytics untuk memilih pengguna yang mungkin disertakan dalam eksperimen
    • Prediksi: Grup pengguna yang diprediksi oleh machine learning untuk melakukan perilaku tertentu
    • Negara/Wilayah: Satu atau beberapa negara atau wilayah untuk memilih pengguna yang mungkin disertakan dalam eksperimen.
    • Bahasa perangkat: Satu atau beberapa bahasa dan lokal yang digunakan untuk memilih pengguna yang mungkin disertakan dalam eksperimen
  6. Tetapkan Persentase pengguna target: Masukkan persentase basis pengguna aplikasi Anda, yang cocok dengan kriteria yang ditetapkan dalam Pengguna target, yang ingin Anda bagi secara merata antara grup kontrol dan satu atau beberapa varian dalam eksperimen. Rentang persentase ini bisa antara 0,01% dan 100%. Pengguna secara acak ditetapkan untuk setiap eksperimen, termasuk eksperimen duplikat.

  7. (Opsional) Setel peristiwa aktivasi untuk memastikan bahwa hanya pengguna yang pertama kali memicu beberapa peristiwa Analytics yang dihitung di eksperimen, lalu klik Berikutnya.

  8. Untuk Sasaran eksperimen, pilih metrik utama yang akan dilacak dan tambahkan metrik tambahan yang diinginkan dari daftar drop-down. Hal ini termasuk tujuan bawaan (interaksi, pembelian, pendapatan, retensi, dll.), peristiwa konversi Analytics, dan peristiwa Analytics lainnya. Setelah selesai, klik Berikutnya.

  9. Di bagian Varian, Anda akan memilih grup kontrol dan setidaknya satu varian untuk eksperimen tersebut. Gunakan daftar Pilih atau buat baru untuk menambahkan satu atau beberapa parameter yang akan digunakan untuk eksperimen. Anda dapat membuat parameter yang belum pernah digunakan sebelumnya di Firebase console, tetapi harus ada di aplikasi agar ada dampaknya. Anda dapat mengulangi langkah ini untuk menambahkan beberapa parameter pada eksperimen.

    Untuk setiap varian, Anda memiliki opsi untuk menambahkan penargetan tingkat varian yang dipilih dari opsi daftar penargetan yang sama yang tersedia di tingkat eksperimen—Versi, Audiens pengguna, Properti pengguna, Prediksi, Negara/Wilayah, dan Bahasa perangkat.

  10. (Opsional) Untuk menambahkan lebih dari satu varian pada eksperimen Anda, klik Tambahkan varian lain.

  11. Ubah satu atau beberapa parameter untuk varian tertentu. Parameter yang tidak berubah sama dengan parameter untuk pengguna yang tidak disertakan dalam eksperimen.

  12. Klik Tinjau untuk menyimpan eksperimen Anda.

Memvalidasi eksperimen pada perangkat uji

Setiap instalasi aplikasi Firebase memiliki token ID instance (atau token pendaftaran) yang terkait dengannya. Anda dapat menggunakan token ini untuk menguji varian eksperimen tertentu pada perangkat uji tempat aplikasi Anda terinstal. Untuk memvalidasi eksperimen di perangkat uji, lakukan langkah berikut:

  1. Dapatkan token ID instance sebagai berikut:

    Swift

    InstanceID.instanceID().instanceID { (result, error) in
      if let error = error {
        print("Error fetching remote instance ID: \(error)")
      } else if let result = result {
        print("Remote instance ID token: \(result.token)")
        self.instanceIDTokenMessage.text  = "Remote InstanceID token: \(result.token)"
      }
    }

    Objective-C

    [[FIRInstanceID instanceID] instanceIDWithHandler:^(FIRInstanceIDResult * _Nullable result,
                                                        NSError * _Nullable error) {
      if (error != nil) {
        NSLog(@"Error fetching remote instance ID: %@", error);
      } else {
        NSLog(@"Remote instance ID token: %@", result.token);
        NSString* message =
          [NSString stringWithFormat:@"Remote InstanceID token: %@", result.token];
        self.instanceIDTokenMessage.text = message;
      }
    }];

    Java

    FirebaseInstanceId.getInstance().getInstanceId()
            .addOnCompleteListener(new OnCompleteListener<InstanceIdResult>() {
                @Override
                public void onComplete(@NonNull Task<InstanceIdResult> task) {
                    Log.d("IID_TOKEN", task.getResult().getToken());
                }
            });

    Kotlin

    FirebaseInstanceId.getInstance().instanceId
            .addOnSuccessListener { result ->
                Log.d("IID_TOKEN", result.token)
            }

    C++

    firebase::InitResult init_result;
    auto* instance_id_object = firebase::instance_id::InstanceId::GetInstanceId(
        firebase::App::GetInstance(), &init_result);
    instance_id_object->GetToken().OnCompletion(
        [](const firebase::Future<std::string>& future) {
          if (future.status() == kFutureStatusComplete &&
              future.error() == firebase::instance_id::kErrorNone) {
            printf("Instance ID Token %s\n", future.result()->c_str());
          }
        });
    

    Unity

    Firebase.InstanceId.FirebaseInstanceId.DefaultInstance.GetTokenAsync().ContinueWith(
      task => {
        if (!(task.IsCanceled || task.IsFaulted) && task.IsCompleted) {
          UnityEngine.Debug.Log(System.String.Format("Instance ID Token {0}", task.Result));
        }
      });
    
  2. Di menu navigasi Firebase console, klik Remote Config atau Notifications, lalu klik Pengujian A/B.
  3. Klik Draf, lalu klik judul eksperimen.
  4. Klik Kelola perangkat uji, lalu masukkan token ID instance untuk perangkat uji dan pilih varian eksperimen untuk dikirim ke perangkat uji tersebut.
  5. Jalankan aplikasi dan pastikan varian yang dipilih diterima di perangkat uji.

Untuk mempelajari token ID instance lebih lanjut, baca bagian FIRInstanceID (iOS) atau FirebaseInstanceId (Android).

Mengelola eksperimen

Baik membuat eksperimen dengan Remote Config maupun Notifications Composer, Anda dapat memvalidasi dan memulai eksperimen, memantau eksperimen saat sedang berjalan, dan menambah jumlah pengguna yang disertakan dalam eksperimen yang sedang berjalan.

Saat eksperimen selesai, Anda dapat mencatat setelan yang digunakan oleh varian dominan, lalu menerapkan setelan tersebut ke semua pengguna. Atau, Anda dapat menjalankan eksperimen lain.

Memulai eksperimen

  1. Di menu navigasi Firebase console, luaskan Grow, lalu klik Pengujian A/B.
  2. Klik Draf, lalu klik judul eksperimen.
  3. Untuk memvalidasi bahwa aplikasi Anda memiliki pengguna yang akan disertakan ke dalam eksperimen, periksa jumlah yang lebih besar dari 0% di bagian Penargetan dan distribusi (misalnya, 1% pengguna yang cocok dengan kriteria).
  4. Untuk mengubah eksperimen, klik Edit.
  5. Untuk memulai eksperimen, klik Mulai Eksperimen. Anda dapat menjalankan hingga 24 eksperimen per project sekaligus.

Memantau eksperimen

Setelah eksperimen berjalan beberapa lama, Anda dapat memeriksa kemajuannya dan melihat seperti apa hasilnya bagi pengguna yang mengikuti eksperimen Anda sejauh ini.

  1. Di menu navigasi Firebase console, klik Grow, lalu klik Pengujian A/B.
  2. Klik Berjalan, lalu klik judul eksperimen. Di halaman ini, Anda dapat melihat berbagai statistik yang terkait dengan eksperimen Anda yang sedang berjalan, termasuk metrik sasaran dan metrik lainnnya. Untuk setiap metrik, tersedia informasi berikut:

    • Penyempurnaan: Ukuran peningkatan metrik untuk varian tertentu dibandingkan dengan suatu tolok ukur (atau grup kontrol). Dihitung dengan membandingkan rentang nilai untuk varian dengan rentang nilai untuk tolok ukur.
    • Kemungkinan memiliki performa lebih baik dari tolok ukur: Perkiraan kemungkinan bahwa varian tertentu akan lebih baik daripada tolok ukur untuk metrik yang dipilih.
    • Kemungkinan untuk menjadi varian terbaik: Perkiraan kemungkinan bahwa varian tertentu akan lebih baik daripada varian lain untuk metrik yang dipilih.
    • Nilai per pengguna: Didasarkan pada hasil eksperimen, ini adalah rentang perkiraan di mana nilai metrik akan berada sepanjang waktu.
    • Nilai total: Nilai kumulatif yang diamati untuk grup kontrol atau varian. Nilai ini digunakan untuk mengukur performa setiap varian eksperimen dan untuk menghitung Penyempurnaan, Rentang nilai, Kemungkinan memiliki performa lebih baik dari tolok ukur, dan Kemungkinan untuk menjadi varian terbaik. Bergantung pada metrik yang diukur, kolom ini mungkin diberi label "Durasi per pengguna", "Rasio retensi", atau "Rasio konversi".
  3. Untuk menambah jumlah pengguna yang disertakan dalam eksperimen, klik Tingkatkan Distribusi, lalu pilih peningkatan persentase untuk menambahkan lebih banyak pengguna valid ke eksperimen tersebut.

  4. Setelah eksperimen Anda berjalan untuk sementara waktu (setidaknya 24 jam), data pada halaman ini menunjukkan varian mana, jika ada, yang merupakan varian "unggulan". Beberapa pengukuran disertai dengan diagram batang yang menyajikan data dalam format visual.

Meluncurkan eksperimen ke semua pengguna

Setelah eksperimen berjalan cukup lama sehingga muncul varian "unggulan", atau varian dominan, untuk metrik sasaran, Anda dapat meluncurkan eksperimen ke 100% pengguna. Dengan demikian, Anda dapat memilih nilai untuk dipublikasikan di Remote Config bagi semua pengguna ke depannya. Meskipun eksperimen Anda belum menghasilkan varian dominan, Anda tetap dapat memilih untuk meluncurkan satu varian ke semua pengguna.

  1. Di menu navigasi Firebase console, klik Grow, lalu klik Pengujian A/B.
  2. Klik Selesai atau Berjalan, klik eksperimen yang ingin diluncurkan ke semua pengguna, klik menu konteks (more_vert), lalu klik Luncurkan varian.
  3. Luncurkan eksperimen Anda ke semua pengguna dengan melakukan salah satu hal berikut:

    • Untuk eksperimen yang menggunakan Notifications Composer, gunakan dialog Luncurkan pesan untuk mengirim pesan ke pengguna target lain yang bukan merupakan bagian eksperimen.
    • Untuk eksperimen Remote Config, gunakan dialog tersebut untuk menentukan nilai parameter Remote Config yang akan diubah untuk semua pengguna.

Memperluas eksperimen

Jika eksperimen Anda tidak melibatkan cukup pengguna untuk Pengujian A/B agar bisa mengumumkan varian dominan, Anda dapat meningkatkan distribusi eksperimen untuk menjangkau persentase basis pengguna aplikasi yang lebih besar.

  1. Di menu navigasi Firebase console, klik Grow, lalu klik Pengujian A/B.
  2. Klik Berjalan, arahkan kursor ke eksperimen, klik menu konteks (more_vert), lalu klik Tingkatkan Distribusi.
  3. Konsol akan menampilkan dialog dengan opsi untuk meningkatkan persentase pengguna, yang saat ini disertakan dalam eksperimen yang sedang berjalan. Masukkan angka yang lebih besar daripada persentase saat ini, lalu klik Kirim. Eksperimen akan dikirim ke pengguna sesuai persentase yang Anda tentukan.

Menduplikasi atau menghentikan eksperimen

  1. Di menu navigasi Firebase console, klik Grow, lalu klik Pengujian A/B.
  2. Klik Selesai atau Berjalan, arahkan kursor ke eksperimen, klik menu konteks (more_vert), lalu klik Duplikasi atau Hentikan.

Penargetan pengguna

Anda bisa menargetkan pengguna untuk disertakan dalam eksperimen Anda menggunakan kriteria penargetan pengguna berikut.

Kriteria penargetan Operator    Nilai Catatan
Versi berisi,
tidak berisi,
sama persis,
berisi ekspresi reguler
Masukkan nilai untuk satu atau beberapa versi aplikasi yang ingin Anda sertakan dalam eksperimen.

Jika menggunakan salah satu dari operator berisi, tidak berisi, atau sama persis, Anda dapat memasukkan beberapa nilai yang dipisahkan dengan koma.

Jika menggunakan operator berisi ekspresi reguler, Anda dapat membuat ekspresi reguler dalam format RE2. Ekspresi reguler Anda dapat cocok dengan semua atau sebagian dari string versi target. Anda juga dapat menggunakan tanda ^ dan $ untuk mencocokkan bagian awal, akhir, atau keseluruhan string target.

Audience pengguna mencakup semua dari,
mencakup setidaknya salah satu dari,
tidak mencakup semua dari,
tidak mencakup setidaknya salah satu dari
Pilih satu atau beberapa audience Analytics untuk pengguna target yang mungkin disertakan dalam eksperimen Anda.  
Properti pengguna Untuk teks:
berisi,
tidak berisi,
sama persis,
berisi ekspresi reguler

Untuk angka:
<, ≤, =, ≥, >
Properti pengguna Analytics digunakan untuk memilih pengguna yang mungkin disertakan dalam eksperimen, dengan serangkaian opsi untuk memilih nilai properti pengguna.

Di klien yang digunakan, Anda dapat menetapkan hanya nilai string untuk properti pengguna. Untuk condition yang menggunakan operator numerik, layanan Remote Config akan mengonversi nilai properti pengguna yang terkait menjadi bilangan bulat/float.
Jika menggunakan operator berisi ekspresi reguler, Anda dapat membuat ekspresi reguler dalam format RE2. Ekspresi reguler Anda dapat cocok dengan semua atau sebagian dari string versi target. Anda juga dapat menggunakan tanda ^ dan $ untuk mencocokkan bagian awal, akhir, atau keseluruhan string target.
Prediksi T/A Targetkan grup pengguna yang ditetapkan oleh Firebase Predictions—misalnya, pengguna yang mungkin akan berhenti menggunakan aplikasi Anda, atau pengguna yang mungkin akan melakukan pembelian dalam aplikasi. Pilih salah satu nilai yang ditentukan oleh fitur Firebase Predictions. Jika tidak ada opsi yang tersedia, Anda mungkin perlu menggunakan Firebase Predictions dengan membuka bagian Predictions pada Firebase console.  
Negara perangkat T/A Satu atau beberapa negara atau wilayah yang digunakan untuk memilih pengguna yang mungkin disertakan dalam eksperimen.  
Bahasa perangkat T/A Satu atau beberapa bahasa dan lokal yang digunakan untuk memilih pengguna yang mungkin disertakan dalam eksperimen. Kriteria penargetan ini hanya tersedia untuk Remote Config.

Penargetan tingkat-varian

Pengujian A/B dengan Remote Config menyediakan kemampuan tambahan untuk kasus penggunaan lanjutan: penargetan tingkat varian. Dengan fitur ini, Anda bisa membatasi aplikasi konfigurasi untuk sebagian pengguna dalam satu varian. Ini memungkinkan untuk menguji bagaimana skema penargetan yang berbeda berpengaruh terhadap metrik utama. Konfigurasi yang ditentukan untuk varian hanya diterapkan untuk pengguna yang memenuhi dengan baik kondisi penargetan level eksperimen dan kondisi penargetan tingkat varian; pengguna yang tersisa di varian tersebut menerima konfigurasi default. Penting dicatat bahwa metrik dihitung untuk semua pengguna dalam varian tersebut, baik memenuhi kondisi penargetan tingkat-varian maupun tidak, untuk menghindari bias pemilihan.

Misalnya, eksperimen strategi monetisasi ini memanfaatkan Firebase Predictions untuk menargetkan pengguna di tingkat varian. Seperti yang ditunjukkan pada contoh, penargetan tingkat varian dikonfigurasikan dalam prosedur untuk membuat eksperimen.

Metrik Pengujian A/B

Saat Anda membuat eksperimen, Anda memilih metrik yang digunakan untuk membandingkan varian eksperimen. Anda juga dapat memilih metrik lain untuk dilacak guna membantu Anda agar lebih memahami setiap varian eksperimen dan mendeteksi efek samping yang signifikan (seperti kerusakan aplikasi). Tabel berikut memberikan detail tentang cara perhitungan metrik sasaran dan metrik lainnya.

Metrik sasaran

Metrik Deskripsi
Interaksi pengguna tiap hari Jumlah pengguna yang menjalankan aplikasi Anda di latar depan dengan cukup lama setiap harinya untuk memicu peristiwa Analytics user_engagement.
Retensi (1 hari) Jumlah pengguna yang kembali ke aplikasi Anda setiap harinya.
Retensi (2-3 hari) Jumlah pengguna yang kembali ke aplikasi Anda dalam 2-3 hari.
Retensi (4-7 hari) Jumlah pengguna yang kembali ke aplikasi Anda dalam 4-7 hari.
Retensi (8-14 hari) Jumlah pengguna yang kembali ke aplikasi Anda dalam 8-14 hari.
Retensi (15+ hari) Jumlah pengguna yang kembali ke aplikasi Anda dalam 15 hari atau lebih sejak terakhir menggunakannya.
Notifikasi terbuka Melacak apakah pengguna membuka notifikasi yang dikirim Notifications Composer.
Pendapatan pembelian Nilai gabungan untuk semua peristiwa ecommerce_purchase dan in_app_purchase.
Estimasi pendapatan AdMob Estimasi pendapatan dari AdMob.
Estimasi pendapatan total Nilai gabungan untuk pembelian dan estimasi pendapatan AdMob.
first_open Peristiwa Analytics yang terpicu saat pengguna pertama kali membuka aplikasi setelah menginstal atau menginstal ulang. Digunakan sebagai bagian dari funnel konversi.
notification_open Peristiwa Analytics yang terpicu saat pengguna membuka notifikasi yang dikirim Notifications Composer. Digunakan sebagai bagian dari funnel konversi.

Metrik lainnya

Metrik Deskripsi
Pengguna bebas error Persentase pengguna yang tidak mengalami error di aplikasi Anda yang terdeteksi Firebase Crash Reporting SDK selama eksperimen. Untuk mempelajari lebih lanjut, lihat Metrik Pengguna Tanpa Kejadian Error.
notification_dismiss Peristiwa Analytics yang terpicu saat notifikasi yang dikirim Notifications Composer ditolak (khusus Android).
notification_receive Peristiwa Analytics yang terpicu saat notifikasi yang dikirim Notifications Composer diterima saat aplikasi berada di background (khusus Android).
os_update Peristiwa Analytics yang dilacak saat sistem operasi perangkat diupdate ke versi baru.Untuk mempelajari lebih lanjut, lihat Peristiwa yang dikumpulkan secara otomatis.
screen_view Peristiwa Analytics yang melacak layar yang ditampilkan dalam aplikasi Anda. Untuk mempelajari lebih lanjut, lihat Melacak Tampilan Layar.
session_start Peristiwa Analytics yang menghitung sesi pengguna di aplikasi Anda. Untuk mempelajari lebih lanjut, lihat Peristiwa yang dikumpulkan secara otomatis.
user_engagement Peristiwa Analytics yang terpicu secara berkala saat aplikasi Anda ada di latar depan. Untuk mempelajari lebih lanjut, lihat Peristiwa yang dikumpulkan secara otomatis.

Ekspor data BigQuery

Anda dapat mengakses semua data analisis yang terkait dengan pengujian A/B Anda di BigQuery. Dengan BigQuery, Anda dapat menganalisis data menggunakan BigQuery SQL, mengekspornya ke penyedia cloud lain, atau menggunakan data tersebut untuk model ML kustom Anda. Lihat Menautkan BigQuery ke Firebase untuk mengetahui informasi lebih lanjut.

Untuk memulai, pastikan project Firebase Anda sudah ditautkan ke BigQuery. Pilih Setelan > Setelan Project dari menu navigasi sebelah kiri, lalu pilih Integrasi > BigQuery > Tautkan. Halaman ini menampilkan opsi untuk melakukan ekspor data analisis BiqQuery untuk semua aplikasi dalam project tersebut.

Untuk kueri data analisis dalam konteks eksperimen, Anda dapat membuka halaman hasil eksperimen dan memilih Lihat di BigQuery. Langkah ini akan membuka komposer kueri konsol BigQuery dengan kueri contoh data eksperimen yang sudah dimuat sebelumnya untuk ulasan Anda. Perhatikan bahwa karena data Firebase di BigQuery hanya diupdate sekali sehari, data yang tersedia di halaman eksperimen mungkin lebih baru daripada data yang tersedia di konsol BigQuery.