OpenSearch menyediakan fitur Pengujian A/B untuk membantu Anda mengevaluasi dan men-debug berbagai algoritma. Sebelum menerapkan konfigurasi baru ke seluruh traffic online, Anda dapat menjalankan pengujian A/B untuk memvalidasi dampaknya terhadap sebagian kecil traffic. Hal ini mencegah perubahan yang belum diuji berdampak negatif pada layanan online Anda. Fitur Pengujian A/B memungkinkan Anda membuat pengujian untuk konfigurasi analisis query, pengurutan kasar, dan pengurutan presisi.
Penggunaan
1. Alur kerja dasar untuk mengonfigurasi Pengujian A/B
Untuk mendapatkan metrik pengujian yang lebih komprehensif, kami menyarankan mengaktifkan pengumpulan data klik sebelum mengonfigurasi Pengujian A/B. Jika Anda menggunakan fitur Pengujian A/B untuk pertama kalinya, ikuti langkah-langkah berikut untuk mengonfigurasi dan meluncurkan pengujian:
1. Mulai proses pembuatan pengujian:
Di Konsol OpenSearch, navigasikan ke Feature Extensions > A/B Test di panel navigasi kiri. Klik Create untuk mulai membuat Pengujian A/B.
2. Buat grup pengujian:
Grup pengujian memungkinkan Anda menjalankan pengujian pada analisis query, pengurutan kasar, pengurutan presisi, dan prediksi kategori. Nama grup pengujian hanya untuk tampilan dan dapat diubah, dengan batas maksimal 30 karakter. Bidang Test Application menampilkan nama aplikasi saat ini. Setelah memasukkan informasi, klik Next untuk melanjutkan ke konfigurasi pengujian.
3. Buat pengujian:
Setelah grup pengujian dibuat, klik Create Test untuk menambahkan pengujian spesifik ke dalam grup. Anda dapat membuat hingga 20 pengujian dalam setiap grup pengujian, dengan maksimal 10 pengujian berjalan secara online bersamaan. Secara default, halaman mencakup pengujian garis dasar bernama Online Performance (Baseline) dengan ID 0 yang menerima 100% traffic.
3.1 Nama pengujian: Tentukan nama kustom untuk pengujian, dengan batas maksimal 30 karakter. Setelah memasukkan nama pengujian, area konfigurasi untuk Sort policy types and policies muncul di sebelah kanan.3.2 Tambahkan konfigurasi:
Anda dapat mengonfigurasi pengujian untuk analisis query, pengurutan kasar, dan pengurutan presisi dengan memilih aturan yang sudah ada di kotak dialog konfigurasi.
Saat memilih jenis dan kebijakan analisis query:
-
Jika Anda memilih Custom, opsi yang tersedia adalah semua aturan analisis query yang telah Anda buat untuk aplikasi saat ini.
-
Memilih Use Default Online Configuration menerapkan logika online yang sudah ada dan mengecualikan item konfigurasi ini dari pengujian.
Saat memilih jenis dan kebijakan kebijakan pengurutan:
Logika yang sama berlaku untuk jenis dan kebijakan kebijakan pengurutan. Kebijakan pengurutan dalam status Configuring dapat diedit, yang memengaruhi hasil Pengujian A/B online. Oleh karena itu, Anda hanya dapat memilih kebijakan dalam status Published karena tidak dapat diubah.
3.3 Traffic pengujian: Alokasi traffic minimum untuk suatu pengujian adalah 1%. Untuk satu skenario, total traffic yang dialokasikan ke semua pengujian online dalam grup pengujian yang sama harus kurang dari atau sama dengan 100%.
4. Selesaikan pembuatan grup pengujian:
Setelah mengonfigurasi pengujian, klik "Next", lalu klik "Complete" untuk kembali ke halaman utama Pengujian A/B. Pesan yang menunjukkan bahwa grup pengujian berhasil dibuat ditampilkan, beserta rekomendasi untuk langkah selanjutnya. Grup pengujian yang baru dikonfigurasi berada dalam status "Pending".
5. Mulai pengujian:
Setelah grup pengujian dibuat, temukan grup tersebut dan klik Start Testing di kolom Actions. Status grup pengujian berubah menjadi Testing.
6. Aktifkan Pengujian A/B:
Setelah mengaktifkan fitur Pengujian A/B dan mengonfigurasi pengujian di Konsol, Anda harus menentukan parameter abtest dalam kueri pencarian Anda untuk mengaktifkan pengujian secara online. Parameter abtest memiliki dua bagian utama: scene_tag dan flow_divider. Di halaman Search Test di Konsol, Anda dapat memasukkan nilai abtest di bagian Parameters untuk menerapkan pengujian.
Contoh URL permintaan:
/v3/openapi/apps/160029126/search?query=query=default:'Shenzhen'&&config=start:0,hit:10,format:fulljson&abtest=scene_tag:test_1,flow_divider:123456
-
scene_tag: Nama grup pengujian. Setelah membuat satu atau beberapa grup pengujian di Konsol, atur parameter ini ke nama salah satu grup pengujian tersebut. Traffic pengujian kemudian diarahkan ke berbagai pengujian dalam grup tersebut.
-
flow_divider: Wajib diisi. Sistem backend melakukan hash terhadap nilai ini untuk mendistribusikan traffic kueri pengguna ke berbagai pengujian sesuai alokasi traffic yang Anda konfigurasi di Konsol. Kami menyarankan menggunakan ID pengguna unik untuk nilai ini. Jika ID pengguna tidak tersedia, Anda dapat menggunakan ID perangkat atau alamat IP.
Catatan:
-
Jika Anda menggunakan SDK untuk mengakses OpenSearch, Anda tidak perlu melakukan encode terhadap nilai
scene_tagdanflow_dividerjika tidak mengandung spasi atau tanda baca. Anda cukup memanggil antarmuka yang sesuai. Jika nilainya mengandung tanda baca, Anda harus melakukan encode terlebih dahulu. Untuk informasi lebih lanjut, lihat bagian Contoh Praktis. -
Jika Anda mengakses OpenSearch melalui panggilan API, nilai
scene_tagdanflow_dividerharus di-URL-encode. Format akhir untuk parameterabtestyang dikirim ke OpenSearch adalahabtest=urlencode(scene_tag:urlencode(\$scene),flow_divider:urlencode(\$value)), di manaurlencodeadalah fungsi encoding URL. -
Untuk informasi lebih lanjut, lihat dokumen FAQ tentang Pengujian A/B.
2. Kelola grup pengujian dan pengujian
Kelola grup pengujian
Setelah membuat grup pengujian dan pengujian, daftar grup pengujian ditampilkan di halaman utama Pengujian A/B. Daftar tersebut mencakup kolom Test group name, Status, Creation time, Last modified time, dan Actions. Anda dapat melakukan operasi manajemen berikut pada grup pengujian yang telah dibuat:
1. Mulai pengujian:
Anda dapat memulai grup pengujian yang berstatus Pending atau Stopped.
2. Hentikan pengujian:
Anda dapat menghentikan grup pengujian yang berstatus Testing.
3. Hapus grup pengujian:
Anda dapat menghapus grup pengujian apa pun dari halaman utama Pengujian A/B.
Kelola pengujian
Setelah membuat grup pengujian dan pengujian, daftar pengujian yang sesuai muncul di halaman detail grup pengujian. Di halaman utama Pengujian A/B, klik Details di kolom Actions grup pengujian untuk membuka halaman detailnya. Daftar pengujian menampilkan nama pengujian, jenis dan kebijakan analisis query, jenis dan kebijakan kebijakan pengurutan, alokasi traffic, dan aksi. Anda dapat melakukan operasi manajemen dasar berikut pada pengujian yang telah dibuat:
-
Edit pengujian: Anda dapat mengubah nama pengujian, konfigurasi, dan alokasi traffic.
-
Hapus pengujian: Saat pengujian dihapus, informasi konfigurasinya dihapus, dan pengujian tersebut tidak lagi berlaku secara online.
-
Daftar putih.
Untuk menetapkan flow_divider tertentu ke pengujian tertentu guna mempermudah evaluasi kinerja pencariannya, OpenSearch menyediakan fitur daftar putih. Di halaman konfigurasi daftar putih, masukkan nilai flow_divider, klik Add, lalu klik Save.
3. Detail grup Pengujian A/B
Status data perilaku
Setelah membuat grup pengujian, buka halaman detail grup pengujian. Status data perilaku dapat berupa salah satu dari berikut:
-
Belum Diaktifkan: Tidak ada data perilaku yang diunggah untuk aplikasi saat ini. (Klik di sini untuk detailnya)
-
Diaktifkan tanpa Data: Pengumpulan data perilaku diaktifkan untuk aplikasi saat ini, tetapi belum ada data yang diterima.
-
Data Tidak Normal: Pemeriksaan kualitas menemukan bahwa data perilaku saat ini tidak dapat diandalkan karena jumlah masalah yang tinggi.
Status grup pengujian
Setelah membuat grup pengujian, buka halaman detail grup pengujian. Status grup pengujian dapat berupa salah satu dari berikut:
-
Pending: Grup pengujian siap dimulai. Status ini digunakan baik untuk grup yang belum pernah dijalankan maupun yang sebelumnya dihentikan.
-
Testing: Menunjukkan bahwa grup pengujian telah dimulai di Konsol. Jumlah hari yang telah berlalu sejak grup pengujian dimulai ditampilkan.
-
Stopped: Menunjukkan bahwa grup pengujian dihentikan. Durasi pengujian akumulatif adalah total jumlah hari grup pengujian berjalan aktif, tidak termasuk periode saat dihentikan.
Statistik data
Dari halaman daftar grup Pengujian A/B, klik Details, atau dari menu aplikasi, navigasikan ke Report Statistics > A/B test report untuk membuka halaman detail grup pengujian. Di halaman Data Statistics, Anda dapat melihat laporan data Pengujian A/B. Data di Konsol tersedia dengan basis T+1. Misalnya, jika Anda menjalankan pengujian hari ini, Anda dapat melihat hasilnya di Konsol besok. Konsol menggabungkan halaman perbandingan metrik inti dengan tabel data metrik terperinci. Anda dapat memilih jenis metrik dari daftar drop-down untuk melihat metrik yang sesuai. Metrik inti disajikan sebagai grafik garis untuk tampilan yang lebih intuitif, menampilkan data hari sebelumnya secara default. Anda dapat memilih beberapa pengujian dari menu drop-down pemilihan pengujian di halaman untuk membandingkan datanya. Metrik inti yang tersedia mencakup PV pencarian, UV pencarian, laju hasil nol, rata-rata PV pencarian per pengguna, jumlah eksposur, kueri pencarian, dan rata-rata kueri pencarian per pengguna.
-
Catatan: Laporan Pengujian A/B untuk hari tertentu tersedia pukul 08.00 pagi hari berikutnya. Bahkan jika Anda menghentikan Pengujian A/B selama hari tersebut, Anda tetap dapat melihat data laporan hingga sebelum pengujian dihentikan pada hari berikutnya.
Contoh praktis
Sebuah produk e-commerce menggunakan OpenSearch untuk dua jenis kueri pencarian:
-
Jenis 1: Traffic pencarian dari pengguna akhir yang mencari produk berdasarkan kata kunci. Format kuerinya adalah:
query=config=format:fulljson&&query=default:'infant formula'&&sort=price
-
Jenis 2: Traffic dari panggilan yang dilakukan oleh layanan internal lainnya. Format kuerinya adalah:
query=config=format:fulljson&&query=cat_id:'1'|'2'|'3'&&sort=timestamp
Untuk traffic jenis pertama, pengguna ingin menjalankan Pengujian A/B dengan membagi traffic berdasarkan ID anggota pengguna akhir untuk membandingkan efektivitas ekspresi pengurutan, model prediksi kategori, atau aturan analisis query yang berbeda. Pengguna mengonfigurasi pengujian sebagai berikut:
1. Buat grup pengujian dan pengujian di fitur Pengujian A/B di Konsol. Saat membuat grup pengujian, beri nama grup pengujian tersebut user_search.
2. Tetapkan parameter Pengujian A/B dalam kueri. Karena grup pengujian di Konsol diberi nama user_search, kueri untuk kasus penggunaan ini harus mencakup parameter scene_tag:user_search dan flow_divider:xxxx, di mana xxxx adalah ID anggota pengguna akhir.
2.1 Menggunakan SDK (Contoh berikut menggunakan Java SDK. Penggunaan PHP SDK serupa.):
OpenSearch opensearch = new OpenSearch(accesskey, secret, host);
OpenSearchClient serviceClient = new OpenSearchClient(opensearch);
SearcherClient searcherClient = new SearcherClient(serviceClient);
searchParams = new SearchParams();
searchParams.setQueryString("default:'infant formula'");
searchParams.setFormat("json");
searchParams.addSort("price", "-");
searchParams.setAbtest(new Abtest().setSceneTag("user_search").setFlowDivider("Zhang San"));
aliyun-sdk-opensearch-3.4.1 (Java), opensearch-sdk-php-3.3.0 (PHP).
2.2 Menggunakan API
i. query=config=format:fulljson&&query=default:'infant formula'&&sort=-price&abtest=scene_tag:user_search,flow_divider:%e5%bc%a0%e4%b8%89
Catatan: Nilai sub-parameter scene_tag dan flow_divider dari abtest di-URL-encode di sini.
ii. Lakukan URL-encode terhadap nilai setiap parameter dalam permintaan (yaitu query, sort, abtest):
query=config%3dformat%3afulljson&&query%3ddefault%3a'infant%20formula'
3. Setelah menyelesaikan konfigurasi ini, Anda dapat menerapkan Pengujian A/B untuk skenario traffic pertama.
Laporan operasi bisnis
Antarmuka
Untuk membuka laporan statistik Pengujian A/B, navigasikan ke Feature Extensions > A/B Test dan klik Report Statistics.
Atau, navigasikan langsung ke Report Statistics > A/B test report.
Halaman laporan menganalisis data dalam lima dimensi: core metrics, traffic metrics, behavioral metrics, conversion metrics, dan user analysis metrics. Anda dapat memfilter data berdasarkan rentang tanggal dan pengujian.
Untuk deskripsi metrik dalam laporan Pengujian A/B, klik di sini.