Eksperimen

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Eksperimen memungkinkan Anda untuk menjalankan tes A/B dalam permainan dan pencocokan untuk mengukur dampak kausal dari perubahan pada permainan Anda. Misalnya, Anda dapat menunjukkan pengalaman onboarding yang berbeda kepada pemain yang berbeda dan mengukur perbedaan dalam waktu bermain, retensi, dan indikator kinerja utama lainnya.

Eksperimen sangat baik untuk mengukur hal-hal berikut:

  • Keterlibatan - Alur onboarding, sistem progresi, skema kontrol, pencocokan khusus
  • Monetisasi - Visibilitas toko dan pengalaman pengguna, jenis paket pemula, penetapan harga
Ikhtisar halaman Eksperimen di Creator Hub

Buat eksperimen

Eksperimen datang dalam dua jenis:

  • Eksperimen dalam permainan memungkinkan Anda mengukur dampak dari berbagai nilai konfigurasi.
  • Eksperimen pencocokan memungkinkan Anda mengukur dampak dari berbagai konfigurasi pencocokan khusus. Tidak seperti eksperimen dalam permainan, Anda hanya dapat menjalankan satu eksperimen pencocokan pada satu waktu.
  1. Jika Anda belum memiliki konfigurasi, buat satu untuk permainan Anda.

  2. Di halaman Eksperimen di Creator Hub untuk permainan Anda, klik Buat eksperimen.

  3. Untuk Tipe, pilih Dalam pengalaman.

  4. Tentukan nama, metrik tujuan, dan durasi yang direncanakan untuk eksperimen tersebut. Eksperimen berjalan antara 14-60 hari.

    Terlepas dari apa yang Anda pilih sebagai metrik tujuan, eksperimen melacak semua metrik dalam daftar.

  5. Pilih persentase rollout. Angka ini adalah persentase pemain yang ingin Anda masukkan dalam eksperimen.

    Secara umum, semakin banyak orang yang Anda masukkan ke dalam eksperimen, semakin baik datanya, tetapi gunakan penilaian Anda tentang apa yang terbaik untuk permainan Anda.

  6. Tentukan varian dan persentase.

    Varian adalah nilai alternatif untuk konfigurasi Anda. Untuk kunci konfigurasi numerik bossHealth dengan nilai kontrol 500, Anda mungkin menentukan varian 300. Anda dapat memiliki hingga dua varian dan satu kontrol dalam eksperimen.

    Persentase menentukan bagaimana varian ditugaskan dalam rollout eksperimen. Pertimbangkan contoh berikut:

    • Anda memilih rollout keseluruhan 40%.
    • Anda menentukan dua varian dan pembagian 50/50 di antara mereka dan kontrol.

    Dalam contoh ini, 60% pengguna Anda dikecualikan dari eksperimen; pengguna ini menerima kontrol dan tidak berpengaruh pada hasil eksperimen. Sekitar 20% pengguna Anda menerima kontrol sebagai bagian dari eksperimen. 20% lainnya menerima varian. Tergantung pada jumlah pemain Anda, distribusi ini mungkin tidak cukup besar untuk memberikan hasil yang dapat ditindaklanjuti.

    Halaman variant

  7. Langkah terakhir adalah penjadwalan. Anda dapat memulai eksperimen segera atau menjadwalkannya untuk tanggal dan waktu yang lebih nanti. Setelah Anda menjadwalkan eksperimen, Anda tidak dapat mengubah konfigurasinya (durasi, persentase rollout, varian, dll.), tetapi Anda dapat menjadwalkannya ulang.

Metrik

Eksperimen melacak semua metrik berikut selama durasi eksperimen.

MetrikDeskripsi
Retensi D1Persentase pemain yang kembali ke permainan Anda setelah satu hari.
Retensi D7Persentase pemain yang kembali ke permainan Anda setelah satu minggu.
Waktu bermainRata-rata waktu yang dihabiskan pemain dalam permainan Anda. Kumulatif selama durasi eksperimen.
ARPURata-rata pendapatan per pengguna. Pendapatan dibagi dengan jumlah pemain. Kumulatif selama durasi eksperimen.
ARPPURata-rata pendapatan per pengguna yang membayar. Pendapatan dibagi dengan jumlah pemain yang membeli item terkait permainan. Kumulatif selama durasi eksperimen.
Tingkat konversi pembayarPersentase pemain yang membeli item terkait permainan.
Waktu sesiWaktu bermain dibagi dengan jumlah sesi. Kumulatif selama durasi eksperimen.

Status eksperimen

Halaman Eksperimen menunjukkan status berikut untuk eksperimen.

StatusDeskripsi
SelesaiEksperimen telah selesai, yang terjadi ketika Anda menghentikannya secara manual, ketika Anda mencapai keputusan, atau secara otomatis segera setelah tanggal keputusan (14 hari setelah untuk eksperimen dalam permainan, segera untuk pencocokan). Anda masih dapat meninjau detail dan hasilnya.
Keputusan dibutuhkanEksperimen telah mencapai tanggal keputusan. Sekarang adalah waktu yang baik untuk meninjau hasilnya.
BerjalanEksperimen sedang berjalan tetapi belum mencapai tanggal keputusan.
JadwalEksperimen dijadwalkan untuk dimulai pada tanggal mendatang.
DrafEksperimen belum dimulai atau dijadwalkan. Anda dapat menyelesaikan pengaturannya.

Tambahkan eksperimen ke kode Anda

Menerapkan eksperimen dalam permainan mirip dengan menerapkan konfigurasi. Perbedaan utama adalah penggunaan ConfigService:GetConfigForPlayerAsync() sebagai ganti ConfigService:GetConfigAsync().

GetConfigForPlayerAsync() mengambil snapshot spesifik pemain. Ketika Anda memanggil GetValue(), snapshot memeriksa apakah ada eksperimen aktif dan mendaftar (atau tidak mendaftar) pengguna berdasarkan persentase rollout.


local ConfigService = game:GetService("ConfigService")
local Players = game:GetService("Players")
local function onPlayerAdded(player)
local playerConfig = ConfigService:GetConfigForPlayerAsync(player)
local leaderboardColor = playerConfig:GetValue("leaderboardColor")
end
Players.PlayerAdded:Connect(onPlayerAdded)
  • Anda harus memanggil GetConfigForPlayerAsync() secara terpisah untuk setiap pemain; GetConfigAsync() tidak menerapkan eksperimen.

  • Setelah Anda memanggil GetValue() pada snapshot spesifik pemain, pemain yang terkait dengan snapshot tersebut terdaftar dalam eksperimen untuk kunci itu dan hanya kunci itu. Semua panggilan berikutnya ke metode tersebut mengembalikan kontrol atau varian yang sama selama durasi eksperimen. Hanya panggilan pertama yang acak.

  • Pendaftaran dalam eksperimen tidak terbatas pada pengguna baru. Bahkan jika seorang pengguna sebelumnya menerima nilai dari GetConfigAsync(), Anda masih dapat mendaftarkan mereka dalam eksperimen menggunakan snapshot spesifik pemain dari GetConfigForPlayerAsync().

  • Jika sebuah kunci di snapshot spesifik pemain tidak memiliki eksperimen aktif, GetValue() mengembalikan nilai konfigurasi standar (atau nil jika tidak memiliki nilai).

Pendaftaran yang ditargetkan

Jika Anda ingin menargetkan sebagian pemain Anda yang memenuhi kriteria tertentu, Anda harus menulis kode tambahan untuk memeriksa kriteria tersebut dan hanya kemudian memanggil GetValue() untuk mendaftarkan mereka dalam eksperimen. Pertimbangkan contoh berikut:

  • Anda ingin menguji skema kontrol baru dalam permainan Anda.
  • Anda tidak ingin menyertakan pemain yang sudah ada (yang kemungkinan sudah terbiasa dengan skema yang ada), hanya pemain baru.

Kode Anda mungkin terlihat seperti ini:


local function getControlScheme(player, racesCompleted)
if racesCompleted > 0 then
return "standardScheme"
else
-- Pemain baru, daftarkan dalam eksperimen
local playerConfigSnapshot = ConfigService:GetConfigForPlayerAsync(player)
if playerConfigSnapshot:GetValue("useNewControlScheme") then
return "newScheme"
else
return "standardScheme"
end
end
end

Jika Anda ingin skema kontrol ini bertahan pada sesi berikutnya, Anda mungkin perlu menambahkan nilai pada entri pemain di data store.

Lihat dan interpretasikan hasil

Setelah eksperimen berjalan setidaknya selama 24 jam, klik Lihat untuk melihat detail dan hasilnya.

Halaman detail untuk eksperimen

Anda dapat melihat total jumlah pemain yang terdaftar, serta jumlah pemain yang menerima nilai kontrol dan setiap varian. Melihat halaman ini lebih awal dalam eksperimen berguna hanya untuk memastikan bahwa eksperimen berjalan dengan baik, bukan untuk mengambil tindakan. Sebelum mengambil tindakan, lihat Praktik terbaik.

Setelah eksperimen selesai, periksa tab Hasil. Cari perubahan yang signifikan secara statistik pada metrik tujuan, yang dibhighlight dashboard dengan warna hijau atau merah. Perubahan ini lebih mungkin menunjukkan dampak dari varian Anda dan kurang mungkin menjadi positif atau negatif palsu.

Halaman detail untuk eksperimen

Arahkan mouse ke metrik mana pun untuk melihat tombol Lihat kepercayaan, yang menunjukkan interval kepercayaan.

Sebuah metrik dianggap signifikan secara statistik ketika interval kepercayaannya untuk persentase perubahannya tidak tumpang tindih dengan 0%. Dalam contoh berikut, retensi D1 meningkat 17,4%, dengan batas bawah dan atas 8,02% dan 22,03%, yang membuat perubahan ini signifikan secara statistik.

Interval kepercayaan untuk sebuah metrik

Untuk kenyamanan, halaman hasil memungkinkan Anda mengganti nilai konfigurasi default dengan salah satu varian dari eksperimen. Klik Ambil keputusan untuk memilih varian atau Ganti pemenang jika Anda berubah pikiran. Jika Anda kemudian kembali ke halaman Konfigurasi, Anda harus melihat nilai baru.

Praktik terbaik untuk eksperimen


  • Gunakan efek minimum yang dapat terdeteksi (MDE) untuk memutuskan apakah eksperimen Anda layak dijalankan.

    Roblox menghitung MDE menggunakan metrik tujuan Anda dan jumlah pemain per varian, yang berdasarkan pada pengguna aktif harian, persentase rollout, durasi eksperimen, dan pembagian varian. Jika MDE terlalu tinggi untuk metrik tujuan Anda (misalnya, lebih dari 100%), kecil kemungkinannya Anda dapat mencapai signifikansi statistik. Game dengan kurang dari 1.000 pengguna aktif harian mungkin kesulitan mendapatkan data yang berguna dari eksperimen.

    Layar MDE tidak mencukupi selama pembuatan.

  • Mulailah dengan hipotesis. Alih-alih hanya mengubah variabel dan memeriksa hasilnya, tulis pernyataan sebab-akibat tentang apa yang Anda ubah, apa yang Anda harapkan terjadi, dan mengapa. Seiring Anda melakukan lebih banyak eksperimen, memiliki sekumpulan hipotesis yang tertulis untuk menyertai hasil Anda dapat membantu memperjelas pemikiran Anda dan memicu ide-ide baru untuk eksperimen.

  • Biarkan eksperimen berjalan selama durasi penuh mereka. Efek kebaruan (minat sementara terhadap perubahan bukan karena itu lebih baik, tetapi karena baru) dapat sangat mempengaruhi hasil awal, kadang-kadang menyebabkan mereka berayun masuk dan keluar dari signifikansi statistik. Mengakhiri eksperimen lebih awal meningkatkan risiko Anda mengambil tindakan prematur berdasarkan lonjakan anomali yang lebih banyak data akan haluskan atau bahkan menentang.

  • Jangan bertindak tanpa signifikansi statistik. Bahkan perubahan yang tampaknya besar dalam perilaku pemain mungkin tidak signifikan secara statistik, umumnya karena ukuran sampel yang kecil. Jika perubahan tidak signifikan secara statistik, abaikan.

  • Hindari perubahan selama eksperimen. Bug utama tentu perlu diperbaiki, tetapi perubahan pada konten eksperimen dapat mempengaruhi perilaku pemain dan membatalkan hasil Anda, bahkan jika perubahan tersebut sepertinya tidak terkait dengan eksperimen Anda. Demikian juga, hanya jalankan eksperimen secara bersamaan jika Anda yakin mereka tidak akan saling berinteraksi.

  • Gunakan interval kepercayaan untuk pendalaman ke dalam metrik dan untuk memeriksa kasus batas dari signifikansi statistik. Jika interval kepercayaan terlalu lebar, metrik mungkin tidak akan pernah mencapai signifikansi statistik.

  • Jika satu metrik meningkat secara signifikan dan yang lain menurun secara signifikan, Anda harus memutuskan apakah pertukarannya sepadan, mungkin bersamaan dengan pergerakan signifikan statistik lainnya.

  • Eksperimen memberikan sinyal kuat, tetapi signifikansi statistik berurusan dengan probabilitas, bukan kepastian—karena itu interval kepercayaan. Variabilitas data, ukuran sampel, dan magnitudo perubahan semuanya memengaruhi probabilitas mendeteksi apakah varian mempengaruhi perilaku pemain. Setiap tindakan yang Anda ambil berdasarkan hasil eksperimen harus seimbang dengan data kualitatif seperti umpan balik pemain dan visi keseluruhan Anda untuk permainan.

  • Dokumentasikan temuan dan keputusan Anda. Meskipun Anda tidak menggunakannya untuk menjalankan eksperimen tambahan, memiliki kumpulan pengetahuan dan bukti dapat memberi informasi tentang bagaimana Anda merancang permainan Anda.

©2026 Roblox Corporation. Roblox, logo Roblox, dan Powering Imagination termasuk dalam merek dagang kami yang terdaftar dan tidak terdaftar di AS dan negara lainnya.