實驗 讓你在遊戲內和配對中進行 A/B 測試,以測量對遊戲變更的因果影響。例如,你可以向不同的玩家展示不同的入門體驗,並測量遊戲時間、留存率和其他關鍵績效指標的差異。
實驗非常適合測量以下內容:
- 參與度 - 入門流程、進度系統、控制方案、自訂配對
- 營利 - 商店可見性和用戶體驗、起始包類型、定價

創建實驗
實驗有兩種類型:
如果你還沒有 配置,為你的遊戲創建一個。
在 Creator Hub 的 實驗 頁面上,點擊 創建實驗。
對於 類型,選擇 遊戲內。
指定實驗的名稱、目標指標和計劃持續時間。實驗的持續時間為 14-60 天。
無論你選擇什麼作為目標指標,實驗都會跟踪列表中的所有 指標。
選擇百分比推出。這個數字是你希望包含在實驗中的玩家百分比。
一般來說,包含越多的人在實驗中,數據越好,但根據你的遊戲情況做出最佳判斷。
指定變體和百分比。
變體是你配置的替代值。對於數值配置鍵 bossHealth,控制值為 500,你可以指定一個變體為 300。你可以在實驗中擁有最多 兩個變體 和一個控制。
百分比決定如何在 實驗推出 中分配變體。考慮以下示例:
- 你選擇總體推出為 40%。
- 你指定兩個變體,並在它們和控制之間進行 50/50 分配。
在這個例子中,60% 的用戶被排除在實驗之外;這些用戶接收控制,對實驗結果沒有影響。大約 20% 的用戶作為實驗的一部分接收控制。另一個 20% 接收變體。根據你的玩家數量,這種分配可能不足以產生可行的結果。

(可選)將實驗針對特定受眾,以便只有符合條件的玩家有資格參加。目標使用與 條件配置相同的玩家屬性,你可以直接從你的配置中複製現有條件。更多信息,請參見 將實驗針對特定受眾。

最後一步是排程。你可以立即開始實驗或將其排程到未來的日期和時間。排程實驗後,你無法更改其配置(持續時間、推出百分比、變體等),但你可以重新排程。
指標
實驗在實驗期間跟踪以下所有指標。
| 指標 | 描述 |
|---|---|
| D1 留存率 | 一天後返回你遊戲的玩家百分比。 |
| D7 留存率 | 一週後返回你遊戲的玩家百分比。 |
| 遊戲時間 | 玩家在你遊戲中花費的平均時間。累計計算整個實驗期間。 |
| ARPU | 每位用戶的平均收入。收入除以玩家數量。累計計算整個實驗期間。 |
| ARPPU | 每位付費用戶的平均收入。收入除以購買遊戲相關物品的玩家數量。累計計算整個實驗期間。 |
| 付費轉換率 | 購買遊戲相關物品的玩家百分比。 |
| 會話時間 | 遊戲時間除以會話數。累計計算整個實驗期間。 |
實驗狀態
實驗 頁面顯示實驗的以下狀態。
| 狀態 | 描述 |
|---|---|
| 已完成 | 實驗結束,這發生在你手動停止它、達成決策或在決策日期後自動結束(遊戲內為 14 天後,配對則立即)。你仍然可以查看詳細信息和結果。 |
| 需要決策 | 實驗已達到決策日期。現在是查看結果的好時機。 |
| 運行中 | 實驗正在運行,但尚未達到決策日期。 |
| 已排程 | 實驗已排程在未來的日期開始。 |
| 草稿 | 實驗尚未開始或排程。你可以完成設置。 |
將實驗針對特定受眾
默認情況下,遊戲內實驗可以讓任何玩家參加你的推出百分比。目標 讓你可以在特定受眾上運行實驗,例如某些國家的玩家、特定的任期窗口或活躍的消費者層級。目標使用與 配置目標 相同的屬性。
設置目標實驗
你在 創建實驗 時配置目標標準。實驗開始後,你無法更改目標規則、控制值、變體或配置鍵使用的任何條件規則。
你可以重用現有的條件規則來定義你的目標,但實驗會存儲每條規則的獨立 副本。稍後編輯或刪除原始配置條件不會影響實驗的目標。
由於縮小受眾會減少樣本大小,Roblox 使用符合你目標標準的受眾估算來更新 最小可檢測效應 (MDE)。確保你的目標受眾足夠大,以產生統計上有意義的結果。
Roblox 如何解析目標值
Roblox 首先 評估實驗,然後才是標準條件配置的任何規則。當配置鍵有一個活動實驗時,Roblox 按以下順序解析值:
- 活動實驗值,如果玩家被目標並已註冊。
- 第一個匹配的配置條件。
- 任何後續匹配的配置條件。
- 默認值。
控制組的玩家接收你現有配置規則產生的值。你不能在同一配置鍵上同時運行多個活動實驗。
每會話評估
Roblox 每會話 評估目標屬性,因此單個玩家的資格可能會隨時間變化:
- 如果玩家在會話期間符合你的目標標準,他們可以被註冊並接收實驗變體。
- 如果他們在後續會話中不再符合標準,他們將停止接收實驗值,並立即回到你的標準配置規則。如果你的實驗需要超越資格的連續性——例如,針對新玩家的多會話入門流程——則需要自己持久化該值,例如在 數據存儲 中。
玩家的數據仍然歸屬於他們所註冊的變體(或控制),即使他們稍後不再符合標準。例如,D7 留存率仍然計算在第 0 天註冊的玩家,無論他們在第 7 天是否返回,即使他們在第 4 天不再符合資格。
實驗運行期間的配置變更
為了防止配置漂移和損壞的實驗數據,Roblox 在實驗開始運行的那一刻 鎖定配置鍵:
- 你無法編輯或刪除運行中的配置鍵,也無法修改其標準條件值。
- 任何活動配置引用的全局條件也被鎖定。你無法編輯、刪除或重新排序它們。
鎖定在實驗完成時解除。
將實驗添加到你的代碼中
應用遊戲內實驗類似於 應用配置。主要區別在於使用 ConfigService:GetConfigForPlayerAsync() 而不是 ConfigService:GetConfigAsync()。
GetConfigForPlayerAsync() 檢索玩家特定的快照。當你調用 GetValue() 時,快照會檢查是否有活動實驗,並根據推出百分比註冊(或不註冊)用戶。
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)你必須為每個玩家單獨調用 GetConfigForPlayerAsync();GetConfigAsync() 不適用於實驗。
在對玩家特定快照調用 GetValue() 之後,與該快照相關的玩家將在該鍵上註冊實驗,且僅限於該鍵。所有後續對該方法的調用在實驗期間返回相同的控制或變體。只有第一次調用是隨機的。
實驗的註冊不限於新用戶。即使用戶之前從 GetConfigAsync() 獲得了一個值,你仍然可以使用來自 GetConfigForPlayerAsync() 的玩家特定快照將他們註冊到實驗中。
如果玩家特定快照中的鍵沒有活動實驗,則 GetValue() 返回標準配置值(如果沒有值則返回 nil)。
自訂註冊
如果你想僅註冊符合基於遊戲內狀態的標準的玩家,你必須編寫額外的代碼來檢查這些標準,然後再調用 GetValue() 以將他們註冊到實驗中。考慮以下示例:
- 你想在你的賽車遊戲中測試一個新的控制方案。
- 該方案是針對高級玩家的,因此你想針對贏得大量比賽的玩家。
你的代碼可能看起來像這樣:
local function getControlScheme(player, racesWon)
if racesWon < 20 then
return "standardScheme"
else
-- 玩家贏得了很多比賽,註冊到實驗中
local playerConfigSnapshot = ConfigService:GetConfigForPlayerAsync(player)
if playerConfigSnapshot:GetValue("useNewControlScheme") then
return "newScheme"
else
return "standardScheme"
end
end
end如果你希望控制方案在後續會話中持久化,你可能需要在數據存儲中為玩家的條目添加一個值。
查看和解釋結果
在實驗運行至少 24 小時後,點擊 查看 以查看詳細信息和結果。

你可以看到註冊的玩家總數,以及接收控制值和每個變體的玩家數量。早期查看此頁面僅用於確保實驗正常運行,而不是 進行行動。在採取行動之前,請參見 最佳實踐。
實驗完成後,檢查 結果 標籤。尋找目標指標中統計上顯著的變化,儀表板會以綠色或紅色突出顯示這些變化。這些變化更可能顯示你的變體的影響,並且不太可能是假陽性或假陰性。

將鼠標懸停在任何指標上以查看 查看置信度 按鈕,該按鈕顯示置信區間。
當某個指標的百分比變化的置信區間不與 0% 重疊時,該指標就是統計上顯著的。在以下示例中,D1 留存率上升了 17.4%,下限和上限分別為 8.02% 和 22.03%,這使得變化在統計上顯著。

為了方便,結果頁面允許你用實驗中的變體替換默認配置值。
做出決策
當你的實驗結束時,點擊 做出決策 以開始引導推出。Roblox 會顯示有關統計顯著性和實驗持續時間的任何警告,然後提示你選擇獲勝的變體或保留控制。根據你的選擇,Roblox 將適當的變更推出到你的永久配置中;返回 配置 頁面會顯示新值。如果你改變主意,點擊 更改獲勝者。
如果在完成實驗時你的配置上有未解決的階段變更,Roblox 會暫時將它們存放起來,並在推出後根據最佳努力恢復它們。
你的決策決定了 Roblox 提出的配置變更:
控制:Roblox 不會對你現有的配置進行任何更改。
未目標變體:變體值成為配置的新默認值。Roblox 會刪除該配置鍵上的所有其他條件,但它們仍然保留在你的全局條件列表中。
目標變體:Roblox 使用此優先順序中的第一個適用選項將獲勝規則整合回你的永久配置:
- 覆蓋:如果相同的條件已經位於配置的頂部,Roblox 將用獲勝變體的值覆蓋其值。
- 添加現有:如果存在匹配的全局條件並且自然位於頂部,Roblox 將其與變體的值添加到配置中。
- 提升:如果匹配的全局條件可以安全地提升到所需的最低等級,使其成為該配置中的頂部規則(而不改變其他配置),Roblox 將其添加到配置中並在全局重新排序。
- 創建新:否則,Roblox 創建一個新的全局條件,排名高於當前配置中使用的最高條件。如果這在配置中創建了重複規則,Roblox 將刪除冗餘的條件值,同時保留全局規則。
實驗的最佳實踐
使用最小可檢測效應 (MDE) 來決定你的實驗是否值得運行。
Roblox 使用你的目標指標和每個變體的玩家數量計算 MDE,這基於每日活躍用戶、推出百分比、實驗持續時間和變體分配。如果 MDE 對於你的目標指標來說過高(例如,超過 100%),則不太可能達到統計顯著性。每日活躍用戶少於 1,000 的遊戲可能難以從實驗中獲得有用數據。

從假設開始。 不要僅僅改變一個變量並檢查結果,寫下關於你所改變的內容、你期望發生的事情以及為什麼的因果關係陳述。隨著你進行越來越多的實驗,擁有一組書面假設來伴隨你的結果可以幫助澄清你的思維並激發新的實驗想法。
讓實驗運行其完整的持續時間。 新奇效應(對變更的暫時興趣,並不是因為它更好,而是因為它是新的)可能會嚴重扭曲早期結果,有時會導致它們在統計顯著性之間波動。提前結束實驗會增加你根據異常峰值採取過早行動的機會,而這些峰值更多的數據會平滑或甚至反駁。
不要在沒有統計顯著性的情況下行動。 即使玩家行為的變化看起來很大,通常也可能不是統計上顯著的,這通常是由於樣本大小小。如果變化不是統計上顯著的,則忽略它。
在實驗期間避免變更。 重大錯誤當然需要修復,但對遊戲內容的變更可能會影響玩家行為並使你的結果無效,即使這些變更 看起來 與你的實驗無關。同樣,只有在你確信它們不會相互影響的情況下,才同時運行實驗。
使用置信區間深入分析 指標並檢查統計顯著性的邊界情況。如果置信區間過寬,則該指標可能永遠無法達到統計顯著性。
如果一個指標顯著上升而另一個顯著下降,你必須 決定這種權衡是否值得,可能還要結合其他統計上顯著的變化。
實驗提供強信號,但 統計顯著性處理的是概率,而不是確定性——因此有置信區間。數據變異性、樣本大小和變化的幅度都會影響檢測變體是否影響玩家行為的概率。你根據實驗結果採取的任何行動都應該與質性數據(如玩家反饋和你對遊戲的整體願景)相平衡。
記錄你的發現和決策。 即使你不使用它們來運行額外的實驗,擁有一套知識和證據可以幫助你設計遊戲。