Thí nghiệm cho phép bạn thực hiện các bài kiểm tra A/B trong trò chơi và ghép cặp để đo lường tác động nguyên nhân của những thay đổi đối với trò chơi của bạn. Ví dụ, bạn có thể hiển thị các trải nghiệm hướng dẫn khác nhau cho các người chơi khác nhau và đo lường sự khác biệt về thời gian chơi, tỷ lệ giữ chân và các chỉ số hiệu suất chính khác.
Thí nghiệm rất tuyệt vời để đo lường các yếu tố sau:
- Sự tham gia - Quy trình hướng dẫn, hệ thống tiến trình, cách điều khiển, ghép cặp tùy chỉnh
- Doanh thu - Tính khả thi của cửa hàng và trải nghiệm người dùng, loại gói khởi đầu, giá cả

Tạo thí nghiệm
Thí nghiệm có hai loại:
- Thí nghiệm trong trò chơi cho phép bạn đo lường tác động của các giá trị cấu hình khác nhau.
- Thí nghiệm ghép cặp cho phép bạn đo lường tác động của các cấu hình ghép cặp tùy chỉnh. Khác với thí nghiệm trong trò chơi, bạn chỉ có thể thực hiện một thí nghiệm ghép cặp tại một thời điểm.
Nếu bạn chưa có một cấu hình, hãy tạo một cái cho trò chơi của bạn.
Trên trang Creator Hub Thí nghiệm cho trò chơi của bạn, nhấp vào Tạo thí nghiệm.
Đối với Loại, chọn Trong trải nghiệm.
Chỉ định một tên, chỉ số mục tiêu và thời gian dự kiến cho thí nghiệm. Thí nghiệm kéo dài từ 14-60 ngày.
Bất kể bạn chọn chỉ số mục tiêu nào, thí nghiệm sẽ theo dõi tất cả các chỉ số trong danh sách.
Chọn tỷ lệ triển khai phần trăm. Số này là tỷ lệ phần trăm người chơi mà bạn muốn bao gồm trong thí nghiệm.
Nói chung, càng nhiều người bạn bao gồm trong một thí nghiệm, dữ liệu càng tốt, nhưng hãy sử dụng phán đoán của bạn về điều gì là tốt nhất cho trò chơi của bạn.
Chỉ định các biến thể và tỷ lệ phần trăm.
Các biến thể là các giá trị thay thế cho cấu hình của bạn. Đối với một khóa cấu hình số bossHealth với giá trị kiểm soát là 500, bạn có thể chỉ định một biến thể là 300. Bạn có thể có tối đa hai biến thể và một kiểm soát trong một thí nghiệm.
Tỷ lệ phần trăm quy định cách phân bổ các biến thể trong triển khai thí nghiệm. Hãy xem xét ví dụ sau:
- Bạn chọn một triển khai tổng thể là 40%.
- Bạn chỉ định hai biến thể và một phân chia 50/50 giữa chúng và kiểm soát.
Trong ví dụ này, 60% người dùng của bạn bị loại trừ khỏi thí nghiệm; những người dùng này nhận được kiểm soát và không có tác động đến kết quả thí nghiệm. Khoảng 20% người dùng của bạn nhận được kiểm soát như một phần của thí nghiệm. Một 20% khác nhận được biến thể. Tùy thuộc vào số lượng người chơi của bạn, phân phối này có thể không đủ lớn để tạo ra kết quả có thể hành động.

(Tùy chọn) Nhắm mục tiêu thí nghiệm đến một đối tượng cụ thể để chỉ những người chơi phù hợp mới đủ điều kiện tham gia. Nhắm mục tiêu sử dụng cùng các thuộc tính người chơi như các cấu hình điều kiện, và bạn có thể sao chép các điều kiện hiện có trực tiếp từ các cấu hình của bạn. Để biết thêm thông tin, xem Nhắm mục tiêu thí nghiệm đến các đối tượng cụ thể.

Bước cuối cùng là lập lịch. Bạn có thể bắt đầu thí nghiệm ngay lập tức hoặc lập lịch cho một ngày và thời gian sau. Sau khi bạn lập lịch cho một thí nghiệm, bạn không thể thay đổi cấu hình của nó (thời gian, tỷ lệ triển khai, biến thể, v.v.), nhưng bạn có thể lập lại lịch.
Chỉ số
Thí nghiệm theo dõi tất cả các chỉ số sau trong suốt thời gian thí nghiệm.
| Chỉ số | Mô tả |
|---|---|
| D1 retention | Tỷ lệ phần trăm người chơi quay lại trò chơi của bạn sau một ngày. |
| D7 retention | Tỷ lệ phần trăm người chơi quay lại trò chơi của bạn sau một tuần. |
| Thời gian chơi | Thời gian trung bình mà người chơi dành trong trò chơi của bạn. Tích lũy trong suốt thời gian thí nghiệm. |
| ARPU | Doanh thu trung bình trên mỗi người dùng. Doanh thu chia cho số lượng người chơi. Tích lũy trong suốt thời gian thí nghiệm. |
| ARPPU | Doanh thu trung bình trên mỗi người dùng trả tiền. Doanh thu chia cho số lượng người chơi đã mua một vật phẩm liên quan đến trò chơi. Tích lũy trong suốt thời gian thí nghiệm. |
| Tỷ lệ chuyển đổi người trả tiền | Tỷ lệ phần trăm người chơi đã mua một vật phẩm liên quan đến trò chơi. |
| Thời gian phiên | Thời gian chơi chia cho số lượng phiên. Tích lũy trong suốt thời gian thí nghiệm. |
Trạng thái thí nghiệm
Trang Thí nghiệm hiển thị các trạng thái sau cho các thí nghiệm.
| Trạng thái | Mô tả |
|---|---|
| Hoàn thành | Thí nghiệm đã kết thúc, điều này xảy ra khi bạn dừng nó thủ công, khi bạn đạt được quyết định, hoặc tự động ngay sau ngày quyết định (14 ngày sau đối với thí nghiệm trong trò chơi, ngay lập tức đối với thí nghiệm ghép cặp). Bạn vẫn có thể xem lại chi tiết và kết quả. |
| Cần quyết định | Thí nghiệm đã đến ngày quyết định của nó. Bây giờ là thời điểm tốt để xem lại kết quả. |
| Đang chạy | Thí nghiệm đang chạy nhưng chưa đến ngày quyết định. |
| Đã lên lịch | Thí nghiệm đã được lên lịch để bắt đầu vào một ngày trong tương lai. |
| Bản nháp | Thí nghiệm chưa được bắt đầu hoặc lên lịch. Bạn có thể hoàn thành việc thiết lập nó. |
Nhắm mục tiêu thí nghiệm đến các đối tượng cụ thể
Theo mặc định, một thí nghiệm trong trò chơi có thể ghi danh bất kỳ người chơi nào trong tỷ lệ triển khai của bạn. Nhắm mục tiêu cho phép bạn thực hiện thí nghiệm trên một đối tượng cụ thể thay vào đó, chẳng hạn như người chơi ở một số quốc gia nhất định, các khoảng thời gian cụ thể, hoặc các cấp độ chi tiêu tích cực. Nhắm mục tiêu sử dụng cùng các thuộc tính như nhắm mục tiêu cấu hình.
Thiết lập thí nghiệm nhắm mục tiêu
Bạn cấu hình các tiêu chí nhắm mục tiêu khi bạn tạo thí nghiệm. Sau khi thí nghiệm bắt đầu, bạn không thể thay đổi các quy tắc nhắm mục tiêu, giá trị kiểm soát, các biến thể, hoặc bất kỳ quy tắc điều kiện nào mà khóa cấu hình sử dụng.
Bạn có thể tái sử dụng các quy tắc điều kiện hiện có từ các cấu hình của bạn để xác định nhắm mục tiêu của bạn, nhưng thí nghiệm lưu trữ một bản sao độc lập của mỗi quy tắc. Việc chỉnh sửa hoặc xóa điều kiện cấu hình gốc sau này sẽ không ảnh hưởng đến nhắm mục tiêu của thí nghiệm.
Bởi vì việc thu hẹp đối tượng của bạn làm giảm kích thước mẫu, Roblox cập nhật tác động tối thiểu có thể phát hiện (MDE) bằng cách sử dụng ước lượng về đối tượng phù hợp với tiêu chí nhắm mục tiêu của bạn. Đảm bảo rằng đối tượng nhắm mục tiêu của bạn đủ lớn để tạo ra kết quả có ý nghĩa thống kê.
Cách Roblox giải quyết các giá trị nhắm mục tiêu
Roblox đánh giá các thí nghiệm trước tiên, trước bất kỳ quy tắc nào từ các cấu hình điều kiện tiêu chuẩn. Khi một khóa cấu hình có một thí nghiệm đang hoạt động, Roblox giải quyết giá trị theo thứ tự này:
- Giá trị thí nghiệm đang hoạt động, nếu người chơi được nhắm mục tiêu và ghi danh.
- Điều kiện cấu hình phù hợp đầu tiên.
- Bất kỳ điều kiện cấu hình phù hợp nào tiếp theo.
- Giá trị mặc định.
Người chơi trong nhóm kiểm soát nhận giá trị mà các quy tắc cấu hình hiện có của bạn tạo ra. Bạn không thể thực hiện nhiều hơn một thí nghiệm đang hoạt động trên cùng một khóa cấu hình tại một thời điểm.
Đánh giá theo phiên
Roblox đánh giá các thuộc tính nhắm mục tiêu theo phiên, vì vậy khả năng đủ điều kiện của một người chơi cá nhân có thể thay đổi theo thời gian:
- Nếu một người chơi phù hợp với tiêu chí nhắm mục tiêu của bạn trong một phiên, họ có thể được ghi danh và nhận một biến thể thí nghiệm.
- Nếu họ không còn phù hợp trong một phiên sau đó, họ sẽ ngừng nhận giá trị thí nghiệm và ngay lập tức quay lại các quy tắc cấu hình tiêu chuẩn của bạn. Nếu thí nghiệm của bạn cần tính liên tục vượt quá khả năng đủ điều kiện—ví dụ, một quy trình hướng dẫn nhiều phiên nhắm vào người chơi mới—hãy tự duy trì giá trị, chẳng hạn như trong một cửa hàng dữ liệu.
Dữ liệu của một người chơi vẫn được gán cho biến thể (hoặc kiểm soát) mà họ đã ghi danh, ngay cả khi họ sau đó ngừng phù hợp với tiêu chí. Ví dụ, D7 retention vẫn tính một người chơi đã ghi danh vào ngày 0 và xem họ có quay lại vào ngày 7 hay không, ngay cả khi họ không còn đủ điều kiện vào ngày 4.
Thay đổi cấu hình trong khi thí nghiệm đang chạy
Để ngăn chặn sự trôi dạt cấu hình và dữ liệu thí nghiệm bị hỏng, Roblox khóa khóa cấu hình ngay khi một thí nghiệm bắt đầu chạy:
- Bạn không thể chỉnh sửa hoặc xóa khóa cấu hình đang chạy, cũng như không thể thay đổi các giá trị điều kiện tiêu chuẩn của nó.
- Bất kỳ điều kiện toàn cầu nào mà cấu hình đang hoạt động tham chiếu cũng sẽ bị khóa. Bạn không thể chỉnh sửa, xóa hoặc thay đổi thứ tự của chúng tương đối với nhau.
Khóa sẽ được giải phóng khi thí nghiệm hoàn thành.
Thêm thí nghiệm vào mã của bạn
Áp dụng các thí nghiệm trong trò chơi tương tự như áp dụng cấu hình. Sự khác biệt chính là việc sử dụng ConfigService:GetConfigForPlayerAsync() thay vì ConfigService:GetConfigAsync().
GetConfigForPlayerAsync() lấy một ảnh chụp cụ thể cho người chơi. Khi bạn gọi GetValue(), ảnh chụp sẽ kiểm tra xem có thí nghiệm đang hoạt động hay không và ghi danh (hoặc không ghi danh) người dùng dựa trên tỷ lệ triển khai.
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)Bạn phải gọi GetConfigForPlayerAsync() riêng biệt cho mỗi người chơi; GetConfigAsync() không áp dụng thí nghiệm.
Sau khi bạn gọi GetValue() trên một ảnh chụp cụ thể cho người chơi, người chơi liên kết với ảnh chụp sẽ được ghi danh vào thí nghiệm cho khóa đó và chỉ khóa đó. Tất cả các cuộc gọi tiếp theo đến phương thức sẽ trả về cùng một kiểm soát hoặc biến thể trong suốt thời gian thí nghiệm. Chỉ cuộc gọi đầu tiên là ngẫu nhiên.
Việc ghi danh vào các thí nghiệm không giới hạn ở người dùng mới. Ngay cả khi một người dùng trước đó đã nhận được một giá trị từ GetConfigAsync(), bạn vẫn có thể ghi danh họ vào một thí nghiệm bằng cách sử dụng một ảnh chụp cụ thể cho người chơi từ GetConfigForPlayerAsync().
Nếu một khóa trong một ảnh chụp cụ thể cho người chơi không có thí nghiệm đang hoạt động, GetValue() sẽ trả về giá trị cấu hình tiêu chuẩn (hoặc nil nếu nó không có giá trị).
Ghi danh tùy chỉnh
Nếu bạn muốn ghi danh chỉ những người chơi đáp ứng tiêu chí dựa trên trạng thái trong trò chơi, bạn phải viết mã bổ sung để kiểm tra các tiêu chí đó và chỉ sau đó gọi GetValue() để ghi danh họ vào thí nghiệm. Hãy xem xét ví dụ sau:
- Bạn muốn thử nghiệm một cách điều khiển mới trong trò chơi đua xe của bạn.
- Cách điều khiển này dành cho những người chơi nâng cao, vì vậy bạn muốn nhắm mục tiêu những người chơi đã thắng nhiều cuộc đua.
Mã của bạn có thể trông như thế này:
local function getControlScheme(player, racesWon)
if racesWon < 20 then
return "standardScheme"
else
-- Người chơi đã thắng nhiều, ghi danh vào thí nghiệm
local playerConfigSnapshot = ConfigService:GetConfigForPlayerAsync(player)
if playerConfigSnapshot:GetValue("useNewControlScheme") then
return "newScheme"
else
return "standardScheme"
end
end
endNếu bạn muốn cách điều khiển này duy trì trong các phiên tiếp theo, bạn có thể cần thêm một giá trị vào mục của người chơi trong một cửa hàng dữ liệu.
Xem và diễn giải kết quả
Sau khi một thí nghiệm đã chạy ít nhất 24 giờ, nhấp vào Xem để xem chi tiết và kết quả.

Bạn có thể thấy tổng số người chơi đã ghi danh, cũng như số lượng người chơi nhận được giá trị kiểm soát và mỗi biến thể. Xem trang này sớm trong thí nghiệm là hữu ích chỉ để đảm bảo rằng thí nghiệm đang chạy đúng cách, không để thực hiện hành động. Trước khi thực hiện hành động, hãy xem Các thực tiễn tốt nhất.
Sau khi thí nghiệm hoàn thành, hãy kiểm tra tab Kết quả. Tìm kiếm những thay đổi có ý nghĩa thống kê trong các chỉ số mục tiêu, mà bảng điều khiển làm nổi bật bằng màu xanh lá cây hoặc đỏ. Những thay đổi này có khả năng cho thấy tác động của biến thể của bạn và ít có khả năng là các kết quả dương tính hoặc âm tính giả.

Di chuột qua bất kỳ chỉ số nào để xem nút Xem độ tin cậy, nút này hiển thị khoảng tin cậy.
Một chỉ số được coi là có ý nghĩa thống kê khi khoảng tin cậy cho sự thay đổi phần trăm của nó không chồng chéo với 0%. Trong ví dụ sau, D1 retention tăng 17.4%, với giới hạn dưới và trên là 8.02% và 22.03%, điều này làm cho sự thay đổi có ý nghĩa thống kê.

Để tiện lợi, trang kết quả cho phép bạn thay thế giá trị cấu hình mặc định bằng một trong các biến thể từ thí nghiệm.
Đưa ra quyết định
Khi thí nghiệm của bạn kết thúc, nhấp vào Đưa ra quyết định để bắt đầu một triển khai có hướng dẫn. Roblox sẽ hiển thị bất kỳ cảnh báo nào về ý nghĩa thống kê và thời gian thí nghiệm, sau đó yêu cầu bạn chọn một biến thể chiến thắng hoặc giữ lại kiểm soát. Dựa trên lựa chọn của bạn, Roblox sẽ triển khai thay đổi thích hợp vào các cấu hình vĩnh viễn của bạn; quay lại trang Cấu hình sẽ hiển thị giá trị mới. Nhấp vào Thay đổi người chiến thắng nếu bạn thay đổi ý kiến.
Nếu bạn có các thay đổi tạm thời chưa được giải quyết trên cấu hình khi bạn hoàn thành thí nghiệm, Roblox sẽ tạm thời lưu trữ chúng và khôi phục chúng trên cơ sở nỗ lực tốt nhất sau khi triển khai.
Quyết định của bạn xác định các thay đổi cấu hình mà Roblox đề xuất:
Kiểm soát: Roblox không thực hiện bất kỳ thay đổi nào đối với các cấu hình hiện có của bạn.
Biến thể không nhắm mục tiêu: Giá trị biến thể trở thành giá trị mặc định mới của cấu hình. Roblox sẽ xóa tất cả các điều kiện khác trên khóa cấu hình đó, mặc dù chúng vẫn nằm trong danh sách điều kiện toàn cầu của bạn.
Biến thể nhắm mục tiêu: Roblox tích hợp quy tắc chiến thắng trở lại vào cấu hình vĩnh viễn của bạn bằng cách sử dụng tùy chọn đầu tiên áp dụng trong thứ tự ưu tiên này:
- Ghi đè: Nếu một điều kiện giống hệt đã nằm ở đầu cấu hình, Roblox sẽ ghi đè giá trị của nó bằng giá trị của biến thể chiến thắng.
- Thêm hiện có: Nếu một điều kiện toàn cầu phù hợp tồn tại và sẽ tự nhiên nằm ở đầu, Roblox sẽ thêm nó vào cấu hình với giá trị của biến thể.
- Thăng cấp: Nếu một điều kiện toàn cầu phù hợp có thể được thăng cấp một cách an toàn lên cấp thấp nhất cần thiết để làm cho nó trở thành quy tắc hàng đầu trong cấu hình này (mà không làm thay đổi các cấu hình khác), Roblox sẽ thêm nó vào cấu hình và sắp xếp lại nó toàn cầu.
- Tạo mới: Nếu không, Roblox sẽ tạo một điều kiện toàn cầu mới xếp hạng một cấp trên điều kiện cao nhất hiện đang được sử dụng trong cấu hình. Nếu điều này tạo ra một quy tắc trùng lặp bên trong cấu hình, Roblox sẽ xóa giá trị điều kiện dư thừa trong khi vẫn giữ quy tắc toàn cầu.
Các thực tiễn tốt nhất cho thí nghiệm
Sử dụng tác động tối thiểu có thể phát hiện (MDE) để quyết định xem thí nghiệm của bạn có đáng chạy hay không.
Roblox tính toán MDE bằng cách sử dụng chỉ số mục tiêu của bạn và số lượng người chơi mỗi biến thể, dựa trên số người dùng hoạt động hàng ngày, tỷ lệ triển khai, thời gian thí nghiệm và phân chia biến thể. Nếu MDE quá cao cho chỉ số mục tiêu của bạn (ví dụ: hơn 100%), có khả năng bạn không thể đạt được ý nghĩa thống kê. Các trò chơi có ít hơn 1.000 người dùng hoạt động hàng ngày có thể gặp khó khăn trong việc thu thập dữ liệu hữu ích từ các thí nghiệm.

Bắt đầu với một giả thuyết. Thay vì chỉ thay đổi một biến và kiểm tra kết quả, hãy viết một tuyên bố nguyên nhân-kết quả về những gì bạn đã thay đổi, những gì bạn mong đợi sẽ xảy ra và tại sao. Khi bạn thực hiện nhiều thí nghiệm hơn, việc có một tập hợp các giả thuyết được viết ra để đi kèm với kết quả của bạn có thể giúp làm rõ suy nghĩ của bạn và khơi dậy những ý tưởng mới cho các thí nghiệm.
Để các thí nghiệm chạy trong thời gian đầy đủ của chúng. Hiệu ứng mới lạ (sự quan tâm tạm thời đến một thay đổi không phải vì nó tốt hơn, mà vì nó mới) có thể làm lệch lạc nặng nề các kết quả sớm, đôi khi khiến chúng dao động vào và ra khỏi ý nghĩa thống kê. Kết thúc các thí nghiệm sớm làm tăng khả năng bạn thực hiện hành động sớm dựa trên các đỉnh bất thường mà nhiều dữ liệu sẽ làm mượt hoặc thậm chí mâu thuẫn.
Đừng hành động mà không có ý nghĩa thống kê. Ngay cả những thay đổi dường như lớn trong hành vi của người chơi cũng có thể không có ý nghĩa thống kê, thường là do kích thước mẫu nhỏ. Nếu một thay đổi không có ý nghĩa thống kê, hãy bỏ qua nó.
Tránh thay đổi trong khi thí nghiệm. Các lỗi lớn tất nhiên cần được sửa, nhưng các thay đổi đối với nội dung trò chơi có thể ảnh hưởng đến hành vi của người chơi và làm vô hiệu hóa kết quả của bạn, ngay cả khi các thay đổi có vẻ không liên quan đến thí nghiệm của bạn. Tương tự, chỉ thực hiện các thí nghiệm đồng thời nếu bạn tự tin rằng chúng sẽ không tương tác với nhau.
Sử dụng khoảng tin cậy để đi sâu vào các chỉ số và kiểm tra các trường hợp gần như có ý nghĩa thống kê. Nếu khoảng tin cậy quá rộng, chỉ số có thể không bao giờ đạt được ý nghĩa thống kê.
Nếu một chỉ số tăng đáng kể và một chỉ số khác giảm đáng kể, bạn phải quyết định xem sự đánh đổi có đáng giá hay không, có thể kết hợp với các chuyển động có ý nghĩa thống kê khác.
Các thí nghiệm cung cấp tín hiệu mạnh, nhưng ý nghĩa thống kê liên quan đến xác suất, không phải sự chắc chắn—do đó có khoảng tin cậy. Biến động dữ liệu, kích thước mẫu và độ lớn của sự thay đổi đều ảnh hưởng đến xác suất phát hiện xem một biến thể có ảnh hưởng đến hành vi của người chơi hay không. Bất kỳ hành động nào bạn thực hiện dựa trên kết quả của một thí nghiệm nên được cân nhắc với dữ liệu định tính như phản hồi của người chơi và tầm nhìn tổng thể của bạn cho trò chơi.
Ghi lại những phát hiện và quyết định của bạn. Ngay cả khi bạn không sử dụng chúng để thực hiện các thí nghiệm bổ sung, việc có một khối lượng kiến thức và bằng chứng có thể thông báo cách bạn thiết kế trò chơi của mình.