Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Ab Testing

Orchestrates ab testing through a multi-stage Conductor workflow.

Input: testId, testName, variantA, variantB, sampleSize | Timeout: 60s

Pipeline

abt_define_variants
    │
abt_assign_users
    │
abt_collect_data
    │
abt_analyze_results
    │
abt_decide_winner

Workers

AnalyzeResultsWorker (abt_analyze_results)

Reads pValue. Outputs pValue, uplift, confidence, statisticallySignificant, effectSize.

AssignUsersWorker (abt_assign_users)

Reads groupASize. Outputs groupASize, groupBSize, assignmentMethod.

CollectDataWorker (abt_collect_data)

Reads metricsA. Outputs metricsA, clicks, impressions, conversionRate.

DecideWinnerWorker (abt_decide_winner)

String rec = !"inconclusive".equals(winner) ? "Roll out variant " + winner : "No clear winner — extend test";

Reads recommendation, winner. Outputs recommendation.

DefineVariantsWorker (abt_define_variants)

Reads variantA, variants. Outputs variants, id, name, trafficSplit.

Tests

4 tests cover valid inputs, boundary values, null handling, and error paths.

mvn test

Run this example: see RUNNING.md for setup, build, and CLI instructions.