Deneyler, oyununuzdaki değişikliklerin neden olduğu etkileri ölçmek için oyun içi ve eşleştirme A/B testleri yapmanıza olanak tanır. Örneğin, farklı oyunculara farklı başlangıç deneyimleri gösterebilir ve oyun süresi, tutma oranı ve diğer anahtar performans göstergeleri arasındaki farkı ölçebilirsiniz.
Deneyler, aşağıdakileri ölçmek için mükemmeldir:
- Katılım - Başlangıç akışları, ilerleme sistemleri, kontrol şemaları, özel eşleştirme
- Para kazanma - Mağaza görünürlüğü ve kullanıcı deneyimi, başlangıç paketi türleri, fiyatlandırma

Deneyler oluşturma
Deneyler iki türde gelir:
- Oyun içi deneyler, farklı konfigürasyon değerlerinin etkisini ölçmenizi sağlar.
- Eşleştirme deneyleri, farklı özel eşleştirme yapılandırmalarının etkisini ölçmenizi sağlar. Oyun içi deneylerin aksine, yalnızca bir eşleştirme deneyini aynı anda çalıştırabilirsiniz.
Eğer zaten bir konfigürasyon yoksa, oyununuz için bir tane oluşturun.
Yaratıcı Merkez Deneyler sayfasında, Deney oluştur butonuna tıklayın.
Tür için, Deneyim içi seçeneğini seçin.
Deney için bir isim, hedef metrik ve planlanan süre belirtin. Deneyler 14-60 gün arasında çalışır.
Hedef metrik olarak ne seçerseniz seçin, deneyler listedeki tüm metrikleri takip eder.
Bir yüzdelik dağıtım seçin. Bu sayı, deneye dahil etmek istediğiniz oyuncuların yüzdesidir.
Genel olarak, bir deneyde daha fazla insan dahil ederseniz, veriler daha iyi olur, ancak oyununuz için en iyisinin ne olduğunu değerlendirin.
Varyantları ve yüzdeleri belirtin.
Varyantlar, konfigürasyonunuz için alternatif değerlerdir. Kontrol değeri 500 olan bir sayısal konfigürasyon anahtarı bossHealth için, 300'lük bir varyant belirtebilirsiniz. Bir deneyde en fazla iki varyant ve bir kontrol olabilir.
Yüzdeler, varyantların deney dağıtımı içinde nasıl atanacağını belirler. Aşağıdaki örneği düşünün:
- Genel dağıtım olarak %40 seçtiniz.
- İki varyant ve bunlar ile kontrol arasında %50/50 bölüşüm belirlediniz.
Bu örnekte, kullanıcılarınızın %60'ı deneyden hariç tutulur; bu kullanıcılar kontrolü alır ve deney sonuçlarını etkilemez. Kullanıcılarınızın yaklaşık %20'si deneyin bir parçası olarak kontrolü alır. Diğer %20'si varyantı alır. Oyuncu sayınıza bağlı olarak, bu dağıtım, uygulanabilir sonuçlar elde etmek için yeterince büyük olmayabilir.

(İsteğe bağlı) Deneyi belirli bir kitleye hedefleyin, böylece yalnızca eşleşen oyuncular kaydolmaya uygun olur. Hedefleme, koşullu konfigürasyonlar ile aynı oyuncu özelliklerini kullanır ve mevcut koşulları doğrudan konfigürasyonlarınızdan kopyalayabilirsiniz. Daha fazla bilgi için Deneyleri belirli kitlelere hedefleme bölümüne bakın.

Son adım zamanlamadır. Deneyleri hemen başlatabilir veya gelecekteki bir tarih ve saat için planlayabilirsiniz. Bir deneyi planladıktan sonra, yapılandırmasını (süre, dağıtım yüzdesi, varyantlar vb.) değiştiremezsiniz, ancak yeniden planlayabilirsiniz.
Metrikler
Deneyler, deney süresi boyunca aşağıdaki tüm metrikleri takip eder.
| Metrik | Açıklama |
|---|---|
| D1 tutma | Bir gün sonra oyununuza geri dönen oyuncuların yüzdesi. |
| D7 tutma | Bir hafta sonra oyununuza geri dönen oyuncuların yüzdesi. |
| Oyun süresi | Oyuncuların oyununuzda geçirdiği ortalama süre. Deney süresi boyunca birikimli. |
| ARPU | Kullanıcı başına ortalama gelir. Gelir, oyuncu sayısına bölünür. Deney süresi boyunca birikimli. |
| ARPPU | Ödeyen kullanıcı başına ortalama gelir. Gelir, bir oyunla ilgili öğe satın alan oyuncu sayısına bölünür. Deney süresi boyunca birikimli. |
| Ödeyen dönüşüm oranı | Bir oyunla ilgili öğe satın alan oyuncuların yüzdesi. |
| Oturum süresi | Oyun süresi, oturum sayısına bölünür. Deney süresi boyunca birikimli. |
Deney durumu
Deneyler sayfası, deneyler için aşağıdaki durumları gösterir.
| Durum | Açıklama |
|---|---|
| Tamamlandı | Deney sona erdi; bu, manuel olarak durdurduğunuzda, bir karara ulaştığınızda veya karar tarihinden kısa bir süre sonra otomatik olarak gerçekleşir (oyun içi için 14 gün sonra, eşleştirme için hemen). Detayları ve sonuçları incelemeye devam edebilirsiniz. |
| Karar gerekli | Deney karar tarihine ulaştı. Sonuçları gözden geçirmek için iyi bir zamandır. |
| Çalışıyor | Deney çalışıyor ancak henüz karar tarihine ulaşmadı. |
| Planlandı | Deney, gelecekteki bir tarihte başlaması için planlandı. |
| Taslak | Deney başlatılmadı veya planlanmadı. Kurulumunu tamamlayabilirsiniz. |
Deneyleri belirli kitlelere hedefleme
Varsayılan olarak, bir oyun içi deney, dağıtım yüzdesindeki herhangi bir oyuncuyu kaydedebilir. Hedefleme, deneyi belirli bir kitle üzerinde çalıştırmanıza olanak tanır; örneğin, belirli ülkelerdeki oyuncular, belirli süre pencereleri veya aktif harcayıcı katmanları. Hedefleme, konfigürasyon hedefleme ile aynı özellikleri kullanır.
Hedeflenmiş deneyleri ayarlama
Hedefleme kriterlerini, deneyi oluşturduğunuzda yapılandırırsınız. Deney başladıktan sonra, hedefleme kurallarını, kontrol değerini, varyantları veya konfigürasyon anahtarının kullandığı herhangi bir koşullu kuralı değiştiremezsiniz.
Hedeflemenizi tanımlamak için mevcut koşullu kuralları konfigürasyonlarınızdan yeniden kullanabilirsiniz, ancak deney, her kuralın bağımsız bir kopyasını saklar. Daha sonra orijinal konfigürasyon koşulunu düzenlemek veya silmek, deneyin hedeflemesini etkilemez.
Hedef kitlenizi daraltmak, örnek boyutunuzu azaltacağından, Roblox, hedefleme kriterlerinize uyan kitleyi tahmin ederek minimum tespit edilebilir etkiyi (MDE) günceller. Hedeflenen kitlenizin istatistiksel olarak anlamlı sonuçlar üretmek için yeterince büyük olduğundan emin olun.
Roblox'un hedeflenen değerleri nasıl çözdüğü
Roblox, deneyleri öncelikle değerlendirir, ardından standart koşullu konfigürasyonlardan gelen herhangi bir kuralı uygular. Bir konfigürasyon anahtarının aktif bir deneyi varsa, Roblox değeri şu sırayla çözer:
- Aktif deney değeri, eğer oyuncu hedeflenmiş ve kaydolmuşsa.
- İlk eşleşen konfigürasyon koşulu.
- Herhangi bir sonraki eşleşen konfigürasyon koşulu.
- Varsayılan değer.
Kontrol grubundaki oyuncular, mevcut konfigürasyon kurallarınızın ürettiği değeri alır. Aynı konfigürasyon anahtarı üzerinde birden fazla aktif deney çalıştıramazsınız.
Oturum başına değerlendirme
Roblox, hedefleme özelliklerini her oturumda değerlendirir, bu nedenle bireysel bir oyuncunun uygunluğu zamanla değişebilir:
- Eğer bir oyuncu oturum sırasında hedefleme kriterlerinize uyuyorsa, kaydolabilir ve bir deney varyantı alabilir.
- Eğer daha sonraki bir oturumda artık uymuyorsa, deney değerini almaktan vazgeçer ve hemen standart konfigürasyon kurallarınıza geri döner. Deneyinizin uygunluktan öte süreklilik gerektirmesi gerekiyorsa—örneğin, yeni oyunculara yönelik çok oturumlu bir başlangıç akışı—değeri kendiniz saklamanız gerekir; örneğin, bir veri deposunda.
Bir oyuncunun verileri, kaydolduğu varyant (veya kontrol) ile ilişkilendirilir, hatta daha sonra kriterlere uymasa bile. Örneğin, D7 tutma, gün 0'da kaydolan bir oyuncuyu ve gün 7'de geri dönüp dönmediğini sayar, hatta gün 4'te artık nitelikli olmasa bile.
Deney çalışırken konfigürasyon değişiklikleri
Yapılandırma kaymalarını ve bozulmuş deney verilerini önlemek için, Roblox, bir deney çalışmaya başladığı anda konfigürasyon anahtarını kilitler:
- Çalışan konfigürasyon anahtarını düzenleyemez veya silemezsiniz, ayrıca standart koşullu değerlerini de değiştiremezsiniz.
- Aktif konfigürasyonun referans verdiği herhangi bir global koşul da kilitlenir. Bunları birbirleriyle düzenleyemez, silemez veya düzenleyemezsiniz.
Kilit, deney tamamlandığında serbest bırakılır.
Deneyleri kodunuza ekleyin
Oyun içi deneyleri uygulamak, konfigürasyonları uygulamaya benzer. Ana fark, ConfigService:GetConfigForPlayerAsync() kullanımıdır; ConfigService:GetConfigAsync() yerine.
GetConfigForPlayerAsync() bir oyuncuya özgü bir anlık görüntü alır. GetValue() çağrıldığında, anlık görüntü aktif bir deney olup olmadığını kontrol eder ve kullanıcıyı dağıtım yüzdesine göre kaydeder (veya kaydetmez).
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)Her oyuncu için GetConfigForPlayerAsync() çağrısını ayrı ayrı yapmalısınız; GetConfigAsync() deneyleri uygulamaz.
Bir oyuncuya özgü bir anlık görüntüde GetValue() çağrısını yaptıktan sonra, anlık görüntü ile ilişkilendirilen oyuncu, yalnızca o anahtar için deneyde kaydolur. Tüm sonraki çağrılar, deney süresi boyunca aynı kontrol veya varyantı döndürür. İlk çağrı rastgeledir.
Deneylere kaydolma, yeni kullanıcılarla sınırlı değildir. Bir kullanıcı daha önce GetConfigAsync() ile bir değer aldıysa, yine de GetConfigForPlayerAsync() ile bir oyuncuya özgü anlık görüntü kullanarak deneyde kaydolabilirsiniz.
Eğer bir oyuncuya özgü anlık görüntüde bir anahtar aktif bir deney yoksa, GetValue() standart konfigürasyon değerini (veya değeri yoksa nil) döndürür.
Özel kaydolma
Eğer yalnızca oyun içi duruma dayalı kriterleri karşılayan oyuncuları kaydetmek istiyorsanız, bu kriterleri kontrol etmek için ek kod yazmanız ve yalnızca o zaman GetValue() çağrısını yapmanız gerekir. Aşağıdaki örneği düşünün:
- Yarış oyununda yeni bir kontrol şemasını test etmek istiyorsunuz.
- Şema, ileri düzey oyuncular içindir, bu nedenle birçok yarışı kazanmış oyuncuları hedeflemek istiyorsunuz.
Kodunuz aşağıdaki gibi görünebilir:
local function getControlScheme(player, racesWon)
if racesWon < 20 then
return "standardScheme"
else
-- Oyuncunun birçok zaferi var, deneye kaydol
local playerConfigSnapshot = ConfigService:GetConfigForPlayerAsync(player)
if playerConfigSnapshot:GetValue("useNewControlScheme") then
return "newScheme"
else
return "standardScheme"
end
end
endEğer kontrol şemasının sonraki oturumlarda devam etmesini istiyorsanız, muhtemelen oyuncunun veri deposundaki kaydına bir değer eklemeniz gerekir.
Sonuçları görüntüleme ve yorumlama
Bir deney en az 24 saat çalıştıktan sonra, detayları ve sonuçları görmek için Görüntüle butonuna tıklayın.

Kaydolan toplam oyuncu sayısını, kontrol değerini ve her varyantı alan oyuncu sayısını görebilirsiniz. Bu sayfayı deneyin düzgün çalıştığından emin olmak için erken bir aşamada görüntülemek faydalıdır, harekete geçmek için değil. Harekete geçmeden önce, En iyi uygulamalar bölümüne bakın.
Deney tamamlandıktan sonra, Sonuçlar sekmesini kontrol edin. Hedef metriklerde istatistiksel olarak anlamlı değişiklikler arayın; bu değişiklikler, gösterge panelinde yeşil veya kırmızı ile vurgulanır. Bu değişiklikler, varyantınızın etkisini gösterme olasılığı daha yüksek ve yanlış pozitif veya negatif olma olasılığı daha düşüktür.

Herhangi bir metrik üzerine gelerek Güven görünümü butonunu görebilirsiniz; bu, güven aralığını gösterir.
Bir metrik, yüzdelik değişimi için güven aralığı %0 ile örtüşmediğinde istatistiksel olarak anlamlıdır. Aşağıdaki örnekte, D1 tutma %17.4 artmış, alt ve üst sınırlar %8.02 ve %22.03'tür; bu da değişikliğin istatistiksel olarak anlamlı olduğunu gösterir.

Kolaylık olması açısından, sonuçlar sayfası, varsayılan konfigürasyon değerini deneyden bir varyant ile değiştirme olanağı sunar.
Karar verme
Deneyiniz sona erdiğinde, Karar ver butonuna tıklayarak rehberli bir dağıtım başlatın. Roblox, istatistiksel anlamlılık ve deney süresi hakkında herhangi bir uyarı gösterir, ardından kazanan bir varyant seçmenizi ister veya kontrolü korumanızı önerir. Seçiminize bağlı olarak, Roblox uygun değişikliği kalıcı konfigürasyonlarınıza dağıtır; Konfigürasyonlar sayfasına döndüğünüzde yeni değeri görebilirsiniz. Fikriniz değişirse Kazananı değiştir butonuna tıklayın.
Deneyi tamamladığınızda konfigürasyonda çözülmemiş aşamalı değişiklikler varsa, Roblox bunları geçici olarak saklar ve dağıtım sonrasında en iyi çaba ile geri yükler.
Seçiminiz, Roblox'un önerdiği konfigürasyon değişikliklerini belirler:
Kontrol: Roblox, mevcut konfigürasyonlarınıza hiçbir değişiklik yapmaz.
Hedeflenmemiş varyant: Varyant değeri, konfigürasyonun yeni varsayılan değeri olur. Roblox, o konfigürasyon anahtarı üzerindeki diğer tüm koşulları kaldırır, ancak bunlar global koşul listesinde kalır.
Hedeflenmiş varyant: Roblox, kazanan kuralı kalıcı konfigürasyonunuza, bu öncelik sırasındaki ilk uygulanabilir seçenekle entegre eder:
- Üzerine yaz: Eğer aynı koşul zaten konfigürasyonun en üstünde bulunuyorsa, Roblox, kazanan varyantın değerini onunla değiştirir.
- Mevcut ekle: Eğer eşleşen bir global koşul varsa ve doğal olarak en üstte yer alıyorsa, Roblox, varyantın değerini kullanarak konfigürasyona ekler.
- Terfi ettir: Eğer eşleşen bir global koşul, onu en üst kural haline getirmek için gereken en düşük rütbeye terfi ettirilebiliyorsa (diğer konfigürasyonları değiştirmeden), Roblox bunu konfigürasyona ekler ve global olarak yeniden sıralar.
- Yeni oluştur: Aksi takdirde, Roblox, konfigürasyonda şu anda kullanılan en yüksek koşuldan bir seviye daha yüksek bir global koşul oluşturur. Bu, konfigürasyon içinde bir kopya kural oluşturursa, Roblox, global kuralı korurken gereksiz koşul değerini kaldırır.
Deneyler için en iyi uygulamalar
Minimum tespit edilebilir etkiyi (MDE) kullanarak deneyinizin çalışmaya değer olup olmadığını belirleyin.
Roblox, MDE'yi hedef metrik ve varyant başına oyuncu sayısını kullanarak hesaplar; bu, günlük aktif kullanıcılar, dağıtım yüzdesi, deney süresi ve varyant bölüşümleri temel alınarak yapılır. Eğer MDE, hedef metrik için çok yüksekse (örneğin, %100'den fazla), istatistiksel anlamlılığa ulaşmanız olası değildir. 1,000'den az günlük aktif kullanıcıya sahip oyunlar, deneylerden yararlı veri elde etmekte zorluk çekebilir.

Bir hipotezle başlayın. Sadece bir değişkeni değiştirip sonuçları kontrol etmek yerine, neyi değiştirdiğinize, ne olmasını beklediğinize ve nedenine dair bir neden-sonuç ifadesi yazın. Deneyler yaptıkça, sonuçlarınıza eşlik edecek yazılı hipotezler setine sahip olmak, düşüncelerinizi netleştirmeye ve yeni deney fikirleri bulmanıza yardımcı olabilir.
Deneylerin tam süreleri boyunca çalışmasına izin verin. Yenilik etkisi (bir değişikliğe olan geçici ilgi, daha iyi olduğu için değil, yeni olduğu için) erken sonuçları ağır şekilde çarpıtabilir; bazen bunların istatistiksel anlamlılık içinde dalgalanmasına neden olabilir. Deneyleri erken sonlandırmak, anormal zirvelere dayanarak aceleci harekete geçme olasılığınızı artırır; daha fazla veri, bu tür dalgalanmaları düzleştirebilir veya hatta çelişebilir.
İstatistiksel anlamlılık olmadan harekete geçmeyin. Görünüşte büyük oyuncu davranışı değişiklikleri, genellikle küçük örnek boyutu nedeniyle istatistiksel olarak anlamlı olmayabilir. Eğer bir değişiklik istatistiksel olarak anlamlı değilse, onu göz ardı edin.
Deneyler sırasında değişikliklerden kaçının. Büyük hataların elbette düzeltilmesi gerekir, ancak oyun içeriğindeki değişiklikler oyuncu davranışını etkileyebilir ve sonuçlarınızı geçersiz kılabilir; bu değişiklikler deneyinizle ilişkisiz görünse bile. Benzer şekilde, yalnızca deneylerin birbirleriyle etkileşime girmeyeceğinden emin olduğunuzda aynı anda deneyler yürütün.
Metriklerde derinlemesine incelemeler için güven aralıklarını kullanın ve istatistiksel anlamlılık sınır durumlarını kontrol edin. Eğer güven aralığı çok genişse, metrik asla istatistiksel anlamlılığa ulaşamayabilir.
Eğer bir metrik önemli ölçüde artmış ve diğeri önemli ölçüde azalmışsa, takasın değerli olup olmadığına karar vermeniz gerekir, muhtemelen diğer istatistiksel olarak anlamlı hareketlerle birlikte.
Deneyler güçlü sinyal sağlar, ancak istatistiksel anlamlılık kesinlik değil olasılıklar ile ilgilidir—bu nedenle güven aralığı. Veri değişkenliği, örnek boyutu ve değişikliğin büyüklüğü, bir varyantın oyuncu davranışını etkileyip etkilemediğini tespit etme olasılığını etkiler. Deney sonuçlarına dayanarak alacağınız her eylem, oyuncu geri bildirimi ve oyununuz için genel vizyonunuz gibi nitel verilerle dengelenmelidir.
Bulgularınızı ve kararlarınızı belgeleyin. Ek deneyler yürütmek için kullanmasanız bile, bir bilgi ve kanıt havuzuna sahip olmak, oyunlarınızı nasıl tasarlayacağınızı bilgilendirebilir.