abby เป็นไลบรารีการทดสอบ PHP A/B ที่เรียบง่าย แต่ทรงพลัง
ไลบรารีช่วยให้คุณตั้งค่าการทดสอบ ( การทดลอง ) กลุ่มควบคุมและ กลุ่ม รูปแบบ ติดตาม ผู้ใช้ ของคุณ รับสถิติโดยละเอียด (เช่น ขนาดตัวอย่างที่แนะนำ และการกำหนดความเชื่อมั่นใน ผลลัพธ์ ของคุณ ) ได้อย่างง่ายดาย รวมถึงดูว่าการทดสอบมี นัยสำคัญทางสถิติ หรือไม่
ผู้ชนะ (และความมั่นใจ) ถูกกำหนดโดยใช้สถิติแบบเบย์ โดยคำนวณค่า p ของผลลัพธ์เพื่อตรวจสอบว่าสมมติฐานว่างสามารถปฏิเสธได้หรือไม่ ขนาดตัวอย่างขั้นต่ำที่ให้มายังได้รับการคำนวณโดยใช้การทดสอบแบบสองด้านเพื่อควบคุมอัตราการค้นพบที่ผิดพลาด
abby ไม่มีการพึ่งพาและไม่เชื่อเรื่องฐานข้อมูลโดยสมบูรณ์ ซึ่งหมายความว่าระบบจะทำงานร่วมกับข้อมูลที่คุณให้มา และเปิดเผยวิธีการต่างๆ มากมายเพื่อให้คุณจัดเก็บผลลัพธ์ไว้ในพื้นที่จัดเก็บข้อมูลที่คุณเลือกเอง
composer require andreekeberg/ abby
// Setup a new Token instance
$ token = new abby Token ();
// If we can't find an existing token cookie, generate one and set tracking cookie
if (! $ token -> getValue ()) {
$ token -> generate ()-> setCookie ();
}
// Setup a User instance
$ user = new abby User ();
// Associate the token with our user
$ user -> setToken ( $ token );
// List of experiments associated with a tracking token
$ data = [
[
' id ' => 1 ,
' group ' => 1 ,
' viewed ' => true ,
' converted ' => false
]
];
// Loop through users existing experiments and add them to our user instance
foreach ( $ data as $ item ) {
// Setup experiment instance based on an existing experiment
$ experiment = new abby Experiment ([
' id ' => $ item [ ' id ' ]
]);
// Setup a group instance based on stored data
$ group = new abby Group ([
' type ' => $ item [ ' group ' ]
]);
// Add the experiment (including their group, and whether they have viewed and converted)
$ user -> addExperiment ( $ experiment , $ group , $ item [ ' viewed ' ], $ item [ ' converted ' ]);
}
// Experiment data
$ data = [
' id ' => 2
];
// Make sure the experiment isn't already in the users list
if (! $ user -> hasExperiment ( $ data [ ' id ' ])) {
// Setup a new experiment instance
$ experiment = new abby Experiment ([
' id ' => $ data [ ' id ' ]
]);
// Assign the user to either control or variation in the experiment
$ group = $ user -> assignGroup ( $ experiment );
// Add the experiment (including assigned group) to our user instance
$ user -> addExperiment ( $ experiment , $ group );
}
// Getting updated user experiment list
$ user -> getExperiments ();
// Store updated experiment list for our user
// Experiment data
$ data = [
' id ' => 1
];
// Record a view for the experiment in question
$ user -> setViewed ( $ data [ ' id ' ]);
// If the user is part of the variation group
if ( $ user -> inVariation ( $ data [ ' id ' ])) {
// Apply a custom class to an element, load a script, etc.
}
// Experiment data
$ data = [
' id ' => 1
];
// On a custom goal, check if user has viewed the experiment and define a conversion
if ( $ user -> hasViewed ( $ data [ ' id ' ])) {
$ user -> setConverted ( $ data [ ' id ' ]);
}
// Getting updated user experiment data
$ user -> getExperiments ();
// Store updated data for our user
// Setup experiment instance with stored results
$ experiment = new abby Experiment ([
' groups ' => [
[
' name ' => ' Control ' ,
' views ' => 3000 ,
' conversions ' => 300
],
[
' name ' => ' Variation ' ,
' views ' => 3000 ,
' conversions ' => 364
]
]
]);
// Retrieve the results
$ result = $ experiment -> getResult ();
// Get the winner
$ winner = $ result -> getWinner ();
/**
* Get whether we can be confident of the result (even if we haven't
* reached the minimum number of views for each variant)
*/
$ confident = $ result -> isConfident ();
/**
* Get the minimum sample size (number of views) required for each group to
* reach statistical significance, given the control groups current conversion
* rate (based on the configured minimumDetectableEffect)
*/
$ minimum = $ result -> getMinimumSampleSize ();
/**
* Get whether the results are statistically significant
*/
$ significant = $ result -> isSignificant ();
/**
* Get complete experiment result
*/
$ summary = $ result -> getAll ();
อ่านแนวทางการบริจาค
โปรดดูบันทึกการเปลี่ยนแปลงเพื่อดูประวัติเต็มของโครงการ
abby ได้รับอนุญาตภายใต้ใบอนุญาต MIT