Eksperymenty

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Eksperymenty pozwalają na przeprowadzanie testów A/B w grze i matchmakingu, aby zmierzyć przyczynowy wpływ zmian w twojej grze. Na przykład, możesz pokazać różne doświadczenia wprowadzające różnym graczom i zmierzyć różnice w czasie gry, retencji i innych kluczowych wskaźnikach wydajności.

Eksperymenty są doskonałe do mierzenia następujących aspektów:

  • Zaangażowanie - Procesy wprowadzające, systemy postępu, schematy sterowania, niestandardowy matchmaking
  • Monetyzacja - Widoczność sklepu i doświadczenie użytkownika, rodzaje pakietów startowych, ceny
Przegląd strony Eksperymenty w Creator Hub

Tworzenie eksperymentów

Eksperymenty występują w dwóch typach:

  1. Jeśli nie masz jeszcze konfiguracji, stwórz jedną dla swojej gry.

  2. Na stronie Creator Hub Eksperymenty dla swojej gry, kliknij Utwórz eksperyment.

  3. Dla Typu, wybierz W doświadczeniu.

  4. Określ nazwę, cel metryczny i planowany czas trwania eksperymentu. Eksperymenty trwają od 14 do 60 dni.

    Niezależnie od tego, co wybierzesz jako cel metryczny, eksperymenty śledzą wszystkie metryki z listy.

  5. Wybierz procentowy zasięg. Ta liczba to procent graczy, których chcesz uwzględnić w eksperymencie.

    Generalnie, im więcej osób uwzględnisz w eksperymencie, tym lepsze dane, ale użyj swojego osądu, co jest najlepsze dla twojej gry.

  6. Określ warianty i procenty.

    Warianty to alternatywne wartości dla twojej konfiguracji. Dla numerycznego klucza konfiguracyjnego bossHealth z wartością kontrolną 500, możesz określić wariant 300. Możesz mieć do dwóch wariantów i jedną kontrolę w eksperymencie.

    Procenty określają, jak przypisać warianty w ramach zasięgu eksperymentu. Rozważ następujący przykład:

    • Wybierasz ogólny zasięg 40%.
    • Określasz dwa warianty i podział 50/50 między nimi a kontrolą.

    W tym przykładzie 60% twoich użytkowników jest wykluczonych z eksperymentu; ci użytkownicy otrzymują kontrolę i nie mają wpływu na wyniki eksperymentu. Około 20% twoich użytkowników otrzymuje kontrolę jako część eksperymentu. Kolejne 20% otrzymuje wariant. W zależności od liczby graczy, ta dystrybucja może nie być wystarczająco duża, aby uzyskać użyteczne wyniki.

    Strona wariantów

  7. (Opcjonalnie) Skieruj eksperyment do konkretnej grupy odbiorców, aby tylko pasujący gracze byli uprawnieni do zapisania się. Kierowanie używa tych samych atrybutów gracza co warunkowe konfiguracje, a istniejące warunki możesz skopiować bezpośrednio z twoich konfiguracji. Aby uzyskać więcej informacji, zobacz Skieruj eksperymenty do konkretnych grup odbiorców.

    Opcjonalny krok kierowania podczas tworzenia eksperymentu

  8. Ostatnim krokiem jest harmonogram. Możesz rozpocząć eksperymenty natychmiast lub zaplanować je na późniejszy termin. Po zaplanowaniu eksperymentu nie możesz zmienić jego konfiguracji (czas trwania, procent zasięgu, warianty itp.), ale możesz go przeplanować.

Metryki

Eksperymenty śledzą wszystkie następujące metryki przez czas trwania eksperymentu.

MetrykaOpis
D1 retencjaProcent graczy, którzy wrócili do twojej gry po jednym dniu.
D7 retencjaProcent graczy, którzy wrócili do twojej gry po tygodniu.
Czas gryŚredni czas, jaki gracze spędzili w twojej grze. Skumulowany przez czas trwania eksperymentu.
ARPUŚredni przychód na użytkownika. Przychód podzielony przez liczbę graczy. Skumulowany przez czas trwania eksperymentu.
ARPPUŚredni przychód na płacącego użytkownika. Przychód podzielony przez liczbę graczy, którzy zakupili przedmiot związany z grą. Skumulowany przez czas trwania eksperymentu.
Wskaźnik konwersji płacącychProcent graczy, którzy zakupili przedmiot związany z grą.
Czas sesjiCzas gry podzielony przez liczbę sesji. Skumulowany przez czas trwania eksperymentu.

Status eksperymentu

Strona Eksperymenty pokazuje następujące statusy dla eksperymentów.

StatusOpis
ZakończonyEksperyment się zakończył, co następuje, gdy zatrzymasz go ręcznie, gdy osiągniesz decyzję lub automatycznie krótko po dacie decyzji (14 dni po dla eksperymentów w grze, natychmiast dla matchmakingu). Możesz nadal przeglądać szczegóły i wyniki.
Decyzja potrzebnaEksperyment osiągnął swoją datę decyzji. Teraz jest dobry czas, aby przeglądać wyniki.
W trakcieEksperyment jest w toku, ale jeszcze nie osiągnął daty decyzji.
ZaplanowanyEksperyment jest zaplanowany na rozpoczęcie w przyszłej dacie.
SzkicEksperyment nie został jeszcze rozpoczęty ani zaplanowany. Możesz dokończyć jego konfigurację.

Skieruj eksperymenty do konkretnych grup odbiorców

Domyślnie eksperyment w grze może zapisać każdego gracza w twoim procencie zasięgu. Kierowanie pozwala na przeprowadzenie eksperymentu na konkretnej grupie odbiorców, takich jak gracze w określonych krajach, w określonych oknach stażu lub w aktywnych poziomach wydatków. Kierowanie używa tych samych atrybutów co kierowanie konfiguracjami.

Ustawienie eksperymentów skierowanych

Konfigurujesz kryteria kierowania, gdy tworzysz eksperyment. Po rozpoczęciu eksperymentu nie możesz zmienić zasad kierowania, wartości kontrolnej, wariantów ani żadnych warunkowych zasad, które używa klucz konfiguracyjny.

Możesz ponownie wykorzystać istniejące zasady warunkowe z twoich konfiguracji, aby zdefiniować swoje kierowanie, ale eksperyment przechowuje niezależną kopię każdej zasady. Edytowanie lub usuwanie oryginalnego warunku konfiguracyjnego później nie ma wpływu na kierowanie eksperymentu.

Ponieważ zawężenie twojej grupy odbiorców zmniejsza rozmiar próbki, Roblox aktualizuje minimalny wykrywalny efekt (MDE) używając oszacowania grupy odbiorców, która pasuje do twoich kryteriów kierowania. Upewnij się, że twoja docelowa grupa odbiorców jest wystarczająco duża, aby uzyskać statystycznie znaczące wyniki.

Jak Roblox rozwiązuje wartości skierowane

Roblox ocenia eksperymenty najpierw, przed jakimikolwiek zasadami z standardowych warunkowych konfiguracji. Gdy klucz konfiguracyjny ma aktywny eksperyment, Roblox rozwiązuje wartość w tej kolejności:

  1. Wartość aktywnego eksperymentu, jeśli gracz jest skierowany i zapisany.
  2. Pierwszy pasujący warunek konfiguracyjny.
  3. Jakiekolwiek kolejne pasujące warunki konfiguracyjne.
  4. Wartość domyślna.

Gracze w grupie kontrolnej otrzymują wartość, którą produkują twoje istniejące zasady konfiguracyjne. Nie możesz uruchomić więcej niż jednego aktywnego eksperymentu na tym samym kluczu konfiguracyjnym w tym samym czasie.

Ocena na sesję

Roblox ocenia atrybuty kierowania na sesję, więc kwalifikowalność pojedynczego gracza może zmieniać się w czasie:

  • Jeśli gracz pasuje do twoich kryteriów kierowania podczas sesji, mogą być zapisani i otrzymać wariant eksperymentu.
  • Jeśli przestaną pasować w późniejszej sesji, przestaną otrzymywać wartość eksperymentu i natychmiast wrócą do twoich standardowych zasad konfiguracyjnych. Jeśli twój eksperyment wymaga ciągłości poza kwalifikowalnością—na przykład, wielosesyjny proces wprowadzający skierowany do nowych graczy—przechowuj wartość samodzielnie, na przykład w magazynie danych.

Dane gracza pozostają przypisane do wariantu (lub kontroli), w którym byli zapisani, nawet jeśli później przestaną pasować do kryteriów. Na przykład, D7 retencja nadal liczy gracza, który zapisał się w dniu 0 i czy wrócił w dniu 7, nawet jeśli nie kwalifikują się do dnia 4.

Zmiany w konfiguracji podczas działania eksperymentu

Aby zapobiec dryfowi konfiguracji i uszkodzeniu danych eksperymentu, Roblox blokuje klucz konfiguracyjny w momencie, gdy eksperyment zaczyna działać:

  • Nie możesz edytować ani usuwać działającego klucza konfiguracyjnego, ani modyfikować jego standardowych wartości warunkowych.
  • Jakiekolwiek globalne warunki, do których odnosi się aktywna konfiguracja, są również zablokowane. Nie możesz ich edytować, usuwać ani zmieniać ich kolejności względem siebie.

Blokada zostaje zdjęta, gdy eksperyment się kończy.

Dodaj eksperymenty do swojego kodu

Zastosowanie eksperymentów w grze jest podobne do zastosowania konfiguracji. Główna różnica polega na użyciu ConfigService:GetConfigForPlayerAsync() zamiast ConfigService:GetConfigAsync().

GetConfigForPlayerAsync() pobiera specyficzny dla gracza zrzut. Gdy wywołasz GetValue(), zrzut sprawdza, czy istnieje aktywny eksperyment i zapisuje (lub nie zapisuje) użytkownika na podstawie procentu zasięgu.

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)
  • Musisz wywołać GetConfigForPlayerAsync() osobno dla każdego gracza; GetConfigAsync() nie stosuje eksperymentów.

  • Po wywołaniu GetValue() na zrzucie specyficznym dla gracza, gracz związany z tym zrzutem jest zapisany w eksperymencie dla tego klucza i tylko tego klucza. Wszystkie kolejne wywołania metody zwracają tę samą kontrolę lub wariant przez czas trwania eksperymentu. Tylko pierwsze wywołanie jest losowe.

  • Zapis w eksperymentach nie jest ograniczony do nowych użytkowników. Nawet jeśli użytkownik wcześniej otrzymał wartość z GetConfigAsync(), nadal możesz zapisać go w eksperymencie, używając zrzutu specyficznego dla gracza z GetConfigForPlayerAsync().

  • Jeśli klucz w zrzucie specyficznym dla gracza nie ma aktywnego eksperymentu, GetValue() zwraca standardową wartość konfiguracyjną (lub nil, jeśli nie ma wartości).

Niestandardowe zapisy

Jeśli chcesz zapisać tylko graczy, którzy spełniają kryteria oparte na stanie w grze, musisz napisać dodatkowy kod, aby sprawdzić te kryteria, a następnie wywołać GetValue(), aby zapisać ich w eksperymencie. Rozważ następujący przykład:

  • Chcesz przetestować nowy schemat sterowania w swojej grze wyścigowej.
  • Schemat jest dla zaawansowanych graczy, więc chcesz skierować graczy, którzy wygrali dużą liczbę wyścigów.

Twój kod może wyglądać mniej więcej tak:

local function getControlScheme(player, racesWon)
if racesWon < 20 then
return "standardScheme"
else
-- Gracz ma wiele zwycięstw, zapisz w eksperymencie
local playerConfigSnapshot = ConfigService:GetConfigForPlayerAsync(player)
if playerConfigSnapshot:GetValue("useNewControlScheme") then
return "newScheme"
else
return "standardScheme"
end
end
end

Jeśli chcesz, aby schemat sterowania utrzymywał się w kolejnych sesjach, prawdopodobnie musisz dodać wartość do wpisu gracza w magazynie danych.

Wyświetlanie i interpretacja wyników

Po tym, jak eksperyment trwał co najmniej 24 godziny, kliknij Wyświetl, aby zobaczyć szczegóły i wyniki.

Strona szczegółów eksperymentu

Możesz zobaczyć całkowitą liczbę zapisanych graczy, a także liczbę graczy, którzy otrzymali wartość kontrolną i każdy wariant. Wczesne przeglądanie tej strony w eksperymencie jest przydatne wyłącznie do upewnienia się, że eksperyment działa poprawnie, nie do podejmowania działań. Przed podjęciem działań zapoznaj się z Najlepszymi praktykami.

Po zakończeniu eksperymentu sprawdź zakładkę Wyniki. Szukaj statystycznie istotnych zmian w metrykach celowych, które pulpit nawigacyjny podświetla na zielono lub czerwono. Te zmiany są bardziej prawdopodobne, aby pokazać wpływ twojego wariantu i mniej prawdopodobne, aby być fałszywymi pozytywami lub negatywami.

Strona wyników eksperymentu

Najedź kursorem na dowolną metrykę, aby zobaczyć przycisk Wyświetl zaufanie, który pokazuje przedział ufności.

Metryka jest statystycznie istotna, gdy przedział ufności dla jej procentowej zmiany nie pokrywa się z 0%. W następującym przykładzie, D1 retencja wzrosła o 17,4%, z dolnymi i górnymi granicami 8,02% i 22,03%, co czyni tę zmianę statystycznie istotną.

Przedział ufności dla metryki

Dla wygody strona wyników pozwala na zastąpienie domyślnej wartości konfiguracyjnej jedną z wariantów z eksperymentu.

Podejmowanie decyzji

Gdy twój eksperyment się kończy, kliknij Podejmij decyzję, aby rozpocząć kierowany zasięg. Roblox wyświetli wszelkie ostrzeżenia dotyczące istotności statystycznej i czasu trwania eksperymentu, a następnie poprosi cię o wybranie zwycięskiego wariantu lub zachowanie kontroli. W zależności od twojego wyboru, Roblox wprowadzi odpowiednią zmianę do twoich stałych konfiguracji; powrót do strony Konfiguracje pokazuje nową wartość. Kliknij Zmień zwycięzcę, jeśli zmienisz zdanie.

Jeśli masz nierozwiązane zmiany w konfiguracji, gdy kończysz eksperyment, Roblox tymczasowo je ukrywa i przywraca je na zasadzie najlepszych starań po zasięgu.

Twoja decyzja określa zmiany w konfiguracji, które proponuje Roblox:

  • Kontrola: Roblox nie wprowadza żadnych zmian w twoich istniejących konfiguracjach.

  • Niestargetowany wariant: Wartość wariantu staje się nową domyślną wartością konfiguracji. Roblox usuwa wszystkie inne warunki na tym kluczu konfiguracyjnym, chociaż pozostają one na liście globalnych warunków.

  • Targetowany wariant: Roblox integruje zwycięską zasadę z powrotem do twojej stałej konfiguracji, używając pierwszej odpowiedniej opcji w tej kolejności priorytetowej:

    1. Nadpisz: Jeśli identyczny warunek już znajduje się na górze konfiguracji, Roblox nadpisuje jego wartość wartością zwycięskiego wariantu.
    2. Dodaj istniejący: Jeśli istnieje pasujący globalny warunek, który naturalnie znajdowałby się na górze, Roblox dodaje go do konfiguracji z wartością wariantu.
    3. Promuj: Jeśli pasujący globalny warunek można bezpiecznie promować do najniższego rangu potrzebnego, aby stał się górną zasadą w tej konfiguracji (bez zmiany innych konfiguracji), Roblox dodaje go do konfiguracji i zmienia jego kolejność globalnie.
    4. Utwórz nowy: W przeciwnym razie Roblox tworzy nowy globalny warunek, który jest o jeden poziom wyżej niż najwyższy warunek obecnie używany w konfiguracji. Jeśli to tworzy duplikat zasady wewnątrz konfiguracji, Roblox usuwa zbędną wartość warunkową, zachowując globalną zasadę.

Najlepsze praktyki dla eksperymentów


  • Użyj minimalnego wykrywalnego efektu (MDE), aby zdecydować, czy twój eksperyment jest wart przeprowadzenia.

    Roblox oblicza MDE na podstawie twojego celu metrycznego i liczby graczy na wariant, co opiera się na codziennych aktywnych użytkownikach, procencie zasięgu, czasie trwania eksperymentu i podziałach wariantów. Jeśli MDE jest zbyt wysoki dla twojego celu metrycznego (na przykład, więcej niż 100%), jest mało prawdopodobne, że osiągniesz istotność statystyczną. Gry z mniej niż 1,000 codziennymi aktywnymi użytkownikami mogą mieć trudności z uzyskaniem użytecznych danych z eksperymentów.

    Niewystarczający ekran MDE podczas tworzenia.

  • Zacznij od hipotezy. Zamiast po prostu zmieniać zmienną i sprawdzać wyniki, napisz stwierdzenie przyczynowo-skutkowe dotyczące tego, co zmieniłeś, czego się spodziewasz i dlaczego. W miarę przeprowadzania coraz więcej eksperymentów, posiadanie zestawu napisanych hipotez, które towarzyszą twoim wynikom, może pomóc w wyjaśnieniu twojego myślenia i zainspirować nowe pomysły na eksperymenty.

  • Pozwól eksperymentom trwać przez pełny czas. Efekt nowości (tymczasowe zainteresowanie zmianą nie dlatego, że jest lepsza, ale dlatego, że jest nowa) może mocno zniekształcić wczesne wyniki, czasami powodując, że wchodzą i wychodzą z istotności statystycznej. Kończenie eksperymentów zbyt wcześnie zwiększa szanse na podjęcie przedwczesnych działań na podstawie anomalii, które więcej danych mogłoby wygładzić lub nawet zaprzeczyć.

  • Nie działaj bez istotności statystycznej. Nawet pozornie duże zmiany w zachowaniu graczy mogą nie być statystycznie istotne, zazwyczaj z powodu małej próbki. Jeśli zmiana nie jest statystycznie istotna, zignoruj ją.

  • Unikaj zmian podczas eksperymentów. Poważne błędy oczywiście wymagają poprawek, ale zmiany w treści gry mogą wpływać na zachowanie graczy i unieważnić twoje wyniki, nawet jeśli zmiany wydają się niezwiązane z twoim eksperymentem. Podobnie, uruchamiaj eksperymenty jednocześnie tylko wtedy, gdy jesteś pewien, że nie będą miały wpływu na siebie nawzajem.

  • Używaj przedziałów ufności do głębokich analiz metryk i sprawdzania granicznych przypadków istotności statystycznej. Jeśli przedział ufności jest zbyt szeroki, metryka może nigdy nie osiągnąć istotności statystycznej.

  • Jeśli jedna metryka znacznie wzrosła, a inna znacznie spadła, musisz zdecydować, czy kompromis jest wart tego, być może w połączeniu z innymi statystycznie istotnymi ruchami.

  • Eksperymenty dostarczają silnych sygnałów, ale istotność statystyczna dotyczy prawdopodobieństw, a nie pewności—stąd przedział ufności. Zmienność danych, rozmiar próbki i wielkość zmiany wpływają na prawdopodobieństwo wykrycia, czy wariant wpłynął na zachowanie gracza. Jakiekolwiek działania, które podejmujesz na podstawie wyników eksperymentu, powinny być zrównoważone z danymi jakościowymi, takimi jak opinie graczy i twoja ogólna wizja gry.

  • Dokumentuj swoje ustalenia i decyzje. Nawet jeśli nie używasz ich do przeprowadzania dodatkowych eksperymentów, posiadanie zbioru wiedzy i dowodów może informować, jak projektujesz swoje gry.

©2026 Roblox Corporation. Nazwa Roblox, logo Roblox oraz hasło „Powering Imagination” należą do naszych zarejestrowanych i niezarejestrowanych znaków towarowych na terenie Stanów Zjednoczonych oraz w innych krajach.