/** * A/B Testing Framework for Drift Detection Algorithms * * Enables safe comparison of algorithm variants to measure * which performs better on the golden dataset. */ import type { EvaluationResult, EvaluationOptions } from './evaluation/types.js'; import type { SemanticComparator } from './evaluation/types.js'; /** * An algorithm variant to test. */ export interface AlgorithmVariant { /** Human-readable name */ name: string; /** Version identifier */ version: string; /** Description of what this variant changes */ description?: string; /** The semantic comparator implementation */ comparator: SemanticComparator; } /** * Results of an A/B test comparing algorithm variants. */ export interface ABTestResult { /** Results for each variant */ variantResults: Map; /** The winning variant (highest F1 score) */ winner: AlgorithmVariant | null; /** Comparison between variants */ comparison: VariantComparison[]; /** Statistical significance analysis */ significance: SignificanceAnalysis; /** Summary recommendations */ recommendations: string[]; } /** * Comparison between two variants. */ export interface VariantComparison { variant1: string; variant2: string; accuracyDiff: number; precisionDiff: number; recallDiff: number; f1Diff: number; winner: string; } /** * Statistical significance analysis. */ export interface SignificanceAnalysis { /** Whether differences are statistically significant */ isSignificant: boolean; /** Minimum sample size needed for significance */ recommendedSampleSize: number; /** Actual sample size */ actualSampleSize: number; /** Confidence level (e.g., 0.95 for 95%) */ confidenceLevel: number; /** Notes on the analysis */ notes: string; } /** * Run an A/B test comparing multiple algorithm variants. */ export declare function runABTest(variants: AlgorithmVariant[], options?: EvaluationOptions): ABTestResult; /** * Format A/B test results for display. */ export declare function formatABTestReport(result: ABTestResult): string; /** * Create the default algorithm variant (current implementation). */ export declare function createDefaultVariant(): AlgorithmVariant; /** * Quick comparison of two algorithms. */ export declare function compareAlgorithms(baseline: SemanticComparator, candidate: SemanticComparator, options?: EvaluationOptions): ABTestResult; //# sourceMappingURL=ab-testing.d.ts.map