#[derive(Debug, Clone, PartialEq, thiserror::Error)]
pub enum AnalyticsError {
#[error("invalid session")]
InvalidSession,
#[error("insufficient data: {0}")]
InsufficientData(String),
#[error("statistical error: {0}")]
StatisticalError(String),
#[error("config error: {0}")]
ConfigError(String),
#[error("experiment '{0}' has no variants")]
NoVariants(String),
#[error("experiment '{0}' has invalid (zero/negative) weights")]
InvalidWeights(String),
}