การทดลอง ช่วยให้คุณสามารถทำการทดสอบ A/B ในเกมและการจับคู่เพื่อวัดผลกระทบที่เกิดจากการเปลี่ยนแปลงในเกมของคุณ ตัวอย่างเช่น คุณสามารถแสดงประสบการณ์การเริ่มต้นที่แตกต่างกันให้กับผู้เล่นที่แตกต่างกันและวัดความแตกต่างในเวลาเล่น การเก็บรักษา และตัวชี้วัดประสิทธิภาพหลักอื่นๆ
การทดลองนั้นยอดเยี่ยมสำหรับการวัดผลด้านต่างๆ ดังต่อไปนี้:
- การมีส่วนร่วม - กระบวนการเริ่มต้น ระบบความก้าวหน้า รูปแบบการควบคุม การจับคู่แบบกำหนดเอง
- การสร้างรายได้ - ความสามารถในการมองเห็นร้านค้าและประสบการณ์ของผู้ใช้ ประเภทแพ็คเริ่มต้น การตั้งราคา

สร้างการทดลอง
การทดลองมีสองประเภท:
- การทดลองในเกม ช่วยให้คุณสามารถวัดผลกระทบของค่า config ที่แตกต่างกัน
- การทดลองการจับคู่ ช่วยให้คุณสามารถวัดผลกระทบของการตั้งค่าการจับคู่ที่แตกต่างกัน การปรับแต่งการจับคู่ ต่างจากการทดลองในเกม คุณสามารถทำการทดลองการจับคู่ได้เพียงหนึ่งครั้งในเวลาเดียวกัน
หากคุณยังไม่มี config ให้สร้างหนึ่งสำหรับเกมของคุณ
บนหน้า การทดลอง ใน Creator Hub สำหรับเกมของคุณ ให้คลิก สร้างการทดลอง
สำหรับ ประเภท ให้เลือก ในประสบการณ์
ระบุชื่อ ตัวชี้วัดเป้าหมาย และระยะเวลาที่วางแผนสำหรับการทดลอง การทดลองจะดำเนินการระหว่าง 14-60 วัน
ไม่ว่าคุณจะเลือกอะไรเป็นตัวชี้วัดเป้าหมาย การทดลองจะติดตามทั้งหมด ตัวชี้วัด ในรายการ
เลือกเปอร์เซ็นต์การออกแบบ จำานวนนี้คือเปอร์เซ็นต์ของผู้เล่นที่คุณต้องการรวมในการทดลอง
โดยทั่วไป ยิ่งคุณรวมคนมากเท่าไรในการทดลอง ข้อมูลก็จะยิ่งดีขึ้น แต่ให้ใช้การตัดสินใจของคุณในสิ่งที่ดีที่สุดสำหรับเกมของคุณ
ระบุรูปแบบและเปอร์เซ็นต์
รูปแบบคือค่าทางเลือกสำหรับ config ของคุณ สำหรับคีย์ config เชิงจำนวน bossHealth ที่มีค่าควบคุมเป็น 500 คุณอาจระบุรูปแบบเป็น 300 คุณสามารถมีได้ถึง สองรูปแบบ และหนึ่งค่าในฐานการทดลอง
เปอร์เซ็นต์จะบอกวิธีการกำหนดรูปแบบ ภายในการออกแบบการทดลอง พิจารณาตัวอย่างต่อไปนี้:
- คุณเลือกการออกแบบรวม 40%
- คุณระบุสองรูปแบบและการแบ่งสัดส่วน 50/50 ระหว่างรูปแบบและควบคุม
ในตัวอย่างนี้ ผู้ใช้ 60% ของคุณไม่ได้รับการทดลอง; ผู้ใช้เหล่านี้จะได้รับค่าควบคุมและไม่มีผลกระทบต่อผลการทดลอง ประมาณ 20% ของผู้ใช้ของคุณจะได้รับค่าควบคุมในส่วนหนึ่งของการทดลอง อีก 20% จะได้รับรูปแบบ ขึ้นอยู่กับจำนวนผู้เล่น การกระจายนี้อาจไม่เพียงพอในการให้ผลลัพธ์ที่นำไปปฏิบัติได้

ขั้นตอนสุดท้ายคือการกำหนดเวลา คุณสามารถเริ่มการทดลองทันทีหรือตั้งเวลาเป็นวันที่และเวลาที่ภายหลัง หลังจากที่คุณกำหนดเวลาแล้ว คุณไม่สามารถเปลี่ยนแปลงการกำหนดค่า (ระยะเวลา เปอร์เซ็นต์การออกแบบ รูปแบบ ฯลฯ) ของการทดลองได้ แต่คุณสามารถกำหนดเวลาใหม่ได้
ตัวชี้วัด
การทดลองติดตามตัวชี้วัดที่อยู่ต่อไปนี้ทั้งหมดตลอดระยะเวลาการทดลอง
| ตัวชี้วัด | คำอธิบาย |
|---|---|
| D1 retention | เปอร์เซ็นต์ของผู้เล่นที่กลับมาเล่นเกมของคุณหลังจากหนึ่งวัน |
| D7 retention | เปอร์เซ็นต์ของผู้เล่นที่กลับมาเล่นเกมของคุณหลังจากหนึ่งสัปดาห์ |
| Playtime | เวลาที่เฉลี่ยที่ผู้เล่นใช้ในเกมของคุณ รวมกันตลอดระยะเวลาของการทดลอง |
| ARPU | รายได้เฉลี่ยต่อผู้ใช้ รายได้หารด้วยจำนวนผู้เล่น รวมกันตลอดระยะเวลาของการทดลอง |
| ARPPU | รายได้เฉลี่ยต่อผู้ใช้ที่จ่าย รายได้หารด้วยจำนวนผู้เล่นที่ซื้อรายการที่เกี่ยวข้องกับเกม รวมกันตลอดระยะเวลาของการทดลอง |
| Payer conversion rate | เปอร์เซ็นต์ของผู้เล่นที่ซื้อรายการที่เกี่ยวข้องกับเกม |
| Session time | เวลาเล่นหารด้วยจำนวนเซสชัน รวมกันตลอดระยะเวลาของการทดลอง |
สถานะการทดลอง
หน้ การทดลอง จะแสดงสถานะต่อไปนี้สำหรับการทดลอง
| สถานะ | คำอธิบาย |
|---|---|
| เสร็จสิ้น | การทดลองเสร็จสิ้น ซึ่งเกิดขึ้นเมื่อคุณหยุดมันด้วยตนเอง ถึงเวลาที่คุณตัดสินใจ หรือโดยอัตโนมัติทันทีหลังจากวันที่ตัดสินใจ (14 วันหลังจากสำหรับการทดลองในเกม ทันทีสำหรับการทดลองการจับคู่) คุณยังสามารถตรวจสอบรายละเอียดและผลลัพธ์ได้ |
| ต้องการการตัดสินใจ | การทดลองถึงวันตัดสินใจแล้ว ตอนนี้เป็นเวลาที่ดีในการตรวจสอบผลลัพธ์ |
| กำลังดำเนินการ | การทดลองกำลังดำเนินการอยู่ แต่ยังไม่ถึงวันตัดสินใจ |
| กำหนดเวลา | การทดลองกำหนดไว้ที่จะเริ่มในวันเวลาในอนาคต |
| ร่าง | การทดลองยังไม่ได้เริ่มหรือตั้งเวลา คุณสามารถทำให้มันเสร็จสมบูรณ์ |
เพิ่มการทดลองในโค้ดของคุณ
การนำการทดลองในเกมไปใช้คล้ายกับ การนำ config ไปใช้ ความแตกต่างหลักคือการใช้ 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() จะคืนค่าค่าคอนฟิกมาตรฐาน (หรือนิลหากไม่มีค่า)
การลงทะเบียนเป้าหมาย
หากคุณต้องการกำหนดเป้าหมายผู้เล่นบางกลุ่มที่ตรงตามเกณฑ์เฉพาะ คุณจะต้องเขียนโค้ดเพิ่มเติมเพื่อตรวจสอบเกณฑ์เหล่านั้นและหลังจากนั้นเรียกใช้ GetValue() เพื่อให้พวกเขาลงทะเบียนในการทดลอง พิจารณาตัวอย่างต่อไปนี้:
- คุณต้องการทดสอบรูปแบบการควบคุมใหม่ในเกมของคุณ
- คุณไม่ต้องการรวมผู้เล่นที่มีอยู่ (ซึ่งน่าจะคุ้นชินกับรูปแบบเดิม) เพียงแค่ผู้เล่นใหม่
โค้ดของคุณอาจมีลักษณะดังนี้:
local function getControlScheme(player, racesCompleted)
if racesCompleted > 0 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 retention เพิ่มขึ้น 17.4% โดยมีขอบล่างและขอบบน 8.02% และ 22.03% ซึ่งทำให้การเปลี่ยนแปลงนั้นมีผลทางสถิติ

เพื่อความสะดวก หน้าผลลัพธ์ให้คุณเปลี่ยนค่าคอนฟิกเริ่มต้นด้วยหนึ่งในรูปแบบจากการทดลอง คลิก ตัดสินใจ เพื่อเลือกหนึ่งในรูปแบบ หรือ เปลี่ยนผู้ชนะ หากคุณเปลี่ยนใจ หากคุณกลับไปที่หน้า Configs คุณควรเห็นค่าที่ใหม่
แนวทางปฏิบัติที่ดีที่สุดสำหรับการทดลอง
ใช้ผลกระทบที่ตรวจจับได้ขั้นต่ำ (MDE) เพื่อกำหนดว่าการทดลองของคุณมีความคุ้มค่าหรือไม่
Roblox คำนวณ MDE โดยใช้ตัวชี้วัดเป้าหมายและจำนวนผู้เล่นต่อรูปแบบ ซึ่งขึ้นอยู่กับจำนวนผู้ใช้งานรายวัน เปอร์เซ็นต์การออกแบบ ระยะเวลาการทดลอง และการแบ่งรูปแบบ หาก MDE สูงเกินไปสำหรับตัวชี้วัดเป้าหมายของคุณ (เช่น มากกว่า 100%) มันน้อยมากที่คุณสามารถเข้าถึงความมีนัยสำคัญทางสถิติได้ เกมที่มีผู้ใช้งานรายวันน้อยกว่า 1,000 คนอาจประสบปัญหาในการเก็บข้อมูลที่มีประโยชน์จากการทดลอง

เริ่มต้นด้วยสมมติฐาน แทนที่จะเปลี่ยนแปลงตัวแปรเพียงอย่างเดียวแล้วตรวจสอบผลลัพธ์ ให้เขียนคำชี้นำระหว่างสาเหตุและผลที่เกี่ยวกับสิ่งที่คุณเปลี่ยนแปลง สิ่งที่คุณคาดหวังว่าจะเกิดขึ้น และทำไม ขณะที่คุณทดลองมากขึ้น การมีชุดสมมติฐานที่เขียนไว้เพื่อประกอบกับผลลัพธ์ของคุณสามารถช่วยให้คุณได้ชัดเจนยิ่งขึ้นและกระตุ้นแนวคิดใหม่ๆ สำหรับการทดลอง
ให้การทดลองดำเนินการไปตามระยะเวลาของมัน ผลกระทบจากความแปลกใหม่ (ความสนใจชั่วคราวในสิ่งที่เปลี่ยนแปลงไม่ใช่เพราะมันดีกว่า แต่เพราะมันใหม่) อาจทำให้ผลลัพธ์ในช่วงแรกเกินจริง ส่งผลให้เกิดการเปลี่ยนแปลงในความมีนัยสำคัญทางสถิติ การจบการทดลองเร็วกว่าที่ควรจะเพิ่มโอกาสที่คุณจะดำเนินการอย่างรวดเร็วโดยอิงจากการกระโดดผิดปกติที่ข้อมูลมากขึ้นสามารถทำให้เรียบลงหรือแม้กระทั่งขัดแย้งกันได้
อย่าดำเนินการโดยปราศจากความมีนัยสำคัญทางสถิติ แม้ว่าการเปลี่ยนแปลงในพฤติกรรมของผู้เล่นอาจดูเหมือนจะมีขนาดใหญ่อย่างเห็นได้ชัด แต่ก็อาจจะไม่เป็นเช่นนั้นเสมอไป โดยทั่วไปเนื่องจากขนาดตัวอย่างเล็ก หากการเปลี่ยนแปลงไม่เป็นไปตามหลักสถิติตามที่กำหนด ให้มองข้ามมันไป
หลีกเลี่ยงการเปลี่ยนแปลงในระหว่างการทดลอง บั๊กสำคัญแน่นอนต้องแก้ไข แต่การเปลี่ยนแปลงในส่วนเนื้อหาอย่างการทดลองอาจมีผลกระทบต่อพฤติกรรมของผู้เล่นและทำให้ผลลัพธ์ของคุณเป็นโมฆะ แม้การเปลี่ยนแปลงดูเหมือนจะไม่เกี่ยวข้องกับการทดลองของคุณก็ตาม ดังนั้นให้ทำการทดลองพร้อมกันควรทำเฉพาะเมื่อคุณมั่นใจว่ามันจะไม่มีผลกระทบซึ่งกันและกัน
ใช้ช่วงความมั่นใจสำหรับการลงลึก ลงในตัวชี้วัดและตรวจสอบกรณีเกือบที่มีความมีนัยสำคัญทางสถิติ หากช่วงความมั่นใจแคบเกินไป ตัวชี้วัดอาจไม่มีทางที่จะนำไปสู่ความมีนัยสำคัญทางสถิติได้
หากตัวชี้วัดหนึ่งมีค่าขึ้นอย่างมีนัยสำคัญและตัวชี้วัดอีกอย่างมีค่าลดลงอย่างมีนัยสำคัญ คุณต้อง ตัดสินใจว่าสิ่งที่แลกเปลี่ยนอันนั้นมีค่าหรือไม่ โดยอาจถือร่วมกับการเคลื่อนไหวที่มีความมีนัยสำคัญทางสถิติอื่นๆ
การทดลองให้สัญญาณที่ชัดเจน แต่ ความมีนัยสำคัญทางสถิติต้องเกี่ยวข้องกับความน่าจะเป็นไม่ใช่ความแน่นอน—ซึ่งเป็นเหตุผลที่มีช่วงความมั่นใจ ความแปรผันของข้อมูล ขนาดตัวอย่าง และขนาดของการเปลี่ยนแปลงทั้งหมดมีผลต่อความน่าจะเป็นการตรวจสอบว่ารูปแบบมีผลต่อพฤติกรรมของผู้เล่นหรือไม่ การดำเนินการใดๆ ที่คุณทำอิงจากผลของการทดลองควรมีความสมดุลกับข้อมูลเชิงคุณภาพ เช่น ข้อมูลย้อนกลับจากผู้เล่นและวิสัยทัศน์โดยรวมของคุณสำหรับเกม
บันทึกข้อค้นพบและการตัดสินใจของคุณ แม้ว่าคุณจะไม่ได้ใช้เพื่อดำเนินการทดลองเพิ่มเติม การมีแหล่งข้อมูลและหลักฐานสามารถช่วยในการพัฒนาออกแบบเกมของคุณได้