Setiap layanan dan eksperimen di PAI-Rec harus dikaitkan dengan skenario rekomendasi. Skenario tersebut memetakan penempatan (placement) pada platform Anda ke satu set lab, lapisan eksperimen, kelompok eksperimen, dan eksperimen.
Skenario rekomendasi
Skenario rekomendasi memetakan penempatan tertentu pada platform Anda—seperti rekomendasi waterfall di halaman utama, saran "Anda mungkin juga suka" di keranjang belanja, atau item terkait pada halaman detail produk—ke satu set layanan dan eksperimen rekomendasi.
Berikan nama setiap skenario berdasarkan lokasi halamannya agar mudah dikenali. Misalnya, nama "rekomendasi waterfall di halaman utama" menggambarkan pola UI ("waterfall") dan penempatannya ("halaman utama").
Traffic Code
Bidang Traffic Code mengontrol pembagian permintaan rekomendasi di antara berbagai sistem. Gunakan fitur ini saat menjalankan PAI-Rec bersama sistem rekomendasi yang dikelola sendiri atau pihak ketiga.
| Nilai Traffic Code | Tujuan traffic |
|---|---|
PAI-REC | Sistem PAI-Rec |
selfhold | Sistem rekomendasi yang Anda kelola sendiri |
thirdparty | Sistem rekomendasi pihak ketiga |
Sebagai contoh, dalam skenario HomePageRec, traffic dialihkan ke PAI-Rec secara default. Untuk migrasi bertahap, mulailah dengan mengarahkan 10%–20% traffic skenario tersebut ke PAI-Rec. Setelah PAI-Rec mencapai hasil yang diharapkan, tingkatkan proporsinya.

Gambar berikut menunjukkan alokasi traffic untuk enam pengguna. Pengguna a dan b menerima hasil dari sistem yang dikelola sendiri (selfhold), pengguna c dan d dari PAI-Rec (PAI-REC), serta pengguna e dan f dari sistem pihak ketiga (thirdparty).

Lab dan lapisan eksperimen
PAI-Rec mengorganisasi Pengujian A/B menggunakan hierarki empat tingkat:
Lab
└── Lapisan eksperimen
└── Kelompok eksperimen
└── EksperimenLab
Lab adalah kumpulan traffic. PAI-Rec mengarahkan permintaan rekomendasi masuk ke lab sebelum pencocokan eksperimen dilakukan.
Setiap skenario memerlukan minimal satu base lab. Traffic pertama-tama dicocokkan ke lab non-base; jika tidak ada lab non-base yang cocok, permintaan akan dialihkan ke base lab. Jika hanya ada satu lab, lab tersebut harus ditetapkan sebagai base lab untuk fallback. Konfigurasikan base lab dengan logika recall dan ranking yang sederhana agar tetap stabil saat terjadi lonjakan lalu lintas. Base lab juga dapat diimplementasikan menggunakan logika fallback berbasis popularitas dan acak.
Lab non-base menyimpan logika recall dan ranking utama yang lebih kompleks. Buat beberapa lab non-base jika perlu menguji strategi algoritma yang berbeda secara paralel.
Gambar berikut menunjukkan bidang konfigurasi untuk base lab.

| Bidang | Deskripsi |
|---|---|
| Lab Name | Nama kustom untuk lab. |
| Description | Deskripsi detail tentang lab. |
| Lab Type | Base Lab (wajib) atau Non-base Lab (opsional). |
| Runtime Environment | Lingkungan runtime mesin rekomendasi. Nilai yang valid: Daily, Staging, Production. |
| Bucketing Method | Cara PAI-Rec menetapkan pengguna ke bucket. Lihat Bucketing method di bawah. |
| Buckets | Jumlah total bucket dalam lab ini (misalnya, 100). |
| Traffic Allocation | Nomor bucket yang ditetapkan untuk lab ini. Rentang valid: 0–99. |
| Layering | Lapisan eksperimen dalam lab ini. Nilai umum: recall, filter, coarse_rank, rank. |
| Test Users | Pengguna yang traffic-nya langsung diarahkan ke lab ini, melewati pencocokan bucket. |
Test Users mendukung dua metode input:
Manually Enter: Masukkan satu atau beberapa ID pengguna yang dipisahkan koma.
User Group ID: Pilih kelompok pengguna yang dibuat di halaman Manajemen Kelompok Pengguna.
Bucketing method
PAI-Rec mendukung tiga cara untuk menetapkan pengguna ke bucket:
| Metode | Cara kerja |
|---|---|
| UID-based Bucketing | Menetapkan pengguna berdasarkan digit terakhir UID mereka. |
| Hashed UID-based Bucketing | Menetapkan pengguna berdasarkan nilai hash UID mereka. |
| Condition-based Bucketing | Menetapkan pengguna berdasarkan ekspresi pasangan kunci-nilai, seperti gender=man. |
Lapisan eksperimen
Lapisan eksperimen merupakan pengelompokan logis dalam sebuah lab. Setiap lab dapat memiliki beberapa lapisan eksperimen. Nama lapisan umum meliputi recall, filter, coarse_rank, dan rank.
Kelompok eksperimen dan eksperimen
Kelompok eksperimen
Kelompok eksperimen adalah subdivisi dari lapisan eksperimen. Buat beberapa kelompok eksperimen dalam satu lapisan ketika beberapa insinyur algoritma perlu menjalankan eksperimen recall atau ranking secara independen.
Eksperimen
Eksperimen adalah variasi algoritma atau konfigurasi tunggal dalam satu kelompok eksperimen.
Satu kelompok eksperimen biasanya berisi beberapa eksperimen yang berjalan secara simultan. Sebagai contoh, gambar berikut menunjukkan dua eksperimen aktif (swing dan etrec) bersama dssm, yang sedang dalam pengujian dengan proporsi traffic-nya diatur ke 0% dan statusnya diatur ke online. Konfigurasi ini membantu memperoleh efek rekomendasi dengan menggunakan daftar putih yang telah dikonfigurasi.
