in src/server/selection/banditData.ts [129:151]
async function buildBanditDataForTest(test: BanditTestConfig): Promise<BanditData> {
if (test.variantNames.length === 0) {
// No variants have been added to the test yet
return {
testName: test.testName,
sortedVariants: [],
};
}
const samples = await getBanditSamplesForTest(test.testName, test.channel, test.sampleCount);
if (samples.length < MINIMUM_SAMPLES) {
return getDefaultWeighting(test);
}
const variantMeans = calculateMeanPerVariant(samples, test);
const variantsSortedByMeanDescending = variantMeans.sort((a, b) => b.mean - a.mean);
return {
testName: test.testName,
sortedVariants: variantsSortedByMeanDescending,
};
}