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
- Kiếm tiền - 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 nhau. 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 Thí nghiệm của Creator Hub 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. 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 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.

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ể thay đổ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 giữ chân | 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 giữ chân | 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 ghép cặp). Bạn vẫn có thể xem xét 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 xét 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ó. |
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 quan đến ả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 có mục tiêu
Nếu bạn muốn nhắm đến một phần nào đó của người chơi của bạn đáp ứng các tiêu chí cụ thể, 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. 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 của bạn.
- Bạn không muốn bao gồm những người chơi hiện tại (những người có lẽ đã quen với cách điều khiển hiện tại), chỉ những người chơi mới.
Mã của bạn có thể trông như thế này:
local function getControlScheme(player, racesCompleted)
if racesCompleted > 0 then
return "standardScheme"
else
-- Người chơi là mới, 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 được 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 kho 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 tất, 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 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 giả 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, tỷ lệ giữ chân D1 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 trở nên có ý nghĩa thống kê.

Để thuận tiện, 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. Nhấp vào Đưa ra quyết định để chọn một biến thể hoặc Thay đổi người chiến thắng nếu bạn thay đổi ý kiến. Nếu bạn sau đó quay lại trang Cấu hình, bạn sẽ thấy giá trị mới.
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 dựa trên chỉ số mục tiêu của bạn và số lượng người chơi mỗi biến thể, điều này 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%), thì 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 bộ 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 toàn bộ thời gian của chúng. Hiệu ứng mới (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 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 quá trình thí nghiệm. Các lỗi lớn tất nhiên cần được sửa, nhưng những 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 những 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 biên của ý 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 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 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 bằng 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 chép 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.