oximedia-analytics 0.1.2

Media engagement analytics — viewer behavior, A/B testing, retention curves, and engagement scoring for OxiMedia
Documentation
//! Error types for the analytics crate.

/// Errors produced by media engagement analytics operations.
#[derive(Debug, Clone, PartialEq, thiserror::Error)]
pub enum AnalyticsError {
    /// The viewer session is invalid or malformed.
    #[error("invalid session")]
    InvalidSession,

    /// Not enough data to perform the requested analysis.
    #[error("insufficient data: {0}")]
    InsufficientData(String),

    /// A statistical computation failed.
    #[error("statistical error: {0}")]
    StatisticalError(String),

    /// Configuration is invalid or missing.
    #[error("config error: {0}")]
    ConfigError(String),

    /// The experiment has no variants defined.
    #[error("experiment '{0}' has no variants")]
    NoVariants(String),

    /// All variant allocation weights are zero or negative.
    #[error("experiment '{0}' has invalid (zero/negative) weights")]
    InvalidWeights(String),
}