Implements comprehensive A/B testing infrastructure for Trivela campaigns addressing issue #624.
- Database Schema: Migration 010 adds tables for variants, assignments, and results
- Smart Assignment: Deterministic hash-based algorithm with traffic weight distribution
- Statistical Analysis: Z-test calculations with p-values and significance testing
- REST API: Complete CRUD operations under
/api/v1/campaigns/:id/variants - Authentication: API key required, integrated with rate limiting
- Testing: Comprehensive unit tests with good coverage
POST /campaigns/:id/variants- Create variantGET /campaigns/:id/variants- List variantsPUT /campaigns/:id/variants/:variantId- Update variantDELETE /campaigns/:id/variants/:variantId- Delete variantPOST /campaigns/:id/variants/assign- Assign user to variantGET /campaigns/:id/variants/assignment/:userId- Get assignmentPOST /campaigns/:id/variants/results- Track resultsGET /campaigns/:id/variants/results/:metric- Get analytics
Create control and test variants, assign users based on traffic weights, track conversion metrics, and analyze results with statistical significance testing.
- Deterministic user assignment ensures consistency
- Traffic weights control user distribution (e.g. 50% control, 50% variant)
- Statistical significance calculated using z-test for proportions
- Sticky assignments prevent user confusion across sessions
- Comprehensive validation with Zod schemas
New: 6 files including migration, repository, service, routes, tests, docs Modified: 3 files for schema validation and integration
Production-ready implementation with full documentation in IMPLEMENTATION_ISSUE_624.md
Closes #624